qmi_wwan_simcom driver

Sebastian Sjoholm sebastian.sjoholm at gmail.com
Sun Jul 19 13:04:08 UTC 2020


Hi,

Here is an update on SIM8200 running on 5.6 mainline kernel, with no
changes and is working well.

-Sebastian

ati
Manufacturer: SIMCOM INCORPORATED
Model: SIMCOM_SIM8200EA-M2
Revision: SIM8200EA-M2_V1.2
IMEI:
+GCAP: +CGSM

OK

root at al05p2:~# uname -a
Linux al05p2 5.6.0-2-amd64 #1 SMP Debian 5.6.14-2 (2020-06-09) x86_64
GNU/Linux
root at al05p2:~# lsusb
Bus 002 Device 002: ID 1e0e:9001 Qualcomm / Option SDXPRAIRIE-MTP
_SN:D19C4AC3
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root at al05p2:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 5000M
    |__ Port 3: Dev 2, If 0, Class=Vendor Specific Class, Driver=option,
5000M
    |__ Port 3: Dev 2, If 1, Class=Vendor Specific Class, Driver=option,
5000M
    |__ Port 3: Dev 2, If 2, Class=Vendor Specific Class, Driver=option,
5000M
    |__ Port 3: Dev 2, If 3, Class=Vendor Specific Class, Driver=option,
5000M
    |__ Port 3: Dev 2, If 4, Class=Vendor Specific Class, Driver=option,
5000M
    |__ Port 3: Dev 2, If 5, Class=Vendor Specific Class, Driver=qmi_wwan,
5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 480M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
root at al05p2:~# qmicli --version
qmicli 1.26.0
Copyright (C) 2012-2020 Aleksander Morgado
License GPLv2+: GNU GPL version 2 or later <
http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

root at al05p2:~# /usr/bin/qmicli -p -d /dev/cdc-wdm0
--wds-get-packet-service-status
[/dev/cdc-wdm0] Connection status: 'disconnected'
root at al05p2:~# /usr/bin/qmicli -p -d /dev/cdc-wdm0
--wds-start-network="ip-type=4,apn=dnn1.cn59" --client-no-release-cid
[/dev/cdc-wdm0] Network started
Packet data handle: '1446139168'
[/dev/cdc-wdm0] Client ID not released:
Service: 'wds'
   CID: '15'
root at al05p2:~# /usr/bin/qmicli -p -d /dev/cdc-wdm0
--wds-get-packet-service-status
[/dev/cdc-wdm0] Connection status: 'connected'
root at al05p2:~# /sbin/udhcpc -q -O mtu -f -S -n -i wwan0
udhcpc: started, v1.30.1
udhcpc: sending discover
udhcpc: sending select for 21.148.240.36
udhcpc: lease of 21.148.240.36 obtained, lease time 7200
ip: RTNETLINK answers: File exists
root at al05p2:~# /sbin/ip route add 10.88.1.78 dev wwan0
root at al05p2:~# ping -c 20 10.88.1.78
PING 10.88.1.78 (10.88.1.78) 56(84) bytes of data.
64 bytes from 10.88.1.78: icmp_seq=1 ttl=54 time=23.9 ms
64 bytes from 10.88.1.78: icmp_seq=2 ttl=54 time=19.5 ms
64 bytes from 10.88.1.78: icmp_seq=3 ttl=54 time=15.4 ms
64 bytes from 10.88.1.78: icmp_seq=4 ttl=54 time=20.1 ms
64 bytes from 10.88.1.78: icmp_seq=5 ttl=54 time=13.5 ms
64 bytes from 10.88.1.78: icmp_seq=6 ttl=54 time=19.5 ms
64 bytes from 10.88.1.78: icmp_seq=7 ttl=54 time=12.5 ms
64 bytes from 10.88.1.78: icmp_seq=8 ttl=54 time=20.5 ms
64 bytes from 10.88.1.78: icmp_seq=9 ttl=54 time=13.5 ms
64 bytes from 10.88.1.78: icmp_seq=10 ttl=54 time=19.8 ms
64 bytes from 10.88.1.78: icmp_seq=11 ttl=54 time=13.2 ms
64 bytes from 10.88.1.78: icmp_seq=12 ttl=54 time=20.1 ms
64 bytes from 10.88.1.78: icmp_seq=13 ttl=54 time=13.2 ms
64 bytes from 10.88.1.78: icmp_seq=14 ttl=54 time=20.2 ms
64 bytes from 10.88.1.78: icmp_seq=15 ttl=54 time=21.5 ms
64 bytes from 10.88.1.78: icmp_seq=16 ttl=54 time=18.5 ms
64 bytes from 10.88.1.78: icmp_seq=17 ttl=54 time=20.0 ms
64 bytes from 10.88.1.78: icmp_seq=18 ttl=54 time=19.5 ms
64 bytes from 10.88.1.78: icmp_seq=19 ttl=54 time=20.6 ms
64 bytes from 10.88.1.78: icmp_seq=20 ttl=54 time=17.5 ms

--- 10.88.1.78 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19018ms
rtt min/avg/max/mdev = 12.518/18.131/23.868/3.256 ms
root at al05p2:~# /usr/bin/qmicli -p -d /dev/cdc-wdm0
--wds-stop-network=1446139168 --client-cid=15
Network cancelled... releasing resources
[/dev/cdc-wdm0] Network stopped
root at al05p2:~# /usr/bin/qmicli -p -d /dev/cdc-wdm0
--wds-get-packet-service-status
[/dev/cdc-wdm0] Connection status: 'disconnected'
root at al05p2:~#



