Automatic Activation, Hotplug and UDEV, Configuration
aiennr
Posts: 5
Joined: 07 Aug 2018, 11:46

Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by aiennr » 07 Aug 2018, 12:28

Hello.
I'm using a Huawei 3531 usb stick (12d1:1f01). When switched, it acts as a usb ethernet device (router, nat, dhcp, webpage, etc). I'd like to use it as a plain modem so I set HuaweiAltModeGlobal=1.
It gets recognized as a cdc-ncm in ModemManager/NetworkManager and a network interface is made but connection fails with "Couldn't find associated cdc-wdm port" because no /dev/cdc-* devices are created.
If I blacklist "cdc_ncm" and "cdc_mbim" modules then it can work using /dev/ttyUSB0 and ppp.
Is this a usb_modeswitch or a kernel issue? How can I debug it and what is the "proper" way to fix it?
I will paste some logs below.
Thank you.

aiennr
Posts: 5
Joined: 07 Aug 2018, 11:46

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by aiennr » 07 Aug 2018, 12:33

With DisableSwitching=1

lsmod

Code: Select all

Module                  Size  Used by
nls_utf8               16384  1
isofs                  45056  1
uas                    28672  0
usb_storage            69632  2 uas
dmesg

Code: Select all

[ 4736.564671] usb 3-6: new high-speed USB device number 10 using xhci_hcd
[ 4736.706377] usb 3-6: New USB device found, idVendor=12d1, idProduct=1f01, bcdDevice= 1.02
[ 4736.706385] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4736.706390] usb 3-6: Product: HUAWEI Mobile
[ 4736.706394] usb 3-6: Manufacturer: HUAWEI
[ 4736.706398] usb 3-6: SerialNumber: FFFFFFFFFFFFFFFF
[ 4736.761558] usb-storage 3-6:1.0: USB Mass Storage device detected
[ 4736.761663] scsi host5: usb-storage 3-6:1.0
[ 4736.761727] usbcore: registered new interface driver usb-storage
[ 4736.763824] usbcore: registered new interface driver uas
[ 4737.784502] scsi 5:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[ 4737.792952] scsi 5:0:0:1: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
[ 4737.794117] sr 5:0:0:0: Power-on or device reset occurred
[ 4737.795139] sr 5:0:0:0: [sr1] scsi-1 drive
[ 4737.795258] sr 5:0:0:0: Attached scsi CD-ROM sr1
[ 4737.796527] sd 5:0:0:1: Power-on or device reset occurred
[ 4737.797501] sd 5:0:0:1: [sdb] Attached SCSI removable disk
[ 4741.174473] sr 5:0:0:0: [sr1] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 4741.174477] sr 5:0:0:0: [sr1] tag#0 Sense Key : Medium Error [current] 
[ 4741.174480] sr 5:0:0:0: [sr1] tag#0 Add. Sense: Unrecovered read error
[ 4741.174483] sr 5:0:0:0: [sr1] tag#0 CDB: Read(10) 28 00 00 00 ff fc 00 00 02 00
[ 4741.174486] print_req_error: critical medium error, dev sr1, sector 262128
[ 4741.174550] attempt to access beyond end of device
[ 4741.174557] sr1: rw=0, want=262136, limit=262128
[ 4741.174562] Buffer I/O error on dev sr1, logical block 32766, async page read
[ 4741.450582] sr 5:0:0:0: [sr1] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 4741.450589] sr 5:0:0:0: [sr1] tag#0 Sense Key : Medium Error [current] 
[ 4741.450594] sr 5:0:0:0: [sr1] tag#0 Add. Sense: Unrecovered read error
[ 4741.450599] sr 5:0:0:0: [sr1] tag#0 CDB: Read(10) 28 00 00 00 fe 80 00 00 3c 00
[ 4741.450604] print_req_error: critical medium error, dev sr1, sector 260608
[ 4741.463578] sr 5:0:0:0: [sr1] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 4741.463586] sr 5:0:0:0: [sr1] tag#0 Sense Key : Medium Error [current] 
[ 4741.463591] sr 5:0:0:0: [sr1] tag#0 Add. Sense: Unrecovered read error
[ 4741.463598] sr 5:0:0:0: [sr1] tag#0 CDB: Read(10) 28 00 00 00 fe 80 00 00 02 00
[ 4741.463603] print_req_error: critical medium error, dev sr1, sector 260608
[ 4741.463612] Buffer I/O error on dev sr1, logical block 32576, async page read
[ 4741.471666] sr 5:0:0:0: [sr1] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 4741.471675] sr 5:0:0:0: [sr1] tag#0 Sense Key : Medium Error [current] 
[ 4741.471680] sr 5:0:0:0: [sr1] tag#0 Add. Sense: Unrecovered read error
[ 4741.471687] sr 5:0:0:0: [sr1] tag#0 CDB: Read(10) 28 00 00 00 ff fa 00 00 02 00
[ 4741.471693] print_req_error: critical medium error, dev sr1, sector 262120
[ 4741.471770] attempt to access beyond end of device
[ 4741.471778] sr1: rw=0, want=262128, limit=262120
[ 4741.471784] Buffer I/O error on dev sr1, logical block 32765, async page read
[ 4741.625857] ISO 9660 Extensions: Microsoft Joliet Level 1
[ 4741.628788] ISOFS: changing to secondary root
usb-devices

