我遇到以下问题:当我插入 USB 调制解调器启动时,一切正常。如果我拔掉调制解调器然后再插回去,它就不能再使用了。
下面是一些日志。
1. 启动时插入调制解调器
LSSB
Bus 001 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
usb_modeswitch 日志:
USB_ModeSwitch log from Sun Apr 08 23:38:27 CEST 2012
Raw args from udev: /1-1.1:1.0
Using global config file: /etc/usb_modeswitch.conf
Using top device dir /sys/bus/usb/devices/1-1.1
----------------
USB values from sysfs:
manufacturer HUAWEI Technology
product HUAWEI Mobile
serial
----------------
bNumConfigurations is 1 - don't check for active configuration
SCSI attributes not needed, moving on
checking config: /usr/share/usb_modeswitch/12d1:1446
! matched. Reading config data
config: TargetVendor set to 12d1
config: TargetProductList set to 1001,1406,140b,140c,1412,141b,1433,1436,14ac,1506
Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1
Command to be run:
usb_modeswitch -I -W -D -s 20 -u -1 -b 1 -g 9 -v 12d1 -p 1446 -f $configBuffer
Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are to be expected in the process)
--------------------------------
Reading long config from command line
* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.1 (C) Josua Dietze 2011
* Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x12d1
DefaultProduct= 0x1446
TargetVendor= 0x12d1
TargetProduct= not set
TargetClass= not set
TargetProductList="1001,1406,140b,140c,1412,141b,1433,1436,14ac,1506"
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode enabled
Use given bus/device number: 001/009 ...
Looking for default devices ...
bus/device number matched
searching devices, found USB ID 12d1:1446
found matching vendor ID
found matching product ID
adding device
Found device in default mode, class or configuration (1)
Skipping the check for the current configuration
Using first interface: 0x00
Using endpoints 0x01 (out) and 0x81 (in)
USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
Product: HUAWEI Mobile
Serial No.: not provided
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
libusb:error [op_clear_halt] clear_halt failed error -1 errno 71
OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
Could not reset endpoint (probably harmless): -34
Device is gone, skipping any further commands
Bus/dev search active, referring success check to wrapper. Bye.
ok:busdev
--------------------------------
(end of usb_modeswitch output)
Checking success of mode switch for max. 20 seconds ...
Waiting for device file system (1 sec.) ...
Waiting for device file system (15 sec.) ...
Reading attributes ...
All attributes matched
Mode switching was successful, found 12d1:1001 (HUAWEI Technology: HUAWEI Mobile)
Now checking for newly created ports ...
new ports found, device is known to driver
Checking for AVOID_RESET_QUIRK kernel attribute
AVOID_RESET_QUIRK activated
All done, exiting
2.调制解调器拔出并重新插回
LSSB 总线 001 设备 008:ID 12d1:1001 华为技术有限公司 E169/E620/E800 HSDPA 调制解调器
usb_modeswitch 日志:
USB_ModeSwitch log from Sun Apr 08 23:46:12 CEST 2012
Raw args from udev: /1-1.1:1.0
Using global config file: /etc/usb_modeswitch.conf
Using top device dir /sys/bus/usb/devices/1-1.1
----------------
USB values from sysfs:
manufacturer HUAWEI Technology
product HUAWEI Mobile
serial
----------------
bNumConfigurations is 1 - don't check for active configuration
SCSI attributes not needed, moving on
checking config: /usr/share/usb_modeswitch/12d1:1446
! matched. Reading config data
config: TargetVendor set to 12d1
config: TargetProductList set to 1001,1406,140b,140c,1412,141b,1433,1436,14ac,1506
Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1
Command to be run:
usb_modeswitch -I -W -D -s 20 -u -1 -b 1 -g 7 -v 12d1 -p 1446 -f $configBuffer
Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are to be expected in the process)
--------------------------------
Reading long config from command line
* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.1 (C) Josua Dietze 2011
* Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x12d1
DefaultProduct= 0x1446
TargetVendor= 0x12d1
TargetProduct= not set
TargetClass= not set
TargetProductList="1001,1406,140b,140c,1412,141b,1433,1436,14ac,1506"
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
InquireDevice disabled
Success check enabled, max. wait time 20 seconds
System integration mode enabled
Use given bus/device number: 001/007 ...
Looking for default devices ...
bus/device number matched
searching devices, found USB ID 12d1:1446
found matching vendor ID
found matching product ID
adding device
Found device in default mode, class or configuration (1)
Skipping the check for the current configuration
Using first interface: 0x00
Using endpoints 0x01 (out) and 0x81 (in)
USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
Product: HUAWEI Mobile
Serial No.: not provided
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
libusb:error [op_clear_halt] clear_halt failed error -1 errno 71
OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
Could not reset endpoint (probably harmless): -34
Device is gone, skipping any further commands
Bus/dev search active, referring success check to wrapper. Bye.
ok:busdev
--------------------------------
(end of usb_modeswitch output)
Checking success of mode switch for max. 20 seconds ...
Waiting for device file system (1 sec.) ...
Waiting for device file system (15 sec.) ...
读取属性...所有属性均匹配 模式切换成功,发现 12d1:1001(华为技术:华为移动) 正在检查新创建的端口...发现新端口,驱动程序已知设备 检查 AVOID_RESET_QUIRK 内核属性 AVOID_RESET_QUIRK 已激活 全部完成,退出
dmesg 输出:
[ 261.611314] usb 1-1.1: USB disconnect, device number 3
[ 283.800711] usb 1-1.1: new high-speed USB device number 7 using ehci_hcd
[ 283.899855] scsi11 : usb-storage 1-1.1:1.0
[ 283.900156] scsi12 : usb-storage 1-1.1:1.1
[ 284.638710] usb 1-1.1: USB disconnect, device number 7
[ 300.687875] usb 1-1.1: new high-speed USB device number 8 using ehci_hcd
[ 300.787664] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB0
[ 300.788085] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB1
[ 300.788450] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB2
[ 300.789174] scsi16 : usb-storage 1-1.1:1.3
[ 300.790242] scsi17 : usb-storage 1-1.1:1.4
PS 我正在使用 NetworkManager 0.9.2.0、Arch Linux、XFCE
更新:在 Xubuntu 11.10 Live CD 上测试
我刚刚在Xubuntu下测试过。
- 启动后我已插入 USB 调制解调器。
- Modem立即被系统识别并开始工作
- 我已将其拔出并重新插入。
- 调制解调器已被识别并且正在工作。
dmesg 输出
[ 902.454378] usb 1-1.2: new high speed USB device number 9 using ehci_hcd
[ 902.562241] scsi14 : usb-storage 1-1.2:1.0
[ 902.562632] scsi15 : usb-storage 1-1.2:1.1
[ 903.278564] usb 1-1.2: USB disconnect, device number 9
[ 919.341096] usb 1-1.2: new high speed USB device number 10 using ehci_hcd
[ 919.450088] option 1-1.2:1.0: GSM modem (1-port) converter detected
[ 919.450301] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 919.450597] option 1-1.2:1.1: GSM modem (1-port) converter detected
[ 919.450739] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 919.450984] option 1-1.2:1.2: GSM modem (1-port) converter detected
[ 919.451123] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[ 919.454323] scsi19 : usb-storage 1-1.2:1.3
[ 919.459118] scsi20 : usb-storage 1-1.2:1.4
[ 920.456207] scsi 19:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2
[ 920.460283] scsi 20:0:0:0: Direct-Access HUAWEI MMC Storage 2.31 PQ: 0 ANSI: 2
[ 920.749708] sr0: scsi-1 drive
[ 920.749847] sr 19:0:0:0: Attached scsi CD-ROM sr0
[ 920.749937] sr 19:0:0:0: Attached scsi generic sg2 type 5
[ 920.752303] sd 20:0:0:0: Attached scsi generic sg3 type 0
[ 920.761650] sd 20:0:0:0: [sdc] Attached SCSI removable disk
我想说的是,Xbuntu 的 dmesg 输出看起来与 Arch 的类似。
有任何想法吗?