On Sun, May 17, 2020 at 5:57 PM Sebastian Sjoholm <
sebastian.sjoholm at gmail.com> wrote:

> Hi,
>
> This need to be re-tested as I have some issues with the latest version.
>
> However, the USB id that is in the attached source of the SimCom driver
> does not match the SIM8200 listed here, maybe something that might change.
>
> Noted that the wMaxPacketSize has grown from 512bytes to 1024bytes
> compared from the earlier version.
>
> the lsusb printouts;
>
> root at al05p3:~# lsusb
> Bus 002 Device 002: ID 05c6:90db Qualcomm, Inc. SDXPRAIRIE-MTP _SN:D19C4AC3
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> root at al05p3:~# lsusb -d 05c6:90db -v
>
> Bus 002 Device 002: ID 05c6:90db Qualcomm, Inc. SDXPRAIRIE-MTP _SN:D19C4AC3
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               3.20
>   bDeviceClass            0
>   bDeviceSubClass         0
>   bDeviceProtocol         0
>   bMaxPacketSize0         9
>   idVendor           0x05c6 Qualcomm, Inc.
>   idProduct          0x90db
>   bcdDevice            4.14
>   iManufacturer           1 QCOM
>   iProduct                2 SDXPRAIRIE-MTP _SN:D19C4AC3
>   iSerial                 3 12345678
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength       0x00ee
>     bNumInterfaces          6
>     bConfigurationValue     1
>     iConfiguration          4 DIAG_SER_RMNET_DPL_QDSS_ADB
>     bmAttributes         0x80
>       (Bus Powered)
>     MaxPower              896mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol     48
>       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     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x01  EP 1 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               0
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        1
>       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
>         bMaxBurst               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x02  EP 2 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               0
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        2
>       bAlternateSetting       0
>       bNumEndpoints           3
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              5 CDEV Serial
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0008  1x 8 bytes
>         bInterval               9
>         bMaxBurst               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8e  EP 14 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               6
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x0f  EP 15 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               2
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        3
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              6 DPL Data
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8f  EP 15 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        4
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol    255 Vendor Specific Protocol
>       iInterface              7 QDSS DATA
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x85  EP 5 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               1
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        5
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass     66
>       bInterfaceProtocol      1
>       iInterface              8 ADB Interface
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x03  EP 3 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x86  EP 6 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               0
> Binary Object Store Descriptor:
>   bLength                 5
>   bDescriptorType        15
>   wTotalLength       0x002a
>   bNumDeviceCaps          3
>   USB 2.0 Extension Device Capability:
>     bLength                 7
>     bDescriptorType        16
>     bDevCapabilityType      2
>     bmAttributes   0x00000006
>       BESL Link Power Management (LPM) Supported
>   SuperSpeed USB Device Capability:
>     bLength                10
>     bDescriptorType        16
>     bDevCapabilityType      3
>     bmAttributes         0x00
>     wSpeedsSupported   0x000f
>       Device can operate at Low Speed (1Mbps)
>       Device can operate at Full Speed (12Mbps)
>       Device can operate at High Speed (480Mbps)
>       Device can operate at SuperSpeed (5Gbps)
>     bFunctionalitySupport   1
>       Lowest fully-functional device speed is Full Speed (12Mbps)
>     bU1DevExitLat           1 micro seconds
>     bU2DevExitLat         500 micro seconds
>   SuperSpeedPlus USB Device Capability:
>     bLength                20
>     bDescriptorType        16
>     bDevCapabilityType     10
>     bmAttributes         0x00000001
>       Sublink Speed Attribute count 1
>       Sublink Speed ID count 0
>     wFunctionalitySupport   0x1100
>     bmSublinkSpeedAttr[0]   0x000a4030
>       Speed Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus
>     bmSublinkSpeedAttr[1]   0x000a40b0
>       Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus
> can't get debug descriptor: Resource temporarily unavailable
> Device Status:     0x0000
>   (Bus Powered)
> root at al05p3:~#
>
> Regards,
> Sebastian
>
> On Mon, May 11, 2020 at 6:10 PM Sebastian Sjoholm <
> sebastian.sjoholm at gmail.com> wrote:
>
>> Hi,
>>
>> I have been using SIM8200AE with the mainline QMI_WWAN, just adding the
>> USB id in as qmi_fixed_intf. But I haven't been able to run it that much.
>>
>> Regards,
>> Sebastian
>>
>> On Mon, May 11, 2020 at 5:27 PM Aleksander Morgado <
>> aleksander at aleksander.es> wrote:
>>
>>> Hey Bjørn,
>>>
>>> Looks like Simcom shares a driver with their users for their SDX55
>>> based module; any idea if this is truly necessary?
>>> https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/209
>>>
>>> It looks like it just forces the interface to be raw-ip, but I assume
>>> this is already handled by userspace as usual.
>>>
>>> --
>>> Aleksander
>>> https://aleksander.es
>>> _______________________________________________
>>> libqmi-devel mailing list
>>> libqmi-devel at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/libqmi-devel
>>>
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libqmi-devel/attachments/20200719/cd758410/attachment-0001.htm>


More information about the libqmi-devel mailing list