WP76 with qmicli

Hi, I want to use qmi_wwan and qmicli with WP76 module, but I saw the following that no response on QMI message. Any idea?

owner@ubuntu:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/7p, 12M
        |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/7p, 480M
        |__ Port 1: Dev 14, If 0, Class=Vendor Specific Class, Driver=qcserial, 480M
        |__ Port 1: Dev 14, If 2, Class=Vendor Specific Class, Driver=qcserial, 480M
        |__ Port 1: Dev 14, If 3, Class=Vendor Specific Class, Driver=qcserial, 480M
        |__ Port 1: Dev 14, If 8, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
        |__ Port 1: Dev 14, If 19, Class=Communications, Driver=cdc_ether, 480M
        |__ Port 1: Dev 14, If 20, Class=CDC Data, Driver=cdc_ether, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/7p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
owner@ubuntu:~$ sudo qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-manufacturer -v
[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] Opening device with flags 'proxy, auto'...
[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] loaded driver of cdc-wdm port: qmi_wwan
[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] automatically selecting QMI mode
[09 Mar 2021, 16:32:41] [Debug] cannot connect to proxy: Could not connect: Connection refused
[09 Mar 2021, 16:32:41] [Debug] spawning new qmi-proxy (try 1)...
[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] sent message...
<<<<<< RAW:
<<<<<<   length = 28
<<<<<<   data   = 01:1B:00:00:00:00:00:01:00:FF:10:00:01:0D:00:2F:64:65:76:2F:63:64:63:2D:77:64:6D:30

[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] sent generic request (translated)...
<<<<<< QMUX:
<<<<<<   length  = 27
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 16
<<<<<<   message     = "Internal Proxy Open" (0xFF00)
<<<<<< TLV:
<<<<<<   type       = "Device Path" (0x01)
<<<<<<   length     = 13
<<<<<<   value      = 2F:64:65:76:2F:63:64:63:2D:77:64:6D:30
<<<<<<   translated = /dev/cdc-wdm0

[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] received message...
<<<<<< RAW:
<<<<<<   length = 19
<<<<<<   data   = 01:12:00:80:00:00:01:01:00:FF:07:00:02:04:00:00:00:00:00

[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] received generic response (translated)...
<<<<<< QMUX:
<<<<<<   length  = 18
<<<<<<   flags   = 0x80
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "response"
<<<<<<   transaction = 1
<<<<<<   tlv_length  = 7
<<<<<<   message     = "Internal Proxy Open" (0xFF00)
<<<<<< TLV:
<<<<<<   type       = "Result" (0x02)
<<<<<<   length     = 4
<<<<<<   value      = 00:00:00:00
<<<<<<   translated = SUCCESS

[09 Mar 2021, 16:32:41] [Debug] QMI Device at '/dev/cdc-wdm0' ready
[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] Assuming service 'dms' is supported...
[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] Allocating new client ID...
[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:0F:00:00:00:00:00:02:22:00:04:00:01:01:00:02

[09 Mar 2021, 16:32:41] [Debug] [/dev/cdc-wdm0] sent generic request (translated)...
<<<<<< QMUX:
<<<<<<   length  = 15
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 2
<<<<<<   tlv_length  = 4
<<<<<<   message     = "Allocate CID" (0x0022)
<<<<<< TLV:
<<<<<<   type       = "Service" (0x01)
<<<<<<   length     = 1
<<<<<<   value      = 02
<<<<<<   translated = dms

error: couldn't create client for the 'dms' service: CID allocation failed in the CTL client: Transaction timed out
owner@ubuntu:~$

Hi @jyijyi,

I have reproduced your steps on my WP7601, this error does not happen.
log.txt (7.3 KB)

  1. Which WP76 device do you use?

If your device is not running on latest FW, please upgrade it latest firmware and try it again.

Thanks,

Ok, i will try your fw.
May i know if you are using the default qmi_wwan driver in ubuntu?
If so, which ubuntu version are you using?

Hi,

Does all WP series support qmicli?

Hi @jyijyi,

I use Ubuntu 18.04.2 with Sierra Linux QMI Driver (https://source.sierrawireless.com/resources/airprime/software/usb-drivers-linux-qmi-software-s2,-d-,38n2,-d-,59/#sthash.QusgYo4o.dpbs), you can install this driver and try it again.

Thanks,

Hi @fashionshow0,

Currently, Sierra Wireless is selling WP series, include: WP7605, WP7607, WP7608, WP7609, WP7611, WP7702. All the devices support qmi mode.

If you have other issues/concerns, please create a new topic.

Thanks,

Hi @jerdung

The gobinet driver is for enumerating /dev/qcqmi0 port.
And qmicli is using /dev/cdc-wdm0, are you using generic qmi_wwan driver?

@jyijyi

thanks, so the qmi-firmware-update is also supported?

Hi @jyijyi,
I think your kernel lacks this patch:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/usb/qmi_wwan.c?id=97dc47a1308a3af46a09b1546cfb869f2e382a81
(“qmi_wwan: apply SET_DTR quirk to Sierra WP7607”).
Regards,
Reinhard