Per the request of a commenter on my Netger AirCard 340u (aka AT&T Beam) on Linux post, below are some debugging outputs from both an older AirCard 340u with the 01.05.11.52 firmware (plus v4 linux patch), and a newer AirCard 340u with more modern firmware.
dmesg Output
Output of dmseg
after plugging in AirCard 340u with 01.05.11.52 firmware:
[ 4117.265570] usb 3-4.3: New USB device found, idVendor=1199, idProduct=9051
[ 4117.265573] usb 3-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4117.265574] usb 3-4.3: Product: AirCard 340U
[ 4117.265576] usb 3-4.3: Manufacturer: Sierra Wireless, Incorporated
[ 4117.265577] usb 3-4.3: SerialNumber: ***************
[ 4117.267254] qcserial 3-4.3:1.0: Qualcomm USB modem converter detected
[ 4117.267406] usb 3-4.3: Qualcomm USB modem converter now attached to ttyUSB0
[ 4117.268105] qcserial 3-4.3:1.2: Qualcomm USB modem converter detected
[ 4117.268199] usb 3-4.3: Qualcomm USB modem converter now attached to ttyUSB1
[ 4117.269022] qcserial 3-4.3:1.3: Qualcomm USB modem converter detected
[ 4117.269158] usb 3-4.3: Qualcomm USB modem converter now attached to ttyUSB2
[ 4117.269952] qmi_wwan 3-4.3:1.8: cdc-wdm0: USB WDM device
[ 4117.270179] qmi_wwan 3-4.3:1.8 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-4.3, WWAN/QMI device, 0e:c8:34:c7:76:16
[ 4117.818441] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0
[ 4117.818454] qcserial 3-4.3:1.0: device disconnected
Now, with an AirCard 340u with more modern firmware:
[ 4830.090010] usb 3-4.3: new high-speed USB device number 7 using xhci_hcd
[ 4830.179758] usb 3-4.3: config 1 has an invalid interface number: 9 but max is 0
[ 4830.179761] usb 3-4.3: config 1 has no interface number 0
[ 4830.180254] usb 3-4.3: New USB device found, idVendor=1199, idProduct=0fff
[ 4830.180256] usb 3-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4830.180258] usb 3-4.3: Product: AirCard 340U
[ 4830.180259] usb 3-4.3: Manufacturer: Sierra Wireless, Incorporated
[ 4830.180260] usb 3-4.3: SerialNumber: ***************
[ 4830.181747] usb-storage 3-4.3:1.9: USB Mass Storage device detected
[ 4830.182683] usb-storage: probe of 3-4.3:1.9 failed with error -5
[ 4833.524362] usb 3-4.3: USB disconnect, device number 7
[ 4833.817529] usb 3-4.3: new high-speed USB device number 8 using xhci_hcd
[ 4833.907107] usb 3-4.3: config 1 has an invalid interface number: 8 but max is 4
[ 4833.907110] usb 3-4.3: config 1 has an invalid interface number: 9 but max is 4
[ 4833.907111] usb 3-4.3: config 1 has no interface number 1
[ 4833.907129] usb 3-4.3: config 1 has no interface number 4
[ 4833.907629] usb 3-4.3: Manufacturer: Sierra Wireless, Incorporated
[ 4833.907631] usb 3-4.3: SerialNumber: ***************
[ 4833.909338] qcserial 3-4.3:1.2: Qualcomm USB modem converter detected
[ 4833.909444] usb 3-4.3: Qualcomm USB modem converter now attached to ttyUSB0
[ 4833.910091] qcserial 3-4.3:1.3: Qualcomm USB modem converter detected
[ 4833.910203] usb 3-4.3: Qualcomm USB modem converter now attached to ttyUSB1
[ 4833.911014] qmi_wwan 3-4.3:1.8: cdc-wdm0: USB WDM device
[ 4833.911239] qmi_wwan 3-4.3:1.8 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-4.3, WWAN/QMI device, 0e:c8:34:c7:76:16
[ 4833.911476] usb-storage 3-4.3:1.9: USB Mass Storage device detected
[ 4833.911641] scsi host6: usb-storage 3-4.3:1.9
[ 4833.912331] qcserial 3-4.3:1.0: Qualcomm USB modem converter detected
[ 4833.912423] usb 3-4.3: Qualcomm USB modem converter now attached to ttyUSB2
[ 4834.451257] qcserial ttyUSB2: Qualcomm USB modem converter now disconnected from ttyUSB2
[ 4834.451267] qcserial 3-4.3:1.0: device disconnected
[ 4834.925252] scsi 6:0:0:0: Direct-Access Aircard Disk Drive 1.00 PQ: 0 ANSI: 2
[ 4834.926772] sd 6:0:0:0: [sdc] Attached SCSI removable disk
lsusb -v Output
Output of lsusb -v
Aircard 340u with the 01.05.11.52 firmware after v4 Linux patch:
Bus 003 Device 006: ID 1199:9051 Sierra Wireless, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1199 Sierra Wireless, Inc.
idProduct 0x9051
bcdDevice 0.06
iManufacturer 1 Sierra Wireless, Incorporated
iProduct 2 AirCard 340U
iSerial 3 ***************
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 160
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
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 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 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000c 1x 12 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 3
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 0x000c 1x 12 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 8
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 0x000a 1x 10 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
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
Again, the same command but with an AirCard 340u with more modern firmware:
Bus 003 Device 008: ID 1199:9051 Sierra Wireless, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1199 Sierra Wireless, Inc.
idProduct 0x9051
bcdDevice 0.06
iManufacturer 1 Sierra Wireless, Incorporated
iProduct 2 AirCard 340U
iSerial 3 ***************
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 183
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
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 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000c 1x 12 bytes
bInterval 9
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 3
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 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000c 1x 12 bytes
bInterval 9
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 8
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 0x86 EP 6 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 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 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 9
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 20 Mass Storage
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 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 1
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 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 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
-John Havlik
[end of transmission, stay tuned]
Ok, so the v4 patch ended up removing the MBIM descriptors in the older firmware.
For reference, if anyone stuck with the old version, if the modem ends up replying “Failure” to the MBIM Open command, it looks like just a usb reset may trigger a powercycle that recovers the MBIM operation properly.
Anyway, using QMI right away seems the best option if firmware upgrade isn’t a problem; which shouldn’t be now that the “qmi-firmware-update” utility is available ;) (although I haven’t tested it personally to apply the v4 patch, which is just about extracting the .cwe from the exe and running it through qmi-firmware-update).
Tested the Linux firmware update on the AC340U with all images I had around and they all worked as expected (running in a OpenWRT based setup, so that’s why –reset and –update-qdl were used, instead of the more powerful –update):
=========================
SWI9X15C_01.05.11.52
=========================
# qmi-firmware-update -w /dev/cdc-wdm0 --reset
reseter operation finished successfully
# qmi-firmware-update -t /dev/ttyUSB0 --update-qdl 1101721_9902097_SWI9X15C_01.05.11.52_00_ATT_002.004_000-field.spk
downloading cwe image: 1101721_9902097_SWI9X15C_01.05.11.52_00_ATT_002.004_000-field.spk (47.9 MB)...
finalizing download... (may take more than one minute, be patient)
successfully downloaded in 11.89s (4.0 MB/s)
rebooting in normal mode...
firmware update operation finished successfully
# minicom -o -s (configure ttyUSB2)
ATI
Manufacturer: Sierra Wireless, Incorporated
Model: AirCard 340U
Revision: SWI9X15C_01.05.11.52 r16619 ntgrbc-fwbuild1 2013/06/28 19:04:08
IMEI: 013323000792300
IMEI SV: 7
FSN: EV348600240110
+GCAP: +CGSM
=========================
NTG9X15C_01.13.12.14
=========================
# qmi-firmware-update -w /dev/cdc-wdm0 --reset
reseter operation finished successfully
# qmi-firmware-update -t /dev/ttyUSB0 --update-qdl 1101721_9902097_NTG9X15C_01.13.12.14_00_ATT_004.001_000-field.spk
downloading cwe image: 1101721_9902097_NTG9X15C_01.13.12.14_00_ATT_004.001_000-field.spk (48.9 MB)...
finalizing download... (may take more than one minute, be patient)
successfully downloaded in 12.15s (4.0 MB/s)
rebooting in normal mode...
firmware update operation finished successfully
# minicom -o -s (configure ttyUSB1)
ATI
Manufacturer: Sierra Wireless, Incorporated
Model: AirCard 340U
Revision: NTG9X15C_01.13.12.14 r18981 ntgrbc-fwbuild1 2014/07/11 13:48:17
IMEI: 013323000792300
IMEI SV: 9
FSN: EV348600240110
+GCAP: +CGSM
=====================================
AC340U_linux_patch_v4.cwe
(on top of NTG9X15C_01.13.12.14)
=====================================
# qmi-firmware-update -w /dev/cdc-wdm0 --reset
reseter operation finished successfully
# qmi-firmware-update -t /dev/ttyUSB0 --update-qdl AC340U_linux_patch_v4.cwe
downloading cwe image: AC340U_linux_patch_v4.cwe (2.2 kB)...
finalizing download... (may take more than one minute, be patient)
successfully downloaded in 0.03s (82.0 kB/s)
rebooting in normal mode...
firmware update operation finished successfully
As expected, after applying the patch v4 image, the firmware does no longer expose the MBIM configuration #2.