Code: Select all

T:  Bus=03 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#= 17 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1f01 Rev=01.02
S:  Manufacturer=HUAWEI
S:  Product=HUAWEI Mobile
S:  SerialNumber=FFFFFFFFFFFFFFFF
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
lsusb

Code: Select all


Bus 003 Device 010: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol       255 
  bMaxPacketSize0        64
  idVendor           0x12d1 Huawei Technologies Co., Ltd.
  idProduct          0x1f01 E353/E3131 (Mass storage mode)
  bcdDevice            1.02
  iManufacturer           1 HUAWEI
  iProduct                2 HUAWEI Mobile
  iSerial                 3 FFFFFFFFFFFFFFFF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0020
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              4 Mass Storage
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol       255 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

aiennr
Posts: 5
Joined: 07 Aug 2018, 11:46

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by aiennr » 07 Aug 2018, 12:40

After switching (default mode)

lsmod

Code: Select all

Module                  Size  Used by
cdc_ether              20480  0
usbnet                 49152  1 cdc_ether
mii                    16384  1 usbnet
uas                    28672  0
usb_storage            69632  1 uas
dmesg

Code: Select all

[ 4987.472242] usb 3-6: new high-speed USB device number 11 using xhci_hcd
[ 4987.613790] usb 3-6: New USB device found, idVendor=12d1, idProduct=1f01, bcdDevice= 1.02
[ 4987.613798] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4987.613802] usb 3-6: Product: HUAWEI Mobile
[ 4987.613807] usb 3-6: Manufacturer: HUAWEI
[ 4987.613812] usb 3-6: SerialNumber: FFFFFFFFFFFFFFFF
[ 4987.672280] usb-storage 3-6:1.0: USB Mass Storage device detected
[ 4987.672410] scsi host5: usb-storage 3-6:1.0
[ 4987.672511] usbcore: registered new interface driver usb-storage
[ 4987.675975] usbcore: registered new interface driver uas
[ 4988.288291] usb 3-6: USB disconnect, device number 11
[ 4988.645543] usb 3-6: new high-speed USB device number 12 using xhci_hcd
[ 4988.787086] usb 3-6: New USB device found, idVendor=12d1, idProduct=14dc, bcdDevice= 1.02
[ 4988.787092] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4988.787096] usb 3-6: Product: HUAWEI Mobile
[ 4988.787099] usb 3-6: Manufacturer: HUAWEI
[ 4988.874859] usb-storage 3-6:1.2: USB Mass Storage device detected
[ 4988.878667] scsi host5: usb-storage 3-6:1.2
[ 4988.931717] cdc_ether 3-6:1.0 eth0: register 'cdc_ether' at usb-0000:00:14.0-6, CDC Ethernet Device, **:**:**:**:**:**
[ 4988.931785] usbcore: registered new interface driver cdc_ether
[ 4988.938942] cdc_ether 3-6:1.0 enp0s20u6: renamed from eth0
[ 4988.976688] IPv6: ADDRCONF(NETDEV_UP): enp0s20u6: link is not ready
[ 4989.905291] scsi 5:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
[ 4990.022819] sd 5:0:0:0: [sdb] Attached SCSI removable disk
usb-devices

