Sierra Wireless WP7607 module

Nicolas.serafini nicolas.serafini at pm.me
Wed Aug 29 07:56:05 UTC 2018


Hi,
I have a Sierra Wireless WP7607 module plugged into a mangoh red board.
THe module is working with a full linux distribution using NetworkManager and a ppp interface but on my embedded custom board I would like to use the wwan0 interface.
I try to configure the module using qmicli but I always have timeout.
I already ask the Sierra wireless forum for the compatibility of the module with the qmi_wwan driver
https://forum.sierrawireless.com/t/wp7607-qmi-interface-with-linux-kernel-driver/13662

I tried several configurations and always the same result.
Configurations was :
- Custom embedded board with custom buildroot distribution and linux kernel 4.9
- Debian 9 (stretch) server with 4.9 kernel running into VmWare
- Ubuntu 18.04.1 LTS server with 4.15 kernel running into VmWare

For each qmicli request (with and without proxy) and for each services I have always the same result
  error: couldn't create client for the 'SERVICE-NAME' service: CID allocation failed in the CTL client: Transaction timed out

I also tried with a compiled master version of libqmi and still the same result.
Does someone have an idea ?

Here is an example of the output of qmicli in verbose:
$ qmicli -v -d /dev/cdc-wdm0 --dms-get-manufacturer
[29 Aug 2018, 09:48:38] [Debug] [/dev/cdc-wdm0] Opening device with flags 'none'...
[29 Aug 2018, 09:48:38] [Debug] QMI Device at '/dev/cdc-wdm0' ready
[29 Aug 2018, 09:48:38] [Debug] [/dev/cdc-wdm0] Assuming service 'dms' is supported...
[29 Aug 2018, 09:48:38] [Debug] [/dev/cdc-wdm0] Allocating new client ID...
[29 Aug 2018, 09:48:38] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:0F:00:00:00:00:00:01:22:00:04:00:01:01:00:02

[29 Aug 2018, 09:48:38] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< QMUX:
<<<<<<   length  = 15
<<<<<<   flags   = 0x00
<<<<<<   service = "ctl"
<<<<<<   client  = 0
<<<<<< QMI:
<<<<<<   flags       = "none"
<<<<<<   transaction = 1
<<<<<<   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

Here is my kernel output :
[33743.553862] usb 2-4.1: new high-speed USB device number 15 using xhci_hcd
[33743.775231] usb 2-4.1: config 1 has an invalid interface number: 8 but max is 4
[33743.775233] usb 2-4.1: config 1 has an invalid interface number: 19 but max is 4
[33743.775234] usb 2-4.1: config 1 has an invalid interface number: 20 but max is 4
[33743.775235] usb 2-4.1: config 1 has an invalid interface number: 20 but max is 4
[33743.775236] usb 2-4.1: config 1 has no interface number 1
[33743.775237] usb 2-4.1: config 1 has no interface number 2
[33743.775238] usb 2-4.1: config 1 has no interface number 4
[33743.783130] usb 2-4.1: New USB device found, idVendor=1199, idProduct=68c0
[33743.783132] usb 2-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[33743.783133] usb 2-4.1: Product: WP7607
[33743.783134] usb 2-4.1: Manufacturer: Sierra Wireless, Incorporated
[33743.783135] usb 2-4.1: SerialNumber: VN74538548070331
[33743.788846] qcserial 2-4.1:1.0: Qualcomm USB modem converter detected
[33743.788941] usb 2-4.1: Qualcomm USB modem converter now attached to ttyUSB0
[33743.790455] qcserial 2-4.1:1.3: Qualcomm USB modem converter detected
[33743.790510] usb 2-4.1: Qualcomm USB modem converter now attached to ttyUSB1
[33743.793735] qmi_wwan 2-4.1:1.8: cdc-wdm0: USB WDM device
[33743.794102] qmi_wwan 2-4.1:1.8 wwan0: register 'qmi_wwan' at usb-0000:03:00.0-4.1, WWAN/QMI device, c2:2b:a0:92:31:61
[33743.800869] cdc_ether 2-4.1:1.19 usb0: register 'cdc_ether' at usb-0000:03:00.0-4.1, CDC Ethernet Device, 02:78:6a:db:a3:13
[33743.812073] qmi_wwan 2-4.1:1.8 wws160u4u1i8: renamed from wwan0
[33743.826791] cdc_ether 2-4.1:1.19 ens160u4u1i19: renamed from usb0

