Anyone have a link on how to install the drivers on an android x86-64 machine?
you can try this one:
https://source.sierrawireless.com/resources/airprime/software/android-8,-d-,1-ril-software-8,-d-,1,-d-,2,-d-,0/#sthash.plqXwFiS.dpbs
There is a readme.txt file inside and I can see the following:
kernel/drivers/net/usb/Kconfig
kernel/drivers/net/usb/Makefile
kernel/drivers/net/usb/Structs.h
kernel/drivers/net/usb/QMI.h
kernel/drivers/net/usb/QMIDevice.h
kernel/drivers/net/usb/QMIDevice.c
kernel/drivers/net/usb/QMI.c
kernel/drivers/net/usb/GobiUSBNet.c
kernel/drivers/net/usb/usbnet.c
- Gobi network driver
- Path is taken from the reference platform build
- copy the new files to the appropriate locations
- merge the existing files to the appropriate locations
- make sure this driver is enabled in the kernel .config file
kernel/drivers/usb/serial/sierra.c
- Sierra Wireless serial driver
- Path is taken from the reference platform build
- copy the file to the appropriate location overwriting any existing file
- make sure this driver is enabled in the kernel .config file
- make sure qcserial driver is DISABLED in the kernel .config file
Thanks, will try that.
Ok, got the drivers installed and dmesg sees the card attached, but the ttyUSB ports are not assigned. My guess is the kernel configuration is the problem. Not sure. I do not know how to change or view, or even where to find the kernel config file.
Do you have the serial and gobinet driver installed?
Yes, did the file copies from the android 9 Readme.txt, and the drivers download, and dmesg is seeing the card. But it appears that I need to enable the drivers in the kernel, and I don’t know how to do that. I believe that’s the reason for the USB ports not being assigned.
You can try insmod command if you already find the .ko file in your ADB console
OK, I have no experience with insmod, but will do a man check on it. Thanks for the tip.
Okay, the drivers are installed, insmod ran.
Here is the latest troubleshooting discovery :
I have both an MC7455, and an EM7455 card. Attaching them separately to the same USB port and booting the machine, the MC7455 initializes the ttyUSB ports, and the EM7455 does not.
Check on a ubuntu pc and make sure same fw and same at!usbcomp setting
Here’s the latest. I have the EM7455 card connected to my Ubuntu USB port, and I can see it in the dmesg output, but it does not bind ttyUSB0-2 ports that will allow me to execute AT commands. Any ideas appreciated.
Can you paste the dmesg?
Did you install gobiserial driver?
Is the mc7455 working?
You can also have a look on this which is not having AT command port, seems to be similar to your case:
I have not installed the Gobi serial driver essentially because my Linux box is not the target system for this card. That said, if that could contribute to the problem, I’ll install it. The MC7455 is working fine with the TTYUSB port acquisition, and I can execute AT commands on it.
Then what driver is used in MC7455 case in Ubuntu?
BTW, are you using same FW in both modules?
Have you checked this?
Okay, here are both the lsusb -vd outputs for both the EM7455, and the MC7455. The EM7455 is a dell firmware, and the MC7455 is a Sierra firmware. If this is caused by the Dell-specific firmware, is there a way to flash generic firmware on the EM7455 without attaching to ttyUSB0-2 and using AT commands?
EM7455 lsusb -vd output:
Bus 002 Device 014: ID 413c:81b6 Dell Computer Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x413c Dell Computer Corp.
idProduct 0x81b6
bcdDevice 0.06
iManufacturer 1 Sierra Wireless, Incorporated
iProduct 2 DW5811e Snapdragon™ X7 LTE
iSerial 3 LF71227589021020
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 139
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 12
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 14
bFunctionProtocol 0
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 12
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 14
bInterfaceProtocol 0
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Union:
bMasterInterface 12
bSlaveInterface 13
CDC MBIM:
bcdMBIMVersion 1.00
wMaxControlMessage 4096
bNumberFilters 32
bMaxFilterSize 128
wMaxSegmentSize 1430
bmNetworkCapabilities 0x20
8-byte ntb input size
UNRECOGNIZED CDC: 08 24 1c 00 01 40 dc 05
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 13
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 13
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
** UNRECOGNIZED: 2c ff 42 49 53 54 00 01 04 f5 40 f6 00 00 00 00 01 f7 c4 09 02 f8 88 13 03 f9 10 27 04 fa 10 27 00 09 04 00 00 1c d0 a7 c0 06 30 00
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 12
bNumDeviceCaps 1
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000000
(Missing must-be-set LPM bit!)
Device Status: 0x0000
(Bus Powered)
The MC7455 lsusb -vd output:
Bus 002 Device 018: ID 1199:9071 Sierra Wireless, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1199 Sierra Wireless, Inc.
idProduct 0x9071
bcdDevice 0.06
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 216
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 9
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 9
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 12
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 14
bFunctionProtocol 0
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 12
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 14
bInterfaceProtocol 0
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Union:
bMasterInterface 12
bSlaveInterface 13
CDC MBIM:
bcdMBIMVersion 1.00
wMaxControlMessage 4096
bNumberFilters 32
bMaxFilterSize 128
wMaxSegmentSize 2048
bmNetworkCapabilities 0x20
8-byte ntb input size
UNRECOGNIZED CDC: 08 24 1c 00 01 40 dc 05
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 13
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 13
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Sorry for dumping the big load on you. I now have the Gobi drivers installed and working. Not sure about the port yet as I tried to minicom and connect to the stated port cdc-wdm2 with AT commands. That didn’t work too great as I got a bunch of weird stuff in the output. So I’m getting closer to being able to communicate with the modem if I could just get the port right. Here’s the mmcli -m 0 output:
General | dbus path: /org/freedesktop/ModemManager1/Modem/0
| device id: 58b135d87dd47e667f0248627510008ec43f82d0
Hardware | manufacturer: Sierra Wireless, Incorporated
| model: DW5811e Snapdragon™ X7 LTE
| revision: SWI9X30C_02.24.05.06
| h/w revision: EM7455B
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 353990075893714
System | device: /sys/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2.4
| drivers: cdc_mbim
| plugin: Dell
| primary port: cdc-wdm2
| ports: wwp0s20u2u4i12 (net), cdc-wdm2 (mbim)
Numbers | own: 12089645968
Status | unlock retries: sim-pin2 (10)
| state: registered
| power state: on
| signal quality: 0% (cached)
Modes | supported: allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 3g, 4g; preferred: 3g
| allowed: 3g, 4g; preferred: 4g
| current: allowed: 3g, 4g; preferred: 4g
Bands | supported: utran-1, utran-3, utran-4, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
| eutran-12, eutran-13, eutran-20, eutran-25, eutran-41
| current: utran-1, utran-3, utran-4, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
| eutran-12, eutran-13, eutran-20, eutran-25, eutran-41
IP | supported: ipv4, ipv6, ipv4v6
3GPP | imei: 353990075893714
| enabled locks: fixed-dialing
| registration: searching
SIM | dbus path: /org/freedesktop/ModemManager1/SIM/0
Did you compare with mc7455 with mmcli?
Seems only mbim port is enabled.
Have you checked this?
Okay, after installing the Linux drivers, and running a perl script I found, I now have ttyUSB0-2 ports available, and can AT command them. Getting closer, and thanks for the help.
Okay jyijyi, I have all the driver files copied to my new Andriod 9 system, and the modem accessible with AT commands. Now I have to compile in the drivers. Here is where your suggestion using “insmod” command comes into play. However, I’m unfamiliar with what “.ko” file you are referencing.
You can have a look on
\AndroidRIL_V8.1.2.0_x86_64\Oreo_x86_Binary\AndroidRIL_V8.1.2_x86_64_bin\AndroidFS\init.rc
on property:persist.sys.ril.type=QMI
insmod /system/lib/modules/4.9.80-android-x86_64-svn/kernel/drivers/usb/serial/sierra.ko
insmod /system/lib/modules/4.9.80-android-x86_64-svn/kernel/drivers/net/usb/GobiNet.ko
start ril-daemon-qmi
But you can forget it as it already works on your platform