Code: Select all

T:  Bus=03 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#= 21 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=02(commc) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=14dc Rev=01.02
S:  Manufacturer=HUAWEI
S:  Product=HUAWEI Mobile
C:  #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
I:  If#=0x1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=06 Prot=00 Driver=cdc_ether
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
lsusb

Code: Select all


Bus 003 Device 012: ID 12d1:14dc Huawei Technologies Co., Ltd. E33372 LTE/UMTS/GSM HiLink Modem/Networkcard
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x12d1 Huawei Technologies Co., Ltd.
  idProduct          0x14dc E33372 LTE/UMTS/GSM HiLink Modem/Networkcard
  bcdDevice            1.02
  iManufacturer           1 HUAWEI
  iProduct                2 HUAWEI Mobile
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x005e
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0 
      iInterface              5 CDC Ethernet Control Model (ECM)
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      CDC Ethernet:
        iMacAddress                      7 ************
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      6 
      bInterfaceProtocol      0 
      iInterface              6 CDC Ethernet Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

aiennr
Posts: 5
Joined: 07 Aug 2018, 11:46

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by aiennr » 07 Aug 2018, 12:47

After switching (HuaweiAltModeGlobal=1)

lsmod

Code: Select all

Module                  Size  Used by
cdc_mbim               16384  0
cdc_wdm                24576  1 cdc_mbim
option                 53248  0
cdc_ncm                40960  1 cdc_mbim
usb_wwan               20480  1 option
usbnet                 49152  2 cdc_mbim,cdc_ncm
usbserial              53248  2 usb_wwan,option
mii                    16384  1 usbnet
uas                    28672  0
usb_storage            69632  1 uas
dmesg

Code: Select all

[ 5357.295700] usb 3-6: new high-speed USB device number 13 using xhci_hcd
[ 5357.437400] usb 3-6: New USB device found, idVendor=12d1, idProduct=1f01, bcdDevice= 1.02
[ 5357.437407] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5357.437412] usb 3-6: Product: HUAWEI Mobile
[ 5357.437417] usb 3-6: Manufacturer: HUAWEI
[ 5357.437421] usb 3-6: SerialNumber: FFFFFFFFFFFFFFFF
[ 5357.502322] usb-storage 3-6:1.0: USB Mass Storage device detected
[ 5357.502419] scsi host5: usb-storage 3-6:1.0
[ 5357.502518] usbcore: registered new interface driver usb-storage
[ 5357.504890] usbcore: registered new interface driver uas
[ 5358.115141] usb 3-6: USB disconnect, device number 13
[ 5363.582309] usb 3-6: new high-speed USB device number 14 using xhci_hcd
[ 5363.724058] usb 3-6: New USB device found, idVendor=12d1, idProduct=155e, bcdDevice= 1.02
[ 5363.724066] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 5363.724072] usb 3-6: Product: HUAWEI Mobile
[ 5363.724076] usb 3-6: Manufacturer: HUAWEI
[ 5363.795825] usbcore: registered new interface driver usbserial_generic
[ 5363.795838] usbserial: USB Serial support registered for generic
[ 5363.801467] usbcore: registered new interface driver option
[ 5363.801534] usbserial: USB Serial support registered for GSM modem (1-port)
[ 5363.830650] cdc_ncm 3-6:1.3: MAC-Address: **:**:**:**:**:**
[ 5363.831246] cdc_ncm 3-6:1.3 wwan0: register 'cdc_ncm' at usb-0000:00:14.0-6, Mobile Broadband Network Device, **:**:**:**:**:**
[ 5363.831322] usbcore: registered new interface driver cdc_ncm
[ 5363.831348] option 3-6:1.0: GSM modem (1-port) converter detected
[ 5363.831512] usb 3-6: GSM modem (1-port) converter now attached to ttyUSB0
[ 5363.831569] option 3-6:1.1: GSM modem (1-port) converter detected
[ 5363.831665] usb 3-6: GSM modem (1-port) converter now attached to ttyUSB1
[ 5363.831713] option 3-6:1.2: GSM modem (1-port) converter detected
[ 5363.831803] usb 3-6: GSM modem (1-port) converter now attached to ttyUSB2
[ 5363.836274] usbcore: registered new interface driver cdc_wdm
[ 5363.838443] usbcore: registered new interface driver cdc_mbim
[ 5363.843494] cdc_ncm 3-6:1.3 wwp0s20u6i3: renamed from wwan0
usb-devices

