Problems with Dell Wireless 5570 HSPA+ Mobile Broadband card
Solution 1
Dell branded Sierra Wireless modems, like the 5570 (bought one myself now) need a magic "DMS Set FCC Auth" command to recover from low-power mode, better explained here: https://sigquit.wordpress.com/2015/02/09/dell-branded-sierra-wireless-3g4g-modem-not-online/
If you're using ModemManager, you can try to compile your one libqmi
and ModemManager from git to get this fixed.
Solution 2
You're lacking the APN in the --wds-start-network
option. You wouldn't need it if you were in a CDMA/EVDO network, but it is (usually) required an explicit one in GSM/UMTS/LTE.
Once QMI WDS Start Network returns with no error, just try to run dhclient
in the WWAN interface.
Related videos on Youtube
msvalkon
Updated on September 18, 2022Comments
-
msvalkon almost 2 years
I've got a new Dell Latitude e7440, and a Dell Wireless 5570 HSPA+ mobile broadband card. I cannot get the broadband card to work.
I can see the card:
# lshw .... *-network DISABLED description: Ethernet interface physical id: 1 logical name: wwan0 serial: 46:51:4c:75:9d:ad capabilities: ethernet physical configuration: broadcast=yes driver=cdc_mbim driverversion=22-Aug-2005 firmware=CDC MBIM link=no multicast=yes
And I can get rid of the DISABLED text:
# ifconfig wwan0 up # ifconfig wwan0 wwan0 Link encap:Ethernet HWaddr 46:51:4c:75:9d:ad inet6 addr: fe80::4451:4cff:fe75:9dad/64 Scope:Link UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:11 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:3937 (3.9 KB) # lshw .... *-network description: Ethernet interface physical id: 3 logical name: wwan0 serial: 46:51:4c:75:9d:ad capabilities: ethernet physical configuration: broadcast=yes driver=cdc_mbim driverversion=22-Aug-2005 firmware=CDC MBIM link=yes multicast=yes
But I cannot use the card in any way.
- There's no
/dev/ttyUSBx
to which I could input AT commands. - I cannot see a mobile broadband connection in the Network manager.
- tools like
mbim-network
simply say the connection to the modem failed
My Dell BIOS version is
A10
, and from BIOS I can see the card. It's enabled and from that perspective there shouldn't be anything wrong with it. If I need to debug the driver, I'm willing to give that a try but I need some pointers on where to start. Any help is much appreciated.Below is a list of debug output. Please ask for more in the comments if you think of anything that's helpful.
Here's
lsusb -v
:# lsusb -v Bus 002 Device 017: ID 413c:81a3 Dell Computer Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x413c Dell Computer Corp. idProduct 0x81a3 bcdDevice 0.06 iManufacturer 1 Sierra Wireless, Incorporated iProduct 2 Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card iSerial 3 bNumConfigurations 2 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 204 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup 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 ** UNRECOGNIZED: 2c ff 42 49 53 54 00 01 07 f5 40 f6 00 00 00 00 01 f7 c4 09 02 f8 c4 09 03 f9 88 13 04 fa 10 27 05 fb 10 27 06 fc c4 09 07 fd c4 09 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 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 0 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 82 bNumInterfaces 2 bConfigurationValue 2 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 500mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 12 bInterfaceCount 2 bFunctionClass 2 Communications bFunctionSubClass 14 bFunctionProtocol 0 iFunction 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 12 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 14 bInterfaceProtocol 0 iInterface 0 CDC Header: bcdCDC 1.10 CDC MBIM: bcdMBIMVersion 1.00 wMaxControlMessage 4096 bNumberFilters 16 bMaxFilterSize 128 wMaxSegmentSize 4064 bmNetworkCapabilities 0x20 8-byte ntb input size 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 9 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 13 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 2 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 13 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 2 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 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 2 Device Status: 0x0000 (Bus Powered)
And the
usb-devices
output for the modem:# usb-devices T: Bus=02 Lev=01 Prnt=01 Port=06 Cnt=02 Dev#= 17 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2 P: Vendor=413c ProdID=81a3 Rev=00.06 S: Manufacturer=Sierra Wireless, Incorporated S: Product=Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card C: #Ifs= 2 Cfg#= 2 Atr=e0 MxPwr=500mA /usr/bin/usb-devices: line 79: printf: c: invalid number I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim /usr/bin/usb-devices: line 79: printf: d: invalid number I: If#= 0 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
Here's the
rfkill
-information:# cat /sys/kernel/debug/dell_laptop/rfkill status: 0x1015D Bit 0 : Hardware switch supported: 1 Bit 1 : Wifi locator supported: 0 Bit 2 : Wifi is supported: 1 Bit 3 : Bluetooth is supported: 1 Bit 4 : WWAN is supported: 1 Bit 5 : Wireless keyboard supported: 0 Bit 8 : Wifi is installed: 1 Bit 9 : Bluetooth is installed: 0 Bit 10: WWAN is installed: 0 Bit 16: Hardware switch is on: 1 Bit 17: Wifi is blocked: 0 Bit 18: Bluetooth is blocked: 0 Bit 19: WWAN is blocked: 0 hwswitch_state: 0x1F Bit 0 : Wifi controlled by switch: 1 Bit 1 : Bluetooth controlled by switch: 1 Bit 2 : WWAN controlled by switch: 1 Bit 7 : Wireless switch config locked: 0 Bit 8 : Wifi locator enabled: 0 Bit 15: Wifi locator setting locked: 0
This is what you can see via
dmesg
whenever the device is enabled:[ 2101.897753] usb 2-7: new high-speed USB device number 17 using xhci_hcd [ 2102.026467] usb 2-7: config 1 has an invalid interface number: 8 but max is 3 [ 2102.026480] usb 2-7: config 1 has no interface number 1 [ 2102.026926] usb 2-7: config 2 has an invalid interface number: 12 but max is 1 [ 2102.026930] usb 2-7: config 2 has an invalid interface number: 13 but max is 1 [ 2102.026941] usb 2-7: config 2 has an invalid interface number: 13 but max is 1 [ 2102.026942] usb 2-7: config 2 has no interface number 0 [ 2102.026943] usb 2-7: config 2 has no interface number 1 [ 2102.027618] usb 2-7: New USB device found, idVendor=413c, idProduct=81a3 [ 2102.027621] usb 2-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2102.027623] usb 2-7: Product: Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card [ 2102.027624] usb 2-7: Manufacturer: Sierra Wireless, Incorporated [ 2102.029821] cdc_mbim 2-7:2.12: cdc-wdm0: USB WDM device [ 2102.029954] cdc_mbim 2-7:2.12 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-7, CDC MBIM, 46:51:4c:75:9d:ad
nmcli
output:# nmcli nm status RUNNING STATE WIFI-HARDWARE WIFI WWAN-HARDWARE WWAN running connected enabled enabled enabled enabled
This is what I get when I try to start it with
mbim-network
:# mbim-network /dev/cdc-wdm0 start Querying subscriber ready status 'mbimcli -d /dev/cdc-wdm0 --query-subscriber-ready-status --no-close'... error: couldn't open the MbimDevice: Failure Querying registration state 'mbimcli -d /dev/cdc-wdm0 --query-registration-state --no-open= --no-close'... error: invalid transaction ID specified: Attaching to packet service with 'mbimcli -d /dev/cdc-wdm0 --attach-packet-service --no-open= --no-close'... error: invalid transaction ID specified: Starting network with 'mbimcli -d /dev/cdc-wdm0 --connect= --no-open= --no-close'... error: invalid transaction ID specified: Network start failed
The driver should be OK, grepping for the vendor and product id combination from
modprobe
output:# modprobe -c | grep -i 413c.*81a3 alias usb:v413Cp81A3d*dc*dsc*dp*ic*isc*ip*in00* qcserial alias usb:v413Cp81A3d*dc*dsc*dp*ic*isc*ip*in02* qcserial alias usb:v413Cp81A3d*dc*dsc*dp*ic*isc*ip*in03* qcserial alias usb:v413Cp81A3d*dc*dsc*dp*ic*isc*ip*in08* qmi_wwan
Here's my Linux version. I'm running a modified kernel due to a multiheading docking station problem, but this modem issue occurs identically on the 3.13 kernel which was the default when I installed Ubuntu 14.04.
# uname -a Linux slartibartfast 3.15.0-rc8+ #5 SMP Mon Jul 21 14:18:58 EEST 2014 x86_64 x86_64 x86_64 GNU/Linux
Using
libqmi
andqmicli
, I get some interaction with the modem, but still some fairly confusing error messages. I have not yet had time to look into this further.$ sudo qmicli -d /dev/cdc-wdm0 --verbose --wds-start-network= --client-no-release-cid [27 elo 2014, 12:41:16] [Debug] QMI Device at '/dev/cdc-wdm0' ready [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Assuming service 'wds' is supported... [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Allocating new client ID... [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Sent message... <<<<<< RAW: <<<<<< length = 16 <<<<<< data = 01:0F:00:00:00:00:00:01:22:00:04:00:01:01:00:01 [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Sent message (translated)... <<<<<< QMUX: <<<<<< length = 15 <<<<<< flags = 0x00 <<<<<< service = "ctl" <<<<<< client = 0 <<<<<< QMI: <<<<<< flags = "none" <<<<<< transaction = 1 <<<<<< tlv_length = 4 <<<<<< message = "Allocate CID" (0x0022) <<<<<< TLV: <<<<<< type = "Service" (0x01) <<<<<< length = 1 <<<<<< value = 01 <<<<<< translated = wds [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Received message... >>>>>> RAW: >>>>>> length = 24 >>>>>> data = 01:17:00:80:00:00:01:01:22:00:0C:00:02:04:00:00:00:00:00:01:02:00:01:08 [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Received message (translated)... >>>>>> QMUX: >>>>>> length = 23 >>>>>> flags = 0x80 >>>>>> service = "ctl" >>>>>> client = 0 >>>>>> QMI: >>>>>> flags = "response" >>>>>> transaction = 1 >>>>>> tlv_length = 12 >>>>>> message = "Allocate CID" (0x0022) >>>>>> TLV: >>>>>> type = "Result" (0x02) >>>>>> length = 4 >>>>>> value = 00:00:00:00 >>>>>> translated = SUCCESS >>>>>> TLV: >>>>>> type = "Allocation Info" (0x01) >>>>>> length = 2 >>>>>> value = 01:08 >>>>>> translated = [ service = 'wds' cid = '8' ] [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Registered 'wds' (version unknown) client with ID '8' [27 elo 2014, 12:41:16] [Debug] Asynchronously starting network... [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Sent message... <<<<<< RAW: <<<<<< length = 13 <<<<<< data = 01:0C:00:00:01:08:00:01:00:20:00:00:00 [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Sent message (translated)... <<<<<< QMUX: <<<<<< length = 12 <<<<<< flags = 0x00 <<<<<< service = "wds" <<<<<< client = 8 <<<<<< QMI: <<<<<< flags = "none" <<<<<< transaction = 1 <<<<<< tlv_length = 0 <<<<<< message = "Start Network" (0x0020) [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Received message... >>>>>> RAW: >>>>>> length = 32 >>>>>> data = 01:1F:00:80:01:08:02:01:00:20:00:13:00:02:04:00:01:00:0E:00:10:02:00:03:00:11:04:00:03:00:D1:07 [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Received message (translated)... >>>>>> QMUX: >>>>>> length = 31 >>>>>> flags = 0x80 >>>>>> service = "wds" >>>>>> client = 8 >>>>>> QMI: >>>>>> flags = "response" >>>>>> transaction = 1 >>>>>> tlv_length = 19 >>>>>> message = "Start Network" (0x0020) >>>>>> TLV: >>>>>> type = "Result" (0x02) >>>>>> length = 4 >>>>>> value = 01:00:0E:00 >>>>>> translated = FAILURE: CallFailed >>>>>> TLV: >>>>>> type = "Call End Reason" (0x10) >>>>>> length = 2 >>>>>> value = 03:00 >>>>>> translated = generic-no-service >>>>>> TLV: >>>>>> type = "Verbose Call End Reason" (0x11) >>>>>> length = 4 >>>>>> value = 03:00:D1:07 >>>>>> translated = [ type = 'cm' reason = '2001' ] error: couldn't start network: QMI protocol error (14): 'CallFailed' call end reason (3): generic-no-service verbose call end reason (3,2001): [cm] no-service [/dev/cdc-wdm0] Client ID not released: Service: 'wds' CID: '8' [27 elo 2014, 12:41:16] [Debug] [/dev/cdc-wdm0] Unregistered 'wds' client with ID '8' [27 elo 2014, 12:41:16] [Debug] Client released
I can also set my PIN code with
qmcli
:# qmicli --dms-uim-verify-pin=PIN,xxxx -d /dev/cdc-wdm0 [/dev/cdc-wdm0] PIN verified successfully
And get some information:
# qmicli -d /dev/cdc-wdm0 --dms-get-manufacturer [/dev/cdc-wdm0] Device manufacturer retrieved: Manufacturer: 'Sierra Wireless, Incorporated' # qmicli -d /dev/cdc-wdm0 --dms-get-model [/dev/cdc-wdm0] Device model retrieved: Model: 'MC8805' # qmicli -d /dev/cdc-wdm0 --dms-get-capabilities [/dev/cdc-wdm0] Device capabilities retrieved: Max TX channel rate: '5742000' Max RX channel rate: '42200000' Data Service: 'non-simultaneous-cs-ps' SIM: 'supported' Networks: 'gsm, umts'
Regarding @aleksander's question in the comments of his answer, here's the error when using the apn:
error: couldn't start network: QMI protocol error (14): 'CallFailed' call end reason (3): generic-no-service verbose call end reason (3,2001): [cm] no-service [/dev/cdc-wdm0] Client ID not released: Service: 'wds' CID: '1' [19 marras 2014, 13:30:30] [Debug] [/dev/cdc-wdm0] Unregistered 'wds' client with ID '1' [19 marras 2014, 13:30:30] [Debug] Client released
-
eyoung100 over 9 yearsSee my answer here to understand what's happening here. As Aleksander states below, you're missing half the interface. If your using an ISP, you need to authenticate with them.
- There's no
-
msvalkon over 9 yearsI've tried it with my providers apn, which is
internet
. Produces the same error. The card works fine in my phone with both no APN and the APN I just mentioned above. I'll give it a new try and post some more comments. -
msvalkon over 9 yearsYeah confirming that I'm getting the same error as before, even after first setting my pin code and then attempting to start the network.
-
Aleksander over 9 yearsIs it really the "generic-no-service" call end reason, even when you use the APN?
-
msvalkon over 9 yearsI've edited the exact error message to the question now, at the end. It is the generic-no-service.
-
Aleksander over 9 yearsJust to make sure, are you using a SIM card with PIN lock disabled or did you already send the PIN?
-
lkraav over 9 yearsThe kernel driver is not there yet bugzilla.kernel.org/show_bug.cgi?id=78851
-
Aleksander over 9 yearsThat kernel bugreport is actually showing the same issue I'm talking about in my other reply. Should be now handled correctly by libqmi git master.
-
Aleksander over 9 yearsJust released libqmi 1.12.4 and ModemManager 1.4.4 with these fixes; time to poke your distro to get them integrated :)