Am 11.06.2017 um 14:44 schrieb Teemu Likonen:
Extra info: If I run manually
     modprobe usbserial vendor=0x1c9e product=0x9801
the 3G modem starts working.

This is a clear indication that usb_modeswitch is working as intended. There is nothing it can change in that respect, the modem mode is reached.

It is in fact standard behaviour of a USB modem to provide either only its MicroSD slot or both the slot and the install storage AFTER the mode switch, in addition to the modem ports. So your's is not behaving unusually at all.

It looks like your modem's USB product ID is not yet included in the modem driver ("option.c") in kernel version 4.9.0 (and indeed not in any more recent version). Previous usb_modeswitch versions took care of loading the driver 'manually' when it didn't bind so you probably were not aware of that issue.

If you had had a look into the system log you would have seen this:

usb_modeswitch: add device ID 1c9e:9801 to driver "option"
usb_modeswitch: please report the device ID to the Linux USB developers!

You are not to blame of course - why should you look if everything worked? :-)

Bottom line:
The product ID 0x9801 needs to be added to the serial driver of the kernel.

For a quick fix you can do what usb_modeswitch did previously:
# modprobe -v option
# echo "1c9e 9801" > /sys/bus/usb-serial/drivers/option1/new_id

You can put this into a script and let it be called by udev automatically if your modem is plugged. Put this below the first "ACTION" line in /lib/udev/rules.d/40-usb_modeswitch.rules:

ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9801", RUN+="/path/to/your/script"


Good luck,
Josua Dietze

Reply via email to