Code: Select all

T:  Bus=03 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#= 16 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=02(commc) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=155e Rev=01.02
S:  Manufacturer=HUAWEI
S:  Product=HUAWEI Mobile
C:  #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#=0x3 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0d Prot=00 Driver=cdc_ncm
I:  If#=0x4 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_ncm
lsusb

Code: Select all


Bus 003 Device 014: ID 12d1:155e Huawei Technologies Co., Ltd. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x12d1 Huawei Technologies Co., Ltd.
  idProduct          0x155e 
  bcdDevice            1.02
  iManufacturer           1 HUAWEI
  iProduct                2 HUAWEI Mobile
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x00bd
    bNumInterfaces          5
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass      13 
      bFunctionProtocol       0 
      iFunction              11 HUAWEI Mobile
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass     13 
      bInterfaceProtocol      0 
      iInterface              8 CDC Network Control Model (NCM)
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        3
        bSlaveInterface         4 
      CDC Ethernet:
        iMacAddress                     10 ************
        bmEthernetStatistics    0x0000000f
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0003
        bNumberPowerFilters              1
      CDC NCM:
        bcdNcmVersion        1.00
        bmNetworkCapabilities 0x1f
          crc mode
          max datagram size
          encapsulated commands
          net address
          packet filter
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 
      iInterface              9 CDC Network Data
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 
      iInterface              9 CDC Network Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by LOM » 07 Aug 2018, 14:06

aiennr wrote: It gets recognized as a cdc-ncm in ModemManager/NetworkManager and a network interface is made but connection fails with "Couldn't find associated cdc-wdm port" because no /dev/cdc-* devices are created.
The cdc_ncm interface in 12d1:155e is obviously special, there is no endpoint for cdc_wdm to bind to. There are only 2 endpoints available but there should be 3.

aiennr
Posts: 5
Joined: 07 Aug 2018, 11:46

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by aiennr » 07 Aug 2018, 16:59

So does this mean the device is only really usable with ppp? Is it a bug in the firmware, kernel, udev or anything else? Is there a non hacky way to fix this instead of blacklisting modules?

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by LOM » 07 Aug 2018, 18:27

HuaweiAltMode was created for Android devices where Huawei uses their own driver and not the linux std cdc_ncm driver, in linux we use this mode to get serial interfaces on a device that does not have any when using the normal linux switching method.
The net interface which you also get is not useful under linux, that it can't be used is not a bug since it was not intended for linux.

plm
Posts: 5
Joined: 20 Jan 2020, 09:53

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by plm » 20 Jan 2020, 10:04

Hi. I am facing the same problem on a Huawei E8372h-517. But I cannot blacklist the mbim kernel modules as I would be using lots of other modems and for those I actually want to use them in mbim mode. So is there a way to make it switch back from 155e to 14db once it has been switched? Or better yet, how can I make it not switch to 155e and force it to always switch to 14db for my particular modem?

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by LOM » 20 Jan 2020, 13:15

