<div dir="ltr">Hi,<div><br></div><div>Maybe I should have inserted as well which qmicli I was using.</div><div><br></div><div><div># qmicli --version</div><div><br></div><div>qmicli 1.19.1</div><div>Copyright (C) 2012-2017 Aleksander Morgado</div><div>License GPLv2+: GNU GPL version 2 or later <<a href="http://gnu.org/licenses/gpl-2.0.html">http://gnu.org/licenses/gpl-2.0.html</a>></div><div>This is free software: you are free to change and redistribute it.</div><div>There is NO WARRANTY, to the extent permitted by law.</div><div><br></div><div>#</div></div><div><br></div><div>-Sebastian</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 13, 2017 at 8:28 AM, Sebastian Sjoholm <span dir="ltr"><<a href="mailto:sebastian.sjoholm@gmail.com" target="_blank">sebastian.sjoholm@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I am trying to get Quectel BG96 to work with qmicli. I have added the BG96 to option.c and qmi_wwan.c (see at the end of the email).</div><div><br></div><div>AT port works OK, also the DIAG port.</div><div><br></div><div>But I get timeout on qmi commands, which makes me suspect that maybe my addition to the qmi_wwan.c might not be correct. I have assumed that it would have been handled in the same way as EC21/EC25 and that might not be correct. The BG96 is based on Qualcomm MDM9206 which is different from the EC21/EC25 which uses Qualcomm MDM9207.</div><div><br></div><div>I can from QXDM see that I don't get any incoming QMI commands on the BG96.</div><div><br></div><div>Any hints how to proceed with this?</div><div><br></div><div>Regards,</div><div>Sebastian</div><div><br></div><div><div>root@sbc-bg96:/opt/libqmi# qmicli -d /dev/cdc-wdm0 -p --device-open-qmi --dms-get-ids -v</div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] Opening device with flags 'proxy'...</div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] loaded driver of cdc-wdm port: qmi_wwan</div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] sent message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 28</div><div><<<<<<   data   = 01:1B:00:00:00:00:00:01:00:FF:<wbr>10:00:01:0D:00:2F:64:65:76:2F:<wbr>63:64:63:2D:77:64:6D:30</div><div><br></div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] sent generic request (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 27</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "ctl"</div><div><<<<<<   client  = 0</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "none"</div><div><<<<<<   transaction = 1</div><div><<<<<<   tlv_length  = 16</div><div><<<<<<   message     = "Internal Proxy Open" (0xFF00)</div><div><<<<<< TLV:</div><div><<<<<<   type       = "Device Path" (0x01)</div><div><<<<<<   length     = 13</div><div><<<<<<   value      = 2F:64:65:76:2F:63:64:63:2D:77:<wbr>64:6D:30</div><div><<<<<<   translated = /dev/cdc-wdm0</div><div><br></div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] received message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 19</div><div><<<<<<   data   = 01:12:00:00:00:00:01:01:00:FF:<wbr>07:00:02:04:00:00:00:00:00</div><div><br></div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] received generic response (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 18</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "ctl"</div><div><<<<<<   client  = 0</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "response"</div><div><<<<<<   transaction = 1</div><div><<<<<<   tlv_length  = 7</div><div><<<<<<   message     = "Internal Proxy Open" (0xFF00)</div><div><<<<<< TLV:</div><div><<<<<<   type       = "Result" (0x02)</div><div><<<<<<   length     = 4</div><div><<<<<<   value      = 00:00:00:00</div><div><<<<<<   translated = SUCCESS</div><div><br></div><div>[13 Nov 2017, 07:46:43] [Debug] QMI Device at '/dev/cdc-wdm0' ready</div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] Assuming service 'dms' is supported...</div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] Allocating new client ID...</div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] sent message...</div><div><<<<<< RAW:</div><div><<<<<<   length = 16</div><div><<<<<<   data   = 01:0F:00:00:00:00:00:02:22:00:<wbr>04:00:01:01:00:02</div><div><br></div><div>[13 Nov 2017, 07:46:43] [Debug] [/dev/cdc-wdm0] sent generic request (translated)...</div><div><<<<<< QMUX:</div><div><<<<<<   length  = 15</div><div><<<<<<   flags   = 0x00</div><div><<<<<<   service = "ctl"</div><div><<<<<<   client  = 0</div><div><<<<<< QMI:</div><div><<<<<<   flags       = "none"</div><div><<<<<<   transaction = 2</div><div><<<<<<   tlv_length  = 4</div><div><<<<<<   message     = "Allocate CID" (0x0022)</div><div><<<<<< TLV:</div><div><<<<<<   type       = "Service" (0x01)</div><div><<<<<<   length     = 1</div><div><<<<<<   value      = 02</div><div><<<<<<   translated = dms</div><div><br></div><div>error: couldn't create client for the 'dms' service: CID allocation failed in the CTL client: Transaction timed out</div><div>#</div></div><div><br></div><div><div class="m_982294898561711151gmail_signature"><div dir="ltr"><div><span style="font-size:12.8px"># lsusb -t</span><br style="font-size:12.8px"><span style="font-size:12.8px">/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M</span><br style="font-size:12.8px"><span style="font-size:12.8px">    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M</span><br style="font-size:12.8px"><span style="font-size:12.8px">        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=option, 480M</span><br style="font-size:12.8px"><span style="font-size:12.8px">        |__ Port 1: Dev 3, If 1, Class=Vendor Specific Class, Driver=option, 480M</span><br style="font-size:12.8px"><span style="font-size:12.8px">        |__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=option, 480M</span><br style="font-size:12.8px"><span style="font-size:12.8px">        |__ Port 1: Dev 3, If 3, Class=Vendor Specific Class, Driver=option, 480M</span><br style="font-size:12.8px"><span style="font-size:12.8px">        |__ Port 1: Dev 3, If 4, Class=Vendor Specific Class, Driver=qmi_wwan, 480M</span><br style="font-size:12.8px"><span style="font-size:12.8px">/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M </span></div><div><span style="font-size:12.8px">#</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">lsusb -v printout:</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">Bus 002 Device 003: ID 2c7c:0296</span><br style="font-size:12.8px"><span style="font-size:12.8px">Device Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bLength                18</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bDescriptorType         1</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bcdUSB               2.00</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bDeviceClass            0 (Defined at Interface level)</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bDeviceSubClass         0</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bDeviceProtocol         0</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bMaxPacketSize0        64</span><br style="font-size:12.8px"><span style="font-size:12.8px">  idVendor           0x2c7c</span><br style="font-size:12.8px"><span style="font-size:12.8px">  idProduct          0x0296</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bcdDevice            0.00</span><br style="font-size:12.8px"><span style="font-size:12.8px">  iManufacturer           3 Qualcomm, Incorporated</span><br style="font-size:12.8px"><span style="font-size:12.8px">  iProduct                2 Qualcomm CDMA Technologies MSM</span><br style="font-size:12.8px"><span style="font-size:12.8px">  iSerial                 4 d1098243</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bNumConfigurations      1</span><br style="font-size:12.8px"><span style="font-size:12.8px">  Configuration Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">    bLength                 9</span><br style="font-size:12.8px"><span style="font-size:12.8px">    bDescriptorType         2</span><br style="font-size:12.8px"><span style="font-size:12.8px">    wTotalLength          145</span><br style="font-size:12.8px"><span style="font-size:12.8px">    bNumInterfaces          5</span><br style="font-size:12.8px"><span style="font-size:12.8px">    bConfigurationValue     1</span><br style="font-size:12.8px"><span style="font-size:12.8px">    iConfiguration          1 Qualcomm Configuration</span><br style="font-size:12.8px"><span style="font-size:12.8px">    bmAttributes         0xe0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Self Powered</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Remote Wakeup</span><br style="font-size:12.8px"><span style="font-size:12.8px">    MaxPower              500mA</span><br style="font-size:12.8px"><span style="font-size:12.8px">    Interface Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bLength                 9</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bDescriptorType         4</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceNumber        0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bAlternateSetting       0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bNumEndpoints           2</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceClass       255 Vendor Specific Class</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceSubClass    255 Vendor Specific Subclass</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceProtocol    255 Vendor Specific Protocol</span><br style="font-size:12.8px"><span style="font-size:12.8px">      iInterface              0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x81  EP 1 IN</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x01  EP 1 OUT</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">    Interface Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bLength                 9</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bDescriptorType         4</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceNumber        1</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bAlternateSetting       0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bNumEndpoints           2</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceClass       255 Vendor Specific Class</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceSubClass    255 Vendor Specific Subclass</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceProtocol    255 Vendor Specific Protocol</span><br style="font-size:12.8px"><span style="font-size:12.8px">      iInterface              0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x82  EP 2 IN</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x02  EP 2 OUT</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">    Interface Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bLength                 9</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bDescriptorType         4</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceNumber        2</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bAlternateSetting       0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bNumEndpoints           3</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceClass       255 Vendor Specific Class</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceSubClass    255 Vendor Specific Subclass</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceProtocol    255 Vendor Specific Protocol</span><br style="font-size:12.8px"><span style="font-size:12.8px">      iInterface              0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x83  EP 3 IN</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            3</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Interrupt</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0040  1x 64 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               5</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x84  EP 4 IN</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x03  EP 3 OUT</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">    Interface Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bLength                 9</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bDescriptorType         4</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceNumber        3</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bAlternateSetting       0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bNumEndpoints           3</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceClass       255 Vendor Specific Class</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceSubClass    254</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceProtocol    255</span><br style="font-size:12.8px"><span style="font-size:12.8px">      iInterface              0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x85  EP 5 IN</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            3</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Interrupt</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0040  1x 64 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               5</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x86  EP 6 IN</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x04  EP 4 OUT</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">    Interface Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bLength                 9</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bDescriptorType         4</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceNumber        4</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bAlternateSetting       0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bNumEndpoints           3</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceClass       255 Vendor Specific Class</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceSubClass    255 Vendor Specific Subclass</span><br style="font-size:12.8px"><span style="font-size:12.8px">      bInterfaceProtocol    255 Vendor Specific Protocol</span><br style="font-size:12.8px"><span style="font-size:12.8px">      iInterface              0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x87  EP 7 IN</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            3</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Interrupt</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0040  1x 64 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               5</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x88  EP 8 IN</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">      Endpoint Descriptor:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bLength                 7</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bDescriptorType         5</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bEndpointAddress     0x05  EP 5 OUT</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bmAttributes            2</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Transfer Type            Bulk</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Synch Type               None</span><br style="font-size:12.8px"><span style="font-size:12.8px">          Usage Type               Data</span><br style="font-size:12.8px"><span style="font-size:12.8px">        wMaxPacketSize     0x0200  1x 512 bytes</span><br style="font-size:12.8px"><span style="font-size:12.8px">        bInterval               0</span><br style="font-size:12.8px"><span style="font-size:12.8px">Device Qualifier (for other device speed):</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bLength                10</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bDescriptorType         6</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bcdUSB               2.00</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bDeviceClass            0 (Defined at Interface level)</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bDeviceSubClass         0</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bDeviceProtocol         0</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bMaxPacketSize0        64</span><br style="font-size:12.8px"><span style="font-size:12.8px">  bNumConfigurations      1</span><br style="font-size:12.8px"><span style="font-size:12.8px">Device Status:     0x0000</span><br style="font-size:12.8px"><span style="font-size:12.8px">  (Bus Powered)</span><br style="font-size:12.8px"><br style="font-size:12.8px"><div><span style="font-size:12.8px"># uname -a</span></div><div><span style="font-size:12.8px">Linux sbc-bg96 4.13.12-BG96-dirty #1 SMP Sun Nov 12 16:33:31 CET 2017 armv7l GNU/Linux</span></div><div><span style="font-size:12.8px"># </span></div><br style="font-size:12.8px"><span style="font-size:12.8px">diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c index 8c37336..feb11fc 100644</span><br style="font-size:12.8px"><span style="font-size:12.8px">--- a/drivers/net/usb/qmi_wwan.c</span><br style="font-size:12.8px"><span style="font-size:12.8px">+++ b/drivers/net/usb/qmi_wwan.c</span><br style="font-size:12.8px"><span style="font-size:12.8px">@@ -1238,6 +1238,7 @@ static const struct usb_device_id products[] = {</span><br style="font-size:12.8px"><span style="font-size:12.8px">        {QMI_FIXED_INTF(0x1e0e, 0x9001, 5)},    /* SIMCom 7230E */</span><br style="font-size:12.8px"><span style="font-size:12.8px">        {QMI_QUIRK_SET_DTR(0x2c7c, 0x0125, 4)}, /* Quectel EC25, EC20 R2.0  Mini PCIe */</span><br style="font-size:12.8px"><span style="font-size:12.8px">        {QMI_QUIRK_SET_DTR(0x2c7c, 0x0121, 4)}, /* Quectel EC21 Mini PCIe */</span><br style="font-size:12.8px"><span style="font-size:12.8px">+       {QMI_QUIRK_SET_DTR(0x2c7c, 0x0296, 4)}, /* Quectel ECBG96 */</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">        /* 4. Gobi 1000 devices */</span><br style="font-size:12.8px"><span style="font-size:12.8px">        {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},    /* Acer Gobi Modem Device */</span><br style="font-size:12.8px"><span style="font-size:12.8px">diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index db3d34c..c0ddfef 100644</span><br style="font-size:12.8px"><span style="font-size:12.8px">--- a/drivers/usb/serial/option.c</span><br style="font-size:12.8px"><span style="font-size:12.8px">+++ b/drivers/usb/serial/option.c</span><br style="font-size:12.8px"><span style="font-size:12.8px">@@ -241,6 +241,7 @@ static void option_instat_callback(struct urb *urb);</span><br style="font-size:12.8px"><span style="font-size:12.8px"> /* These Quectel products use Quectel's vendor ID */</span><br style="font-size:12.8px"><span style="font-size:12.8px"> #define QUECTEL_PRODUCT_EC21                   0x0121</span><br style="font-size:12.8px"><span style="font-size:12.8px"> #define QUECTEL_PRODUCT_EC25                   0x0125</span><br style="font-size:12.8px"><span style="font-size:12.8px">+#define QUECTEL_PRODUCT_BG96                   0x0296</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px"> #define CMOTECH_VENDOR_ID                      0x16d8</span><br style="font-size:12.8px"><span style="font-size:12.8px"> #define CMOTECH_PRODUCT_6001                   0x6001</span><br style="font-size:12.8px"><span style="font-size:12.8px">@@ -1185,6 +1186,8 @@ static const struct usb_device_id option_ids[] = {</span><br style="font-size:12.8px"><span style="font-size:12.8px">          .driver_info = (kernel_ulong_t)&net_intf4_bla</span><span style="font-size:12.8px"><wbr>cklist },</span><br style="font-size:12.8px"><span style="font-size:12.8px">        { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25),</span><br style="font-size:12.8px"><span style="font-size:12.8px">          .driver_info = (kernel_ulong_t)&net_intf4_bla</span><span style="font-size:12.8px"><wbr>cklist },</span><br style="font-size:12.8px"><span style="font-size:12.8px">+        { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),</span><br style="font-size:12.8px"><span style="font-size:12.8px">+          .driver_info = (kernel_ulong_t)&net_intf4_bla</span><span style="font-size:12.8px"><wbr>cklist },</span><br style="font-size:12.8px"><span style="font-size:12.8px">        { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },</span><br style="font-size:12.8px"><span style="font-size:12.8px">        { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },</span><br style="font-size:12.8px"><span style="font-size:12.8px">        { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6003),</span><br style="font-size:12.8px"></div></div></div>
</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small">Sebastian Sjöholm</span><br style="font-size:small"><br style="font-size:small"><span style="font-size:small">Simborgarvägen 116</span><br style="font-size:small"><span style="font-size:small">SE-18439 Åkersberga</span><br style="font-size:small"><span style="font-size:small">Sverige</span><br style="font-size:small"><br style="font-size:small"><span style="font-size:small">Mobile : +46 76 335 0667</span><br style="font-size:small"><span style="font-size:small">Email : </span><a href="mailto:sebastian.sjoholm@gmail.com" style="color:rgb(17,85,204);font-size:small" target="_blank">sebastian.sjoholm@gmail.com</a><br style="font-size:small"><span style="font-size:small">Skype : ssjoholm</span><br></div></div></div>
</div>