M2X extension - LTE Modem Driver missing

The qcserial driver is missing in the current ubuntu firmware. An LTE modem can work without it. In Android the modem is also not recognized.

In Manjaro with current kernel (5.3.0-rc5) it is detected but does not connect.

I’ve just received my Hewlett Packard modem which I’ve plugged into M2X board on VIM3 Pro - it seems like NetworkManager recognizes it but somehow it soesn’t work - normally I use LTE/3G modem with gammu - unfortunately sudo gammu --identify is unable to see the modem.

Interestingly enough when I list USB devices with lsusb, modem is visible, but when listing PCI express - not lspci

I did switch USB 3.0 to PCIE on my VIM according to manual.

Any ideas?

I run VIM3 Pro with Ubuntu Bionic Xfce built from source.

Can you post the output of usb-devices?

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 013: ID 03f0:9d1d Hewlett-Packard
Bus 001 Device 003: ID 046d:c534 Logitech, Inc. unifying Receiver
Bus 001 Device 002: ID 1a40:0801 Terminus Technology Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Modem is this one:

Bus 001 Device 013: ID 03f0:9d1d Hewlett-Packard

@Gouwa, @numbqq, any advice?

Hello @Gytis

We only tested HUAWEI ME906s on VIM3. So I’m not sure for other device.

Can you provide the model of Hewlett Packard modem? The link?

It is this device: LT4120 Snapdragon X5 LTE T77W595 796927-100 4G WWAN M2 MODULE For HP Probook/EliteBook 820 840 850 745 G3 faster than ME906E
https://s.click.aliexpress.com/e/eDGn3jHq

Hello @Gytis

I have added a patch to support LTE modem. Please update your kernel and try again.

root@Khadas:~# gammu --identify
Warning: No configuration file found!
Warning: No configuration read, using builtin defaults!
Device               : /dev/ttyUSB0
Manufacturer         : Huawei
Model                : unknown (ME906s-158)
Firmware             : 11.617.16.00.00
IMEI                 : 867160026034664
Can not access SIM card.
4 Likes

In my case modem still doesn’t work :neutral_face:

According to AliExpress my modem is following:

The Qualcomm Snapdragon X5 LTE Modem was the mobile industry's first to implement 4G LTE Advanced carrier aggregation, achieving and LTE Category 4 peak download data rates of up to 150Mbps by aggregation of two 10MHz LTE

Foxconn Model:T77W595
HP P/N:796927-100
Chipset:MDM9625 Qualcomm
Interface:PCI-e M.2

Shall I try to change #define HUAWEI_VENDOR_ID 0x12d1 to 03f0?

Gytis,did you create your own firmware?

No, just building from sources using fenix script.

hi
most of usb modem drivers its same drivers/usb/serial.c
nothing special just add VIP:PID for your modem

static const struct usb_device_id option_ids[] = {

and rebuild kernel modules

1 Like

[LTE: add HauWei 4G model support]

HauWei => HuaWei ))))

1 Like

I have added following to linux/drivers/usb/serial/option.c:

	{ USB_DEVICE(0x03f0, 0x9d1d) },

And rebuilt Kernel - still modem is not identified by sudo gammu --identify :neutral_face:

provide dmesg output part for modem insertions

check sources plz , may be u need add another definitions like next

 grep 0x03f0 option.c 
	{ USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) },	/* HP lt2523 (Novatel E371) */
	{ USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x10) },	/* HP lt4132 (Huawei ME906s-158) */
	{ USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x12) },
	{ USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x13) },
	{ USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x14) },
	{ USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x1b) },

Here is the full dmesg output of my VIM3.

Also just to make sure my M2X extension board works - I have Samsung 970 Evo Plus M2 storage plugged in - works as expected.

dmesg - not have any usefull informations :wink:
please provide

lsmod 
lsusb
dmesg -c 

before modem insertion and after

Please find output of mentioned commands here.

@hyphop, @Gouwa, any ideas?

hi again!

plz check how OPTION compiled as modules or build in kernel

# zcat /proc/config.gz | grep SERIAL_OPTION
CONFIG_USB_SERIAL_OPTION=m

if module compilled as builtin CONFIG_USB_SERIAL_OPTION=y
plz rebuild as module

and be sure u run proper image kernel and modules
uname -a

after this m plz do it next cycle

$ dmesg -c > /dev/null
$ modprobe option
$ lsmod | grep option

option                 53248  0
usb_wwan               20480  1 option
usbserial              45056  3 option,ch341,usb_wwan

$ dmes -c 

$ rmmod option

and watch what happens