I own a Toshiba Portege Laptop (Z30B 12F) with a builtin EM7305 chip. I try to use this broadband access under Linux Ubuntu 16.04, amd64, kernel 4.4.0-21-generic (Ubuntu’s base kernel).
disclaimer: I am quite a newbie in the QMI/MBIM & WWAN card interfaces domain, I might miss some important point. Feel free to correct me.
I downloaded and built the drivers as described in document Application Dev Guide v 1.23 (dec 2015)
The document is missing some “modprobe usbserial” before building the driver.
At the end of the procedure, I can see dmesg ( /var/log/syslog) :
But not /dev/ttyUSB* devices appear… What did I miss ?
What is the procedure to force a re-detection ? It’s an embedded chip, I can’t plug/unplug it.
The vendor/product ID of this chip is 1199:9063. When checking in the official driver source code, nor the serial nor the network seems to support this chip. The last chip supported has ID 1199:9061. Is this related to some mode switching I must opper first ?
Is the EM7305 officially supported ? The open source drivers “sierra” and “sierra_net” lacks this chip too.
I added the 1199:9063 vendor/product Ids into the GobiNet and GobiSerial and rebuilt the drivers, but it does not work. Seems the interfaces to open USB ports might have changed ?
GobiNet provides /dev/qcqmi* and wwan* interface pairs.
If all you want is to reprobe the device, then unloading and reloading the driver is the easiest method (modprobe -r GobiSerial; modprobe GobiSerial)
You can also do manual unbind/bind using the /sys/bus/usb/drivers/GobiSerial/bind and
/sys/bus/usb/drivers/GobiSerial/unbind sysfs attributes.
If you want to power cycle the modem, then you can sometimes do that using a laptop specific rfkill method. But that is entirely platform specific, and I have no idea what Toshiba does.
My best guess is that 1199:9063 is an ID allocated to Toshiba for use in their OEM version of the EM7305. The “normal” EM7305 device ID is 1199:9041 as far as I know.
Those drivers are used for device IDs supporting DirectIP. The relevant mainline drivers for EM7305 are “qcserial” and “qmi_wwan”. But as you’ve discovered: They don’t know the 1199:9063 ID. Simply because noone has reported it yet.
Note that this, as a laptop OEM device, probably is configured for MBIM operation by default. And it should work fine with the mainline “cdc_mbim” driver, since that is class based and does not need to know about specific device IDs.
I suspect this is because the device is in MBIM only mode by default. Could you post the output of “lsusb -vd 1199:9063” (feel free to remove/obfuscate serial numbers if you like)?
Well, that should work by default, using “cdc_mbim” as driver and ModemManager with libmbim on the userspace side. Anything else is an Ubuntu bug. Ubuntu forums are also probably better at debugging the Ubuntu specific problems…
I finally managed to get something working, here is the current status :
[] After a complete installation of Ubuntu 16.04, the modem is correctly detected by ModemManager. The cdc_wwan and cdc_mbim modules correclty detects the modem. NetworkManager managed to create a connection with my apn and the connection worked fine.[/]
[] I never managed to get the /dev/ttyUSB (makes me think of this recent post https://forum.sierrawireless.com/t/why-the-ttyusb-disappear-only-cdc-wdm0-interface-left/8591/1) but it’s not a problem.
Neither the GobiSerial not qcserial module found the serial interface. Seems the MBIM interface is sufficient. The was operated under Windows 7 prior I switched to Linux.[/]
[]After a software suspend (to RAM), the modem stopped working. Seems the bug is due to a MBIM descriptor not being released before going in standby. This problem is known to the Ubuntu community (bugs.launchpad.net/ubuntu/+sour … ug/1326954) and the only fix that seems to exist needs to stop/restart Modem Manager. [/]
So finally, the Live CD wasn’t working for some reasons probably due to some partial installed packages. The bare Ubuntu installation is (quite) all fine.