Here is mmcli output:
$ mmcli -m 5
/org/freedesktop/ModemManager1/Modem/5 (device id '216e563ac1e163ef5ae5e1a99b882162db15d5b3')
  -------------------------
  Hardware |   manufacturer: 'Sierra Wireless, Incorporated'
                  |          model: 'WP7607'
                  |       revision: 'SWI9X07Y_02.16.02.00 000000 jenkins 2018/04/19 19:59:02'
                  |      supported: 'gsm-umts'
                  |        current: 'gsm-umts'
                  |   equipment id: '359779080104769'
  -------------------------
  System   |         device: '/sys/devices/pci0000:00/0000:00:15.0/0000:03:00.0/usb2/2-4/2-4.1'
                 |        drivers: 'qmi_wwan, qcserial, cdc_ether'
                 |         plugin: 'Sierra'
                 |   primary port: 'ttyUSB1'
                 |          ports: 'ens160u4u1i19 (net), ttyUSB1 (at), ttyUSB0 (qcdm), wws160u4u1i8 (net)'
  -------------------------
  Numbers  |           own : 'unknown'
  -------------------------
  Status   |           lock: 'sim-pin'
               | unlock retries: 'unknown'
               |          state: 'locked'
               |    power state: 'on'
               |    access tech: 'unknown'
               | signal quality: '0' (cached)
  -------------------------
  Modes    |      supported: 'allowed: any; preferred: none'
                 |        current: 'allowed: any; preferred: none'
  -------------------------
  Bands    |      supported: 'unknown'
                |        current: 'unknown'
  -------------------------
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  -------------------------
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/5'
  -------------------------
  Bearers  |          paths: 'none'

Here is  usb-devices output:
$ usb-devices
T:  Bus=02 Lev=02 Prnt=05 Port=00 Cnt=01 Dev#= 15 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1199 ProdID=68c0 Rev=03.18
S:  Manufacturer=Sierra Wireless, Incorporated
S:  Product=WP7607
S:  SerialNumber=VN74538548070331
C:  #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=qcserial
I:  If#=13 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
I:  If#=14 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial
I:  If#= 8 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan

Here is lsusb -t output:
$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 14, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 2: Dev 14, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 3: Dev 4, If 0, Class=Hub, Driver=hub/7p, 12M
    |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/7p, 480M
        |__ Port 1: Dev 15, If 0, Class=Vendor Specific Class, Driver=qcserial, 480M
        |__ Port 1: Dev 15, If 3, Class=Vendor Specific Class, Driver=qcserial, 480M
        |__ Port 1: Dev 15, If 20, Class=CDC Data, Driver=cdc_ether, 480M
        |__ Port 1: Dev 15, If 19, Class=Communications, Driver=cdc_ether, 480M
        |__ Port 1: Dev 15, If 8, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M

Here is lsusb -v output:
$ lsusb -d 1199: -v
Bus 002 Device 015: ID 1199:68c0 Sierra Wireless, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x1199 Sierra Wireless, Inc.
  idProduct          0x68c0
  bcdDevice            3.18
  iManufacturer           1 Sierra Wireless, Incorporated
  iProduct                2 WP7607
  iSerial                 3 VN74538548070331
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          194
    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        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     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        8
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              7 rmnet-qmap-1
      ** UNRECOGNIZED:  04 24 00 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 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        19
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       6 Ethernet Networking
      bFunctionProtocol       0
      iFunction              11 CDC ECM
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber       19
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0
      iInterface              8 CDC Ethernet Control Model (ECM)
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        19
        bSlaveInterface         20
      CDC Ethernet:
        iMacAddress                      9 02786adba313
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber       20
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber       20
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface             10 CDC Ethernet Data
      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
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libqmi-devel/attachments/20180829/b24a23a0/attachment-0001.html>


More information about the libqmi-devel mailing list