I am using a ZTE LTE modem, at it has been good so far, with Network Manager discovering a connection and allowing to connect with a menu. Since updating to 5.4 this "almost" doesn't work. I am writing "almost" because sometimes, for unknown reason, the modem is correctly recognized. What makes the difference, I don't understand. In case of an "incorrectly regognized modem", dmesg looks like this: [Dec 9 10:08] usb 2-1.4: new high-speed USB device number 24 using ehci-pci [ +0.080775] usb 2-1.4: New USB device found, idVendor=19d2, idProduct=1421, bcdDevice=50.02 [ +0.000003] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000003] usb 2-1.4: Product: ZTE Technologies MSM [ +0.000002] usb 2-1.4: Manufacturer: ZTE,Incorporated [ +0.000001] usb 2-1.4: SerialNumber: MF860EZTED000000CP261718YDT0RQ5OM9E1KX8_8_6D75&&&&&&&&&&&&&&&&&0 [ +0.000819] usb-storage 2-1.4:1.0: USB Mass Storage device detected [ +0.000232] scsi host6: usb-storage 2-1.4:1.0 [ +5.634188] usb 2-1.4: USB disconnect, device number 24 [ +0.428194] usb 2-1.4: new high-speed USB device number 25 using ehci-pci [ +0.102091] usb 2-1.4: New USB device found, idVendor=19d2, idProduct=1282, bcdDevice=50.02 [ +0.000004] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000002] usb 2-1.4: Product: ZTE Technologies MSM [ +0.000002] usb 2-1.4: Manufacturer: ZTE,Incorporated [ +0.000001] usb 2-1.4: SerialNumber: MF860EZTED000000CP261718YDT0RQ5OM9E1KX8_8_6D75&&&&&&&&&&&&&&&&&0 [ +0.023738] option 2-1.4:1.0: GSM modem (1-port) converter detected [ +0.000112] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB0 [ +0.000231] option 2-1.4:1.3: GSM modem (1-port) converter detected [ +0.000063] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB1 [ +0.000321] usb-storage 2-1.4:1.4: USB Mass Storage device detected [ +0.000119] scsi host6: usb-storage 2-1.4:1.4 [ +1.014194] scsi 6:0:0:0: CD-ROM CWID USB SCSI CD-ROM 2.31 PQ: 0 ANSI: 2 [ +0.003464] sr 6:0:0:0: [sr0] scsi-1 drive [ +0.015140] sr 6:0:0:0: Attached scsi CD-ROM sr0 Note the two ttyUSBn In case of a "correctly recognized" modem, which sometimes happens with a kernel 5.4.2 (but seldom), dmesg looks like this: [ +0.040008] usb 2-1.4: new high-speed USB device number 3 using ehci-pci [ +0.045718] usb 1-1.4: config 1 interface 1 altsetting 0 endpoint 0x83 has wMaxPacketSize 0, skipping [ +0.004096] usb 1-1.4: config 1 interface 1 altsetting 0 endpoint 0x3 has wMaxPacketSize 0, skipping [ +0.005911] usb 1-1.4: New USB device found, idVendor=413c, idProduct=8187, bcdDevice= 5.17 [ +0.000856] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000811] usb 1-1.4: Product: DW375 Bluetooth Module [ +0.000818] usb 1-1.4: Manufacturer: Dell Computer Corp [ +0.000825] usb 1-1.4: SerialNumber: D0DF9A3F37CA [ +0.031316] usb 2-1.4: New USB device found, idVendor=19d2, idProduct=1421, bcdDevice=50.02 [ +0.002266] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.002272] usb 2-1.4: Product: ZTE Technologies MSM [ +0.002147] usb 2-1.4: Manufacturer: ZTE,Incorporated [ +0.002111] usb 2-1.4: SerialNumber: MF860EZTED000000CP261718YDT0RQ5OM9E1KX8_8_6D75&&&&&&&&&&&&&&&&&0 [ +0.025812] usb 1-1.5: new high-speed USB device number 4 using ehci-pci [ +0.044029] usb 2-1.8: new full-speed USB device number 4 using ehci-pci [ +0.044369] usb 1-1.5: New USB device found, idVendor=05ca, idProduct=181c, bcdDevice=12.28 [ +0.002114] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ +0.002010] usb 1-1.5: Product: Laptop_Integrated_Webcam_FHD [ +0.002107] usb 1-1.5: Manufacturer: CN0CJ3P27248716K0BEFA01 [ +0.055469] usb 2-1.8: New USB device found, idVendor=0a5c, idProduct=5800, bcdDevice= 1.01 [ +0.002238] usb 2-1.8: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.002025] usb 2-1.8: Product: 5880 [ +0.001982] usb 2-1.8: Manufacturer: Broadcom Corp [ +0.001967] usb 2-1.8: SerialNumber: 0123456789ABCD [ +0.002393] usb 2-1.8: config 0 descriptor?? [ +0.047939] Bluetooth: Core ver 2.22 [ +0.001183] NET: Registered protocol family 31 [ +0.001189] Bluetooth: HCI device and connection manager initialized [ +0.001139] mc: Linux media interface: v0.10 [ +0.000559] Bluetooth: HCI socket layer initialized [ +0.001565] Bluetooth: L2CAP socket layer initialized [ +0.001328] Bluetooth: SCO socket layer initialized [ +0.007940] videodev: Linux video capture interface: v2.00 [ +0.000054] usb-storage 2-1.4:1.0: USB Mass Storage device detected [ +0.002385] scsi host6: usb-storage 2-1.4:1.0 [ +0.001085] usbcore: registered new interface driver usb-storage [ +0.002791] usbcore: registered new interface driver btusb [ +0.001154] usbcore: registered new interface driver uas [ +0.012525] uvcvideo: Found UVC 1.00 device Laptop_Integrated_Webcam_FHD (05ca:181c) [ +0.006918] uvcvideo 1-1.5:1.0: Entity type for entity Extension 4 was not initialized! [ +0.000553] uvcvideo 1-1.5:1.0: Entity type for entity Extension 3 was not initialized! [ +0.000529] uvcvideo 1-1.5:1.0: Entity type for entity Processing 2 was not initialized! [ +0.000531] uvcvideo 1-1.5:1.0: Entity type for entity Camera 1 was not initialized! [ +0.000943] input: Laptop_Integrated_Webcam_FHD: I as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0/input/input17 [ +0.001769] usbcore: registered new interface driver uvcvideo [ +0.000996] USB Video Class driver (1.1.1) [ +0.314575] input: AlpsPS/2 ALPS DualPoint Stick as /devices/platform/i8042/serio1/input/input18 [ +0.015415] input: AlpsPS/2 ALPS DualPoint TouchPad as /devices/platform/i8042/serio1/input/input8 [ +0.172160] random: crng init done [ +0.000574] random: 7 urandom warning(s) missed due to ratelimiting [ +0.539974] scsi 6:0:0:0: CD-ROM CWID USB SCSI CD-ROM 2.31 PQ: 0 ANSI: 2 [ +0.052056] sr 6:0:0:0: Power-on or device reset occurred [ +0.079505] sr 6:0:0:0: [sr0] scsi-1 drive [ +0.001698] cdrom: Uniform CD-ROM driver Revision: 3.20 [ +0.015925] sr 6:0:0:0: Attached scsi CD-ROM sr0 [ +2.685005] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null) [ +0.005800] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. [ +2.386508] usb 2-1.4: USB disconnect, device number 3 [ +0.277065] usb 2-1.4: new high-speed USB device number 5 using ehci-pci [ +0.112852] usb 2-1.4: New USB device found, idVendor=19d2, idProduct=0017, bcdDevice=50.02 [ +0.001850] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.001792] usb 2-1.4: Product: ZTE Technologies MSM [ +0.001219] usb 2-1.4: Manufacturer: ZTE,Incorporated [ +0.001153] usb 2-1.4: SerialNumber: MF860EZTED000000CP261718YDT0RQ5OM9E1KX8_8_6D75&&&&&&&&&&&&&&&&&0 [ +0.028146] usb-storage 2-1.4:1.4: USB Mass Storage device detected [ +0.002444] scsi host6: usb-storage 2-1.4:1.4 [ +0.067556] usbcore: registered new interface driver usbserial_generic [ +0.000900] usbserial: USB Serial support registered for generic [ +0.001407] usbcore: registered new interface driver cdc_wdm [ +0.001350] usbcore: registered new interface driver option [ +0.000685] usbserial: USB Serial support registered for GSM modem (1-port) [ +0.000599] qmi_wwan 2-1.4:1.3: cdc-wdm0: USB WDM device [ +0.012520] qmi_wwan 2-1.4:1.3 wwan0: register 'qmi_wwan' at usb-0000:00:1d.0-1.4, WWAN/QMI device, b6:cb:c1:26:49:d6 [ +0.002047] usbcore: registered new interface driver qmi_wwan [ +0.000069] option 2-1.4:1.0: GSM modem (1-port) converter detected [ +0.003594] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB0 [ +0.946362] scsi 6:0:0:0: CD-ROM CWID USB SCSI CD-ROM 2.31 PQ: 0 ANSI: 2 [ +0.004561] sr 6:0:0:0: [sr0] scsi-1 drive [ +0.014453] sr 6:0:0:0: Attached scsi CD-ROM sr0 Please excuse the interspersion of dmesg with other devices. This time the "correct initialization" happened during boot time. Note the cdc_wdm driver appearing in the log, which doesn't happen in case of an incorrect initialization. Not every reboot with a plugged-in modem ends up in a correct initialization. Perhaps there is some race-condition? Bugzilla-recommended form: Steps to Reproduce: Insert the modem and wait for the new connection to appear in the Network Manager. Actual Results: Nothing happens, some confusing information in dmesg. Expected Results: A connection appearing and working. Build Date & Hardware: Dell E6420, Slackware64-current, kernel 5.4.2, NetworkManager 1.20.8, ZTE Modem, root@delllaptop:~# lsusb Bus 002 Device 003: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor Bus 002 Device 025: ID 19d2:1282 ZTE WCDMA Technologies MSM Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 006: ID 05ca:181c Ricoh Co., Ltd Bus 001 Device 016: ID 413c:8187 Dell Computer Corp. DW375 Bluetooth Module Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub root@delllaptop:~# lsusb -D /dev/bus/usb/002/025 Device: ID 19d2:1282 ZTE WCDMA Technologies MSM Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x19d2 ZTE WCDMA Technologies MSM idProduct 0x1282 bcdDevice 50.02 iManufacturer 1 ZTE,Incorporated iProduct 2 ZTE Technologies MSM iSerial 3 MF860EZTED000000CP261718YDT0RQ5OM9E1KX8_8_6D75&&&&&&&&&&&&&&&&&0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x00b7 bNumInterfaces 5 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 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 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 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** 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 2 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 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 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 3 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x87 EP 7 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 9 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 0x04 EP 4 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 4 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 0x88 EP 8 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 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: 0x0000 (Bus Powered) Additional Information: I never needed usb_modeswitch with this modem.
After trying for some more time, I still have this bug. The modem is detected correctly with probability of about 50% if inserted before booting the system. It is always detected incorrectly if inserted into a running system. All debugging suggestions welcome.
After consulting the author of usb_modeswitch, he suggested that either option.ko, or qmi_wwan.ko can to be updated with the support for this modem if working as a usb_id 19d2:1282
The device in question is a Softbank 435ZT branded ZTE modem which if not manually mode switched will automatically switch to 19d2:0017 which is a ZTE debug & firmware download id. The user has in the past relied on this automatic mode switch but the device is now included for switching in the latest usb_modeswitch where it gets switched to 19d2:1282, an id which has been confirmed to be correct by checking the Windows drivers from Softbank. 19d2:1282 was included in linux option driver in commit a71ee85e1d74e862d68cc9b2f2ab6a806d2550c9 from 2010-07-05, a commit which adds a whole bunch of id's which ZTE anticipated that they would use in the future. Unfortunately most (all?) of them are incorrect and many of them has been corrected over the years - none of them initially excluded the net interface and all of them have the class/subclass/proto attributes of ff/ff/ff which is wrong for many of them. 19d2:1282 has the following interface layout according to Win drivers and attributes according to users verbose lsusb listing: MI_00 ZTE Diagnostics Device (ff/ff/ff) MI_01 ZTE UI AT Interface (ff/00/00) MI_02 ZTE Proprietary USB Modem (ff/00/00) MI_03 ZTE Wireless Ethernet Adapter (ff/ff/ff , qmi_wwan) MI_04 USB Mass Storage Device (08/06/50) The option driver needs to be corrected so it only supports interface 1 and 2. The net interface should then be added into the qmi_wwan driver.
Softbank 403ZT it is, not 435ZT.
I have tested the following patch on Linux kernel version 4.14.180 (OpenWRT 19.07.3 on ARMv7 architecture) diff --git a/qmi_wwan.c b/qmi_wwan.c --- a/qmi_wwan.c +++ b/qmi_wwan.c @@ -1279,6 +1279,7 @@ static const struct usb_device_id products[] = { {QMI_FIXED_INTF(0x19d2, 0x1255, 4)}, {QMI_FIXED_INTF(0x19d2, 0x1256, 4)}, {QMI_FIXED_INTF(0x19d2, 0x1270, 5)}, /* ZTE MF667 */ + {QMI_FIXED_INTF(0x19d2, 0x1282, 3)}, /* ZTE MF833V */ {QMI_FIXED_INTF(0x19d2, 0x1401, 2)}, {QMI_FIXED_INTF(0x19d2, 0x1402, 2)}, /* ZTE MF60 */ {QMI_FIXED_INTF(0x19d2, 0x1424, 2)}, -- 2.17.1 It worked flawless and now I'm able to use the cdc-wdm interface with ease in OpenWRT qmi wrapper and uqmi binary Logs from the router: dmesg: [ 20.071280] usb 2-1: new high-speed USB device number 3 using xhci-hcd [ 20.265565] option 2-1:1.0: GSM modem (1-port) converter detected [ 20.271803] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0 [ 20.278873] option 2-1:1.1: GSM modem (1-port) converter detected [ 20.285147] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 20.292260] option 2-1:1.2: GSM modem (1-port) converter detected [ 20.293785] ieee80211 phy1: change: 0x100 [ 20.298518] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2 [ 20.309955] qmi_wwan 2-1:1.3: cdc-wdm0: USB WDM device lsusb: Bus 002 Device 003: ID 19d2:1282 ZTE WCDMA Technologies MSM uqmi -d /dev/cdc-wdm0 --get-capabilities { "max_tx_channel_rate": 50000000, "max_rx_channel_rate": 100000000, "data_service": "non_simultaneous_cs_ps", "sim": "supported", "networks": [ "gsm", "umts", "lte" ] }