Output of
lsusb | grep Huawei
is
Bus 003 Device 003: ID 12d1:1c0b Huawei Technologies Co., Ltd. E173s 3G broadband stick (modem off)
I've checked if usb_modeswitch is set up properly as per https://wiki.archlinux.org/index.php/Huawei_E173s. It is.
Enabled usb_modeswitch logging. The log output is below. Seems like the device is identified by usb_modeswitch, and the switch message is sent, but no response. At this point I'm thinking that either there's a problem with the dongle's firmware (but it works fine under Windows), or udev can't communicate with it for whatever reason.
USB_ModeSwitch log from Mon Nov 25 14:38:11 2013
Using global config file: /etc/usb_modeswitch.conf
Raw args from udev: /3-2:1.0
Bus ID for device not given by udev.
Trying to determine it from kernel name (3-2:1.0) ...
Using top device dir /sys/bus/usb/devices/3-2
USB dir exists: /sys/bus/usb/devices/3-2
Warning: USB attribute "serial" not readable.
SCSI dir exists: /sys/bus/usb/devices/3-2
Warning: SCSI attribute "vendor" not readable.
Warning: SCSI attribute "model" not readable.
Warning: SCSI attribute "rev" not readable.
----------------
USB values from sysfs:
idVendor 12d1
idProduct 1c0b
manufacturer HUAWEI
product HUAWEI Mobile
serial (null)
bNumConfigurations 1
----------------
bNumConfigurations is 1 - don't check for active configuration
Found packed config collection /usr/share/usb_modeswitch/configPack.tar.gz
Searching entries named: /usr/share/usb_modeswitch/12d1:1c0b*
Searching overriding entries named: /etc/usb_modeswitch.d/12d1:1c0b*
SCSI attributes not needed, moving on.
Extracting config 12d1:1c0b from collection /usr/share/usb_modeswitch/configPack.tar.gz
config: TargetVendor set to 12d1
config: TargetProduct set to 1c05,1c07,1c08,1c10
Driver module is "option", ID path is /sys/bus/usb-serial/drivers/option1
! matched, now switching
Command to be run:
/usr/sbin/usb_modeswitch -I -W -D -s 20 -c /run/usb_modeswitch/current_cfg -u -1 -v 12d1 -p 1c0b 2>&1
Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are expected in the process)
--------------------------------
Reading config file: /run/usb_modeswitch/current_cfg
* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.3 (C) Josua Dietze 2012
* Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x12d1
DefaultProduct= 0x1c0b
TargetVendor= 0x12d1
TargetProduct= not set
TargetClass= not set
TargetProductList="1c05,1c07,1c08,1c10"
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
Looking for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
No devices in target mode or class found
Looking for default devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Found device in default mode, class or configuration (1)
Accessing device 003 on bus 003 ...
Skipping the check for the current configuration
Using first interface: 0x00
Using endpoints 0x0f (out) and 0x8f (in)
USB description data (for identification)
-------------------------
Manufacturer: HUAWEI
Product: HUAWEI Mobile
Serial No.: not provided
-------------------------
Looking for active driver ...
OK, driver found ("usb-storage")
OK, driver "usb-storage" detached
Setting up communication with interface 0
Using endpoint 0x0f for message sending ...
Trying to send message 1 to endpoint 0x0f ...
OK, message successfully sent
Resetting response endpoint 0x8f
Resetting message endpoint 0x0f
Checking for mode switch (max. 20 times, once per second) ...
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
Searching for target devices ...
searching devices, found USB ID 1d6b:0003
searching devices, found USB ID 12d1:1c0b
found matching vendor ID
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 148f:2000
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
searching devices, found USB ID 064e:e258
searching devices, found USB ID 138a:0018
searching devices, found USB ID 8087:0024
searching devices, found USB ID 1d6b:0002
No new devices in target mode or class found
Mode switch has failed. Bye.
fail:
--------------------------------
(end of usb_modeswitch output)
USB dir exists: /sys/bus/usb/devices/3-2
Warning: USB attribute "serial" not readable.
All done, exiting
UPDATE. Have set various delays. Quotation from http://www.draisberghof.de/usb_modeswitch/#trouble:
Annother way of influencing the kernel behaviour is the parameter "delay_use" of "usb-storage" which sets the time in seconds after plugging when the storage device will actually be used (and probably automounted). The default value is 5; this might affect the switching result under certain conditions. To change the default add in /etc/modprobe.conf:
options usb-storage delay_use=1 (or 10, or other)
With delay of 1-3, works sometimes. Sometimes doesn't.
UPDATE 2. After days of testing, I have an impression that it is not any particular delay setting which makes usb_modeswitch work, but changing this setting. Also I have a (very tentative) feeling that logging in/out and changing autologin settings somehow interferes with modeswitching.