Hello, my EM7355 is refusing to create the /dev/ttyUSB* serial device(s).
I have found countless posts similar to this problem and have tried to skim
as much as possible from them. The PDFs on source.sierrawireless.com for the EM7355,
including SLQS docs, do not provide the in-depth coverage of getting Linux to create /dev/ttyUSB*
The firmware previously loaded was for Lenovo,
but it needs to have a generic firmware to use SLQS from what I understand?
Any help to get this EM7355 to work is greatly appreciated.
I am a noob working with 4G modems so id10t error(s) may/do apply
After blacklisting (qcserial, qmi_wwan, cdc_mbim, cdc_wdm, cdc_ncm, even usb_wwan was tried) and
disabling ModemManager, there is not any /dev/ttyUSB* for the Gobi S2.30N2.48 drivers either.
Please note that at this time the GobiNet drivers will not compile (several error/warn and it will not ignore/force)
and therefore are not loaded. These commands were ran with the GobiSerial driver loaded:
$ usb_modeswitch -W -b 003 -g 003 -V 1199 -P 901f -v 1199 -p 901f -S -c /usr/share/usb_modeswitch/1199\:901f
Read config file: /usr/share/usb_modeswitch/1199:901f
* usb_modeswitch: handle USB devices with multiple modes
* Version 2.5.1 (C) Josua Dietze 2017
* Based on libusb1/libusbx
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x1199
DefaultProduct= 0x901f
TargetVendor= 0x1199
TargetProduct= 0x901f
SierraMode=1
Configuration=0x01
Use given bus/device number: 003/003 ...
Look for default devices ...
bus/device number matched
found USB ID 1199:901f
vendor ID matched
product ID matched
Found devices in default mode (1)
Get the current device configuration ...
Current configuration number is 2
Use interface number 12
with class 2
USB description data (for identification)
-------------------------
Manufacturer: Sierra Wireless, Incorporated
Product: Sierra Wireless EM7355 Qualcomm Gobi(TM) 4G LTE/HSPA+/EVDO
Serial No.:
-------------------------
Send Sierra control message
communication with device stopped. May have switched modes anyway
Change configuration to 1 ...
Looking for active drivers ...
OK, configuration set
Get the current device configuration ...
The configuration was set successfully
-> Run lsusb to note any changes. Bye!
Here is the output of Firmware Downloader when using GobiSerial:
./fwdldhostx86_64 -s /mnt/xtrastorage/bin/sierra_sdk/build/bin/hostx86_64/slqssdk -d 9x15C -p /mnt/xtrastorage/bin/firmware
Detecting USB of the target
No device connected
==========
When NOT Blacklisting and NOT using Gobi[Net|Serial] here are some outputs of various commands:
OS is Ubuntu 17.10
$ ls -l /etc/udev/rules.d/40-usb_modeswitch.rules
lrwxrwxrwx 1 root root 41 Nov 25 12:48 /etc/udev/rules.d/40-usb_modeswitch.rules -> /lib/udev/rules.d/40-usb_modeswitch.rules
$ cat /etc/udev/rules.d/40-usb_modeswitch.rules
KERNEL=="ttyUSB*", ATTRS{bNumConfigurations}=="*", PROGRAM="usb_modeswitch --symlink-name %p %s{idVendor} %s{idProduct} %E{PRODUCT}", SYMLINK+="%c"
ATTR{idVendor}=="1199", ATTR{idProduct}=="901f", RUN+="usb_modeswitch '/%k'"
$ usb_modeswitch -W -b 003 -g 002 -V 1199 -P 901f -v 1199 -p 901f -S -c /usr/share/usb_modeswitch/1199\:901f
Read config file: /usr/share/usb_modeswitch/1199:901f
* usb_modeswitch: handle USB devices with multiple modes
* Version 2.5.1 (C) Josua Dietze 2017
* Based on libusb1/libusbx
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x1199
DefaultProduct= 0x901f
TargetVendor= 0x1199
TargetProduct= 0x901f
SierraMode=1
Configuration=0x01
Use given bus/device number: 003/002 ...
Look for default devices ...
bus/device number matched
found USB ID 1199:901f
vendor ID matched
product ID matched
Found devices in default mode (1)
Get the current device configuration ...
Current configuration number is 2
Use interface number 12
with class 2
USB description data (for identification)
-------------------------
Manufacturer: Sierra Wireless, Incorporated
Product: Sierra Wireless EM7355 Qualcomm Gobi(TM) 4G LTE/HSPA+/EVDO
Serial No.:
-------------------------
Send Sierra control message
communication with device stopped. May have switched modes anyway
Change configuration to 1 ...
Looking for active drivers ...
Resetting the configuration failed (error -6). Try to continue
Changing the configuration failed (error -6). Try to continue
-> Run lsusb to note any changes. Bye!
$ cat /var/log/usb_modeswitch_3-2
Use global config file: /etc/usb_modeswitch.conf
Raw parameters: {--switch-mode} {3-2}
Use top device dir /sys/bus/usb/devices/3-2
Check class of first interface ...
No access to interface 0. Exit
$ uname -a
Linux computer 4.13.0-17-lowlatency #20-Ubuntu SMP PREEMPT Mon Nov 6 11:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ ip a
8: wwp0s20u3c2i12: <BROADCAST,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 56:09:55:fd:ff:65 brd ff:ff:ff:ff:ff:ff
$ lsmod | grep serial
qcserial 20480 0
usb_wwan 20480 1 qcserial
usbserial 45056 2 qcserial,usb_wwan
$ lsmod | grep cdc
cdc_mbim 16384 0
cdc_wdm 20480 1 cdc_mbim
cdc_ncm 36864 1 cdc_mbim
usbnet 45056 2 cdc_mbim,cdc_ncm
$ lsmod | grep usb
usb_wwan 20480 1 qcserial
usbserial 45056 2 qcserial,usb_wwan
usbnet 45056 2 cdc_mbim,cdc_ncm
btusb 45056 0
btrtl 16384 1 btusb
btbcm 16384 1 btusb
btintel 16384 1 btusb
bluetooth 544768 52 btrtl,hidp,btintel,bnep,btbcm,rfcomm,btusb
mii 16384 2 r8169,usbnet
$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 8087:07da Intel Corp.
Bus 001 Device 003: ID 147e:1002 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 007: ID 1199:901f Sierra Wireless, Inc.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ls -l /sys/bus/usb/devices/3-2/
total 0
drwxr-xr-x 6 root root 0 Nov 25 21:42 3-2:2.12
drwxr-xr-x 5 root root 0 Nov 25 21:42 3-2:2.13
-rw-r--r-- 1 root root 4096 Nov 25 21:42 authorized
-rw-r--r-- 1 root root 4096 Nov 25 21:42 avoid_reset_quirk
-r--r--r-- 1 root root 4096 Nov 25 21:42 bcdDevice
-rw-r--r-- 1 root root 4096 Nov 25 21:42 bConfigurationValue
-r--r--r-- 1 root root 4096 Nov 25 21:42 bDeviceClass
-r--r--r-- 1 root root 4096 Nov 25 21:42 bDeviceProtocol
-r--r--r-- 1 root root 4096 Nov 25 21:42 bDeviceSubClass
-r--r--r-- 1 root root 4096 Nov 25 21:42 bmAttributes
-r--r--r-- 1 root root 4096 Nov 25 21:42 bMaxPacketSize0
-r--r--r-- 1 root root 4096 Nov 25 21:42 bMaxPower
-r--r--r-- 1 root root 4096 Nov 25 21:42 bNumConfigurations
-r--r--r-- 1 root root 4096 Nov 25 21:42 bNumInterfaces
-r--r--r-- 1 root root 4096 Nov 25 21:42 busnum
-r--r--r-- 1 root root 4096 Nov 25 21:42 configuration
-r--r--r-- 1 root root 65553 Nov 25 21:42 descriptors
-r--r--r-- 1 root root 4096 Nov 25 21:42 dev
-r--r--r-- 1 root root 4096 Nov 25 21:42 devnum
-r--r--r-- 1 root root 4096 Nov 25 21:42 devpath
lrwxrwxrwx 1 root root 0 Nov 25 21:42 driver -> ../../../../../bus/usb/drivers/usb
drwxr-xr-x 3 root root 0 Nov 25 21:42 ep_00
-r--r--r-- 1 root root 4096 Nov 25 21:42 idProduct
-r--r--r-- 1 root root 4096 Nov 25 21:42 idVendor
-r--r--r-- 1 root root 4096 Nov 25 21:42 ltm_capable
-r--r--r-- 1 root root 4096 Nov 25 21:42 manufacturer
-r--r--r-- 1 root root 4096 Nov 25 21:42 maxchild
lrwxrwxrwx 1 root root 0 Nov 25 21:42 port -> ../3-0:1.0/usb3-port2
drwxr-xr-x 2 root root 0 Nov 25 21:42 power
-r--r--r-- 1 root root 4096 Nov 25 21:42 product
-r--r--r-- 1 root root 4096 Nov 25 21:42 quirks
-r--r--r-- 1 root root 4096 Nov 25 21:42 removable
--w------- 1 root root 4096 Nov 25 21:42 remove
-r--r--r-- 1 root root 4096 Nov 25 21:42 speed
lrwxrwxrwx 1 root root 0 Nov 25 21:42 subsystem -> ../../../../../bus/usb
-rw-r--r-- 1 root root 4096 Nov 25 21:42 uevent
-r--r--r-- 1 root root 4096 Nov 25 21:42 urbnum
-r--r--r-- 1 root root 4096 Nov 25 21:42 version
$ udevadm info -p /sys/bus/usb/devices/3-2/
P: /devices/pci0000:00/0000:00:14.0/usb3/3-2
N: bus/usb/003/007
E: BUSNUM=003
E: DEVNAME=/dev/bus/usb/003/007
E: DEVNUM=007
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-2
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_BUS=usb
E: ID_MODEL=Sierra_Wireless_EM7355_Qualcomm_Gobi_TM__4G_LTE_HSPA+_EVDO
E: ID_MODEL_ENC=Sierra\x20Wireless\x20EM7355\x20Qualcomm\x20Gobi\x28TM\x29\x204G\x20LTE\x2fHSPA+\x2fEVDO
E: ID_MODEL_ID=901f
E: ID_REVISION=0006
E: ID_SERIAL=Sierra_Wireless__Incorporated_Sierra_Wireless_EM7355_Qualcomm_Gobi_TM__4G_LTE_HSPA+_EVDO
E: ID_USB_INTERFACES=:ffffff:ff0000:020e00:0a0002:
E: ID_VENDOR=Sierra_Wireless__Incorporated
E: ID_VENDOR_ENC=Sierra\x20Wireless\x2c\x20Incorporated
E: ID_VENDOR_FROM_DATABASE=Sierra Wireless, Inc.
E: ID_VENDOR_ID=1199
E: MAJOR=189
E: MINOR=262
E: PRODUCT=1199/901f/6
E: SUBSYSTEM=usb
E: TYPE=0/0/0
E: USEC_INITIALIZED=25954632045
$ udevadm monitor
KERNEL[25933.499571] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12/queues/rx-0 (queues)
KERNEL[25933.499625] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12/queues/tx-0 (queues)
KERNEL[25933.499661] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12 (net)
UDEV [25933.501664] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12/queues/rx-0 (queues)
UDEV [25933.502232] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12/queues/tx-0 (queues)
KERNEL[25933.503503] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/usbmisc/cdc-wdm0 (usbmisc)
KERNEL[25933.503545] remove /usbmisc (class)
KERNEL[25933.503592] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12 (usb)
KERNEL[25933.503633] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.13 (usb)
KERNEL[25933.503976] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2 (usb)
UDEV [25933.506131] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12 (net)
UDEV [25933.506958] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/usbmisc/cdc-wdm0 (usbmisc)
UDEV [25933.508983] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.13 (usb)
UDEV [25933.513663] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12 (usb)
UDEV [25933.514733] remove /usbmisc (class)
UDEV [25933.516264] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2 (usb)
KERNEL[25942.557094] add /devices/pci0000:00/0000:00:14.0/usb3/3-2 (usb)
KERNEL[25942.557525] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0 (usb)
KERNEL[25942.557752] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0 (usb)
KERNEL[25942.560328] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2 (usb)
UDEV [25942.673017] add /devices/pci0000:00/0000:00:14.0/usb3/3-2 (usb)
UDEV [25942.680684] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0 (usb)
UDEV [25942.682681] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0 (usb)
UDEV [25942.684548] remove /devices/pci0000:00/0000:00:14.0/usb3/3-2 (usb)
KERNEL[25954.592047] add /devices/pci0000:00/0000:00:14.0/usb3/3-2 (usb)
KERNEL[25954.594732] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12 (usb)
KERNEL[25954.616363] add /class/usbmisc (class)
KERNEL[25954.617584] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/usbmisc/cdc-wdm0 (usbmisc)
KERNEL[25954.617643] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwan0 (net)
KERNEL[25954.617666] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwan0/queues/rx-0 (queues)
KERNEL[25954.617686] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwan0/queues/tx-0 (queues)
KERNEL[25954.617726] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.13 (usb)
UDEV [25954.618460] add /class/usbmisc (class)
UDEV [25954.647205] add /devices/pci0000:00/0000:00:14.0/usb3/3-2 (usb)
UDEV [25954.660853] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.13 (usb)
UDEV [25954.661517] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12 (usb)
UDEV [25954.664926] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/usbmisc/cdc-wdm0 (usbmisc)
KERNEL[25954.671158] move /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12 (net)
UDEV [25954.685164] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12 (net)
UDEV [25954.696132] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwan0/queues/tx-0 (queues)
UDEV [25954.696168] add /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwan0/queues/rx-0 (queues)
UDEV [25954.696220] move /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:2.12/net/wwp0s20u2c2i12 (net)
$ systemctl status ModemManager
● ModemManager.service - Modem Manager
Loaded: loaded (/lib/systemd/system/ModemManager.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2017-11-25 23:05:21 PST; 4min 16s ago
Main PID: 1484 (ModemManager)
Tasks: 3 (limit: 4915)
CGroup: /system.slice/ModemManager.service
└─1484 /usr/sbin/ModemManager
Nov 25 23:05:23 computer ModemManager[1484]: cannot connect to proxy: Could not connect: Connection refused
Nov 25 23:05:23 computer ModemManager[1484]: spawning new mbim-proxy (try 1)...
Nov 25 23:05:23 computer ModemManager[1484]: [/dev/cdc-wdm0] Read max control message size from descriptors file: 4096
Nov 25 23:05:23 computer ModemManager[1484]: [/dev/cdc-wdm0] unexpected port hangup!
Nov 25 23:05:24 computer ModemManager[1484]: <info> Couldn't check support for device at '/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0': not supported by any plugi
Nov 25 23:05:24 computer ModemManager[1484]: <info> Couldn't check support for device at '/sys/devices/pci0000:00/0000:00:1c.3/0000:09:00.0': not supported by any plugi
Nov 25 23:05:53 computer ModemManager[1484]: proxy configuration failed: closed
Nov 25 23:05:53 computer ModemManager[1484]: <info> Creating modem with plugin 'Sierra' and '2' ports
Nov 25 23:05:53 computer ModemManager[1484]: <warn> Could not grab port (usbmisc/cdc-wdm0): 'Cannot add port 'usbmisc/cdc-wdm0', unsupported'
Nov 25 23:05:53 computer ModemManager[1484]: <warn> Couldn't create modem for device at '/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2': Failed to find primary AT port
var-log-syslog-kern.txt.log (5.61 KB)
ls-dev-tty.txt.log (5.37 KB)
lsusb-output.txt.log (9.95 KB)