我有一台新的 Dell Latitude e7440 和一张 Dell Wireless 5570 HSPA+ 移动宽带卡。我无法让宽带卡工作。
我可以看到卡片:
# 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
我可以删除 DISABLED 文本:
# 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
但是我不能使用以任何方式该卡。
- 没有
/dev/ttyUSBx
可以输入 AT 命令的地方。 - 我在网络管理器中看不到移动宽带连接。
mbim-network
诸如简单地说调制解调器的连接失败之类的工具
我的戴尔 BIOS 版本是A10
,从 BIOS 中我可以看到该卡。它已启用,从这个角度来看,它应该没有任何问题。如果我需要调试驱动程序,我愿意尝试一下,但我需要一些关于从哪里开始的指示。任何帮助深表感谢。
下面是调试输出的列表。如果您认为有任何帮助,请在评论中询问更多信息。
这是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)
usb-devices
调制解调器的输出:
# 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
这是rfkill
信息:
# 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
dmesg
这是您在设备启用时可以看到的内容:
[ 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
输出:
# nmcli nm status
RUNNING STATE WIFI-HARDWARE WIFI WWAN-HARDWARE WWAN
running connected enabled enabled enabled enabled
这是我尝试启动时得到的结果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
modprobe
驱动程序应该没问题,从输出中查找供应商和产品 ID 组合:
# 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
这是我的 Linux 版本。由于多头扩展坞问题,我正在运行修改后的内核,但此调制解调器问题在 3.13 内核上同样出现,这是我安装 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
使用libqmi
和qmicli
,我与调制解调器进行了一些交互,但仍然有一些相当令人困惑的错误消息。我还没有时间进一步研究这个问题。
$ 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
我还可以通过以下方式设置 PIN 码qmcli
:
# qmicli --dms-uim-verify-pin=PIN,xxxx -d /dev/cdc-wdm0
[/dev/cdc-wdm0] PIN verified successfully
并获取一些信息:
# 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'
关于 @aleksander 在他的答案的评论中提出的问题,这是使用 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
答案1
戴尔品牌的 Sierra Wireless 调制解调器,例如 5570(我自己现在买了一个)需要一个神奇的“DMS Set FCC Auth”命令才能从低功耗模式中恢复,这里有更好的解释:https://sigquit.wordpress.com/2015/02/09/dell-branded-sierra-wireless-3g4g-modem-not-online/
如果您使用的是 ModemManager,您可以尝试libqmi
从 git 编译您的 ModemManager 并解决此问题。
答案2
您的选项中缺少 APN --wds-start-network
。如果您在 CDMA/EVDO 网络中,则不需要它,但在 GSM/UMTS/LTE 中(通常)需要明确的一个。
dhclient
一旦 QMI WDS Start Network 返回且没有错误,只需尝试在 WWAN 界面中运行即可。