plm wrote: 20 Jan 2020, 10:04 Hi. I am facing the same problem on a Huawei E8372h-517. But I cannot blacklist the mbim kernel modules as I would be using lots of other modems and for those I actually want to use them in mbim mode.
Why do you think of blacklisting the mbim driver? Does it come up as a mbim device by default?
plm wrote: 20 Jan 2020, 10:04 So is there a way to make it switch back from 155e to 14db once it has been switched?
No, you can't switch it twice.
plm wrote: 20 Jan 2020, 10:04 Or better yet, how can I make it not switch to 155e and force it to always switch to 14db for my particular modem?
Easy, it only shows up as 12d1:155e if you set HuaweiAltModeGlobal=1 in usb_modeswitch.conf so don't do that.

plm
Posts: 5
Joined: 20 Jan 2020, 09:53

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by plm » 20 Jan 2020, 14:50

I am thinking to blacklist the mbim modules as per the post initiator opinion to have the modem working at least in PPP mode because with mbim I get:

"Couldn't find associated cdc-wdm port"

because no /dev/cdc-* device gets created.

I do want to have HuaweiAltModeGlobal as on the same OS there will be other Huawei modems running and I want those to work in mbim mode. It's only when this particular Huawei E8372h-517 (initially detected as 12d1:1f01 like lots of other Huawei modems are first advertised) gets used that I do not want it switched to mbim mode.

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by LOM » 20 Jan 2020, 16:25

plm wrote: 20 Jan 2020, 14:50 I am thinking to blacklist the mbim modules as per the post initiator opinion to have the modem working at least in PPP mode because with mbim I get:

"Couldn't find associated cdc-wdm port"

because no /dev/cdc-* device gets created.

I do want to have HuaweiAltModeGlobal as on the same OS there will be other Huawei modems running and I want those to work in mbim mode. It's only when this particular Huawei E8372h-517 (initially detected as 12d1:1f01 like lots of other Huawei modems are first advertised) gets used that I do not want it switched to mbim mode.
It is not like you have a lot of choices and can select whatever mode you want, this is not a modem but a mini-router and the usb tethering gives you a net device and not a ppp dial-up device. It is usually cdc_ether and not cdc_mbim but you can easily confirm that in your system log (dmesg). Then show me the output from lsusb - vd 12d1:1f01 ie before switching, you can temporarily disable switching in usb_modeswitch.conf

plm
Posts: 5
Joined: 20 Jan 2020, 09:53

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by plm » 20 Jan 2020, 17:29

lsusb -vd 12d1:1f01

Code: Select all

Bus 001 Device 006: ID 12d1:1f01  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x12d1 
  idProduct          0x1f01 
  bcdDevice            1.02
  iManufacturer           1 HUAWEI_MOBILE
  iProduct                2 HUAWEI_MOBILE
  iSerial                 3 0123456789ABCDEF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0020
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 
      bInterfaceSubClass      6 
      bInterfaceProtocol     80 
      iInterface              4 Mass Storage
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0016
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      HIRD Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000f
      Device can operate at Low Speed (1Mbps)
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat           1 micro seconds
    bU2DevExitLat         500 micro seconds
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by LOM » 20 Jan 2020, 23:41

plm wrote: 20 Jan 2020, 14:50 I do want to have HuaweiAltModeGlobal as on the same OS there will be other Huawei modems running and I want those to work in mbim mode.
HuaweiAltMode can not bring you to mbim mode, not for this device or any other Huawei modem you have.
If there is an mbim configuration then it must be visible in initial mode without any switching and your verbose lsusb of 12d1:1f01 shows that there is no mbim config for this device.
plm wrote: 20 Jan 2020, 14:50 It's only when this particular Huawei E8372h-517 (initially detected as 12d1:1f01 like lots of other Huawei modems are first advertised) gets used that I do not want it switched to mbim mode.
As mentioned above, it doesn't get switched into mbim mode.
If you don't want it switched into alternate mode (Android mode) then don't enable HuaweiAltModeGlobal, the global setting should only be used when you want all modems to behave in the same way.

Instead use HuaweiAltMode in the individual device config files for your other Huawei modems.

plm
Posts: 5
Joined: 20 Jan 2020, 09:53

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by plm » 21 Jan 2020, 00:23

With
HuaweiAltModeGlobal=1
set in etc/usb_modeswitch.conf I get:

lsusb -vd 12d1:155e

Code: Select all

Bus 001 Device 007: ID 12d1:155e  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            2 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x12d1 
  idProduct          0x155e 
  bcdDevice            1.02
  iManufacturer           1 HUAWEI_MOBILE
  iProduct                2 HUAWEI_MOBILE
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x00bd
    bNumInterfaces          5
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 
      bInterfaceSubClass    255 
      bInterfaceProtocol    255 
      iInterface              0 
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 
      bInterfaceSubClass    255 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 
      bInterfaceSubClass    255 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         3
      bInterfaceCount         2
      bFunctionClass          2 
      bFunctionSubClass      13 
      bFunctionProtocol       0 
      iFunction              11 CDC NCM
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 
      bInterfaceSubClass     13 
      bInterfaceProtocol      0 
      iInterface              8 NCM Network Control Model
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        3
        bSlaveInterface         4 
      CDC Ethernet:
        iMacAddress                     10 001e101f0000
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      CDC NCM:
        bcdNcmVersion        1.00
        bmNetworkCapabilities 0x1f
          crc mode
          max datagram size
          encapsulated commands
          net address
          packet filter
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               5
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 
      iInterface              9 CDC Network Data
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 
      iInterface              9 CDC Network Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0016
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      HIRD Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000f
      Device can operate at Low Speed (1Mbps)
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat           1 micro seconds
    bU2DevExitLat         500 micro seconds
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered
and dmesg | grep -i cdc:

Code: Select all

 
[   18.389312] cdc_ncm 1-1.2:1.3: MAC-Address: 00:1e:10:1f:00:00
[   18.413686] cdc_ncm 1-1.2:1.3: setting rx_max = 16384
[   18.472452] cdc_ncm 1-1.2:1.3 wwan0: register 'cdc_ncm' at usb-3f980000.usb-1.2, Mobile Broadband Network Device, 00:1e:10:1f:00:00
[   18.517093] usbcore: registered new interface driver cdc_ncm
[   18.546378] usbcore: registered new interface driver cdc_wdm
[   18.658748] usbcore: registered new interface driver cdc_mbim
Is there anything I am missing here? It looks from these there is a mbim configuration?

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei E3531 HuaweiAltModeGlobal=1 /dev/cdc-* not created

Post by LOM » 21 Jan 2020, 03:26

plm wrote: 21 Jan 2020, 00:23 dmesg | grep -i cdc:

Code: Select all

 
[   18.389312] cdc_ncm 1-1.2:1.3: MAC-Address: 00:1e:10:1f:00:00
[   18.413686] cdc_ncm 1-1.2:1.3: setting rx_max = 16384
[   18.472452] cdc_ncm 1-1.2:1.3 wwan0: register 'cdc_ncm' at usb-3f980000.usb-1.2, Mobile Broadband Network Device, 00:1e:10:1f:00:00
[   18.517093] usbcore: registered new interface driver cdc_ncm
[   18.546378] usbcore: registered new interface driver cdc_wdm
[   18.658748] usbcore: registered new interface driver cdc_mbim
Is there anything I am missing here? It looks from these there is a mbim configuration?
You see 1 driver binding to a usb interface, you see 2 other drivers loading without binding to anything.
Your own verbose lsusb listing of 12d1:155e and other posters usb-devices listing in this thread says that these interfaces have cdc_ncm attributes and I have previously in this thread commented on them and what is wrong with them, why they are not usable.

Post Reply