I own Huawei E3272 which was working properly before 01.07.2015. After some update it suddenly stopped. While I was searching for the reason I found in the log this:
lip 14 15:48:24 linux usb_modeswitch[4958]: switch device 12d1:1f01 on 001/005
lip 14 15:48:25 linux root[4989]: usb_modeswitch: switched to 12d1:14db on 001/006
It's the output of usb_modeswitch while modem is being disconnected and plugged in again. Basicaly I was unable to find anything else. The modem works when it's plugged in after system boot. It doesn't work when it's already plugged in before PC is being powered on.
I'm also unable to find manual command for the switch. It will be something like:
usb_modeswitch -v 12d1 -p 14db
but it produces:
Code: Select all
[root@linux mk]# usb_modeswitch -v 12d1 -p 14db -J
Look for default devices ...
product ID matched
Found devices in default mode (1)
Access device 008 on bus 002
Current configuration number is 1
Use interface number 0
Error: message endpoint not given or found. Abort
I'm confused with all this udev/wrapper/systemd complex. I have no idea how to run it manually.
In my system there is a file /usr/share/usb_modeswitch/12d1:1f01 with content:
Code: Select all
# Huawei E353 (3.se) and others
TargetVendor=0x12d1
TargetProductList="14db,14dc"
HuaweiNewMode=1
NoDriverLoading=1
/lib/udev/rules.d/40-usb_modeswitch.rules
with rule
Code: Select all
# Generic entry for all Huawei devices, excluding Android phones
ATTRS{idVendor}=="12d1", ATTRS{manufacturer}!="Android*", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"
I also found /var/log/usb_modeswitch_2-1:1.0 file with content:
Code: Select all
USB_ModeSwitch log from Tue Jul 14 18:08:41 CEST 2015
Use global config file: /etc/usb_modeswitch.conf
Raw args from udev: /2-1:1.0
Use top device dir /sys/bus/usb/devices/2-1
----------------
USB values from sysfs:
manufacturer HUAWEI Technology
product HUAWEI Mobile
serial FFFFFFFFFFFFFFFF
----------------
bNumConfigurations is 1 - don't check for active configuration
ConfigList: /usr/share/usb_modeswitch/12d1:1f01 /usr/share/usb_modeswitch/12d1:#linux
SCSI attributes not needed, move on
Check config: /usr/share/usb_modeswitch/12d1:1f01
! matched. Read config data
config: NoDriverLoading is set to active
Driver will not be handled by usb_modeswitch
Command to be run:
usb_modeswitch -W -D -u -1 -b 2 -g 7 -v 12d1 -p 1f01 -f $flags(config)
Verbose debug output of usb_modeswitch and libusb follows
(Note that some USB errors are to be expected in the process)
--------------------------------
Read long config from command line
* usb_modeswitch: handle USB devices with multiple modes
* Version 2.2.2 (C) Josua Dietze 2014
* Based on libusb1/libusbx
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x12d1
DefaultProduct= 0x1f01
TargetVendor= 0x12d1
TargetProductList="14db,14dc"
HuaweiNewMode=1
NeedResponse=0
System integration mode enabled
Use given bus/device number: 002/007 ...
Look for default devices ...
bus/device number matched
found USB ID 12d1:1f01
vendor ID matched
product ID matched
Found devices in default mode (1)
Use interface number 0
Use endpoints 0x01 (out) and 0x81 (in)
USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
Product: HUAWEI Mobile
Serial No.: FFFFFFFFFFFFFFFF
-------------------------
Using standard Huawei switching message
Looking for active driver ...
OK, driver detached
Set up interface 0
Use 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
Reset response endpoint 0x81
Could not reset endpoint (probably harmless): -99
Reset message endpoint 0x01
Could not reset endpoint (probably harmless): -4
Device is gone, skip any further commands
ok:busdev
--------------------------------
(end of usb_modeswitch output)
Check success of mode switch for max. 20 seconds ...
Read attributes ...
All attributes matched
Mode switching was successful, found 12d1:14db (HUAWEI Technology: HUAWEI Mobile)
Logger is /usr/bin/logger
Check for AVOID_RESET_QUIRK kernel attribute
AVOID_RESET_QUIRK activated
All done, exit
Code: Select all
[root@linux mk]# usb_modeswitch -W -D -u -1 -b 2 -g 7 -v 12d1 -p 1f01 -f "$flags(config)"
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
Read long config from command line
* usb_modeswitch: handle USB devices with multiple modes
* Version 2.2.2 (C) Josua Dietze 2014
* Based on libusb1/libusbx
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x12d1
DefaultProduct= 0x1f01
NeedResponse=0
System integration mode enabled
Use given bus/device number: 002/007 ...
Look for default devices ...
No devices in default mode found. Nothing to do. Bye!
BTW I admit that this modem is not genuine. I re-flashed it from Megafon software from modem to hi-link version. While doing that I damaged a bit storage memory (this one for windows drivers):
Code: Select all
[ 12.541510] blk_update_request: critical medium error, dev sr2, sector 262136
[ 12.545294] sr 6:0:0:0: [sr2] UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08
linux 4.0.7-2-ARCH #1 SMP PREEMPT Tue Jun 30 07:50:21 UTC 2015 x86_64 GNU/Linux
systemd 221
libgudev 230
I can also see in the log that:
[2015-06-30 21:42] [ALPM] upgraded usb_modeswitch (2.2.1-1 -> 2.2.3-1)
I will try to downgrade it and check if that solves the problem.
Any help appreciated!