No TX with wwan0 using Quectel BG96 and qmi_wwan

Simon Rijk s.rijk at viriciti.com
Fri Nov 1 09:22:27 UTC 2019


*Hello,*

*We are trying to get the Quectel BG96 modem to work with qmi_wwan using
ModemManager and NetworkManager. *
*Basically, we can only receive data but we cannot transmit data. We have
tried TCP, UDP and ICMP packets. All information on our efforts is
described below:*

*We followed the instructions from Quectel to support the Qeuctel BG96: *
*https://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8.pdf*
<https://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8.pdf>

*Linux kernel version: 4.9.88*
*ModemManager version: 1.10.8*
*NetworkManager version: 1.18*
*libqmi version: 1.24.0*

*The udev rule for ModemManager for the BG96:*

*ACTION!="add|change|move|bind", GOTO="mm_quectel_port_types_end"*
*SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c7c", GOTO="mm_quectel_port_types"*
*GOTO="mm_quectel_port_types_end"*

*LABEL="mm_quectel_port_types"*
*SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*",
ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"*

*# Quectel BG96*
*ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0296",
ENV{ID_MM_TTY_BAUDRATE}="115200"*
*ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0296",
ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_PORT_TYPE_QCDM}="1"*
*ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0296",
ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_PORT_TYPE_GPS}="1"*
*ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0296",
ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1"*
*ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0296",
ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1"*

The output of ModemManager:

# mmcli -m 0
  --------------------------------
  General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0
           |            device id: cd57e3b09272b583c826a931e0e771c502c59a3d
  --------------------------------
  Hardware |         manufacturer: QUALCOMM INCORPORATED
           |                model: 0
           |             revision: BG96MAR02A07M1G
           |         h/w revision: 10000
           |            supported: gsm-umts, lte
           |              current: gsm-umts, lte
           |         equipment id: 862061043536548
  --------------------------------
  System   |               device:
/sys/devices/soc0/soc/2100000.aips-bus/2184000.usb/ci_hdrc.0/usb1/1-1
           |              drivers: option1, qmi_wwan
           |               plugin: Quectel
           |         primary port: cdc-wdm0
           |                ports: ttyUSB0 (qcdm), ttyUSB1 (gps), ttyUSB2
(at),
           |                       cdc-wdm0 (qmi), wwan0 (net), ttyUSB3 (at)
  --------------------------------
  Status   |                 lock: sim-pin2
           |       unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10),
sim-puk2 (10)
           |                state: connected
           |          power state: on
           |          access tech: gsm
           |       signal quality: 71% (recent)
  --------------------------------
  Modes    |            supported: allowed: 2g; preferred: none
           |                       allowed: 4g; preferred: none
           |                       allowed: 2g, 4g; preferred: 4g
           |                       allowed: 2g, 4g; preferred: 2g
           |              current: allowed: 2g, 4g; preferred: 4g
  --------------------------------
  Bands    |            supported: egsm, dcs, pcs, g850, eutran-1,
eutran-2, eutran-3,
           |                       eutran-4, eutran-5, eutran-8, eutran-12,
eutran-13, eutran-17,
           |                       eutran-18, eutran-19, eutran-20,
eutran-39
           |              current: egsm, dcs, pcs, g850, eutran-1,
eutran-2, eutran-3,
           |                       eutran-4, eutran-5, eutran-8, eutran-12,
eutran-13, eutran-17,
           |                       eutran-18, eutran-19, eutran-20,
eutran-39
  --------------------------------
  IP       |            supported: ipv4, ipv6, ipv4v6
  --------------------------------
  3GPP     |                 imei: 862061043536548
           |          operator id: 20404
           |         registration: roaming
  --------------------------------
  3GPP EPS | ue mode of operation: csps-2
  --------------------------------
  SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0
  --------------------------------
  Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0

*We have added a connection to the APN via:*

# nmcli c add \
>       type gsm \
>       ifname "cdc-wdm0" \
>       apn "vf-viriciti" \
>       gsm.number "*99***1#" \
>       gsm.pin "0000"
Connection 'gsm-cdc-wdm0' (87994115-cbd9-48c5-b2a3-71000180722e)
successfully added.

*The specifications of the connection:*

# nmcli c show id gsm-cdc-wdm0
connection.id:                       gsm-cdc-wdm0
connection.uuid:
87994115-cbd9-48c5-b2a3-71000180722e
connection.stable-id:                    --
connection.type:                         gsm
connection.interface-name:              cdc-wdm0
connection.autoconnect:                  yes
connection.autoconnect-priority:         0
connection.autoconnect-retries:          -1 (default)
connection.multi-connect:                0 (default)
connection.auth-retries:                 -1
connection.timestamp:                    1571947581
connection.read-only:                   no
connection.permissions:                  --
connection.zone:                        --
connection.master:                       --
connection.slave-type:                   --
connection.autoconnect-slaves:           -1 (default)
connection.secondaries:                  --
connection.gateway-ping-timeout:         0
connection.metered:                      unknown
connection.lldp:                         default
connection.mdns:                         -1 (default)
connection.llmnr:                       -1 (default)
ipv4.method:                             auto
ipv4.dns:                                --
ipv4.dns-search:                         --
ipv4.dns-options:                        ""
ipv4.dns-priority:                       0
ipv4.addresses:                          --
ipv4.gateway:                            --
ipv4.routes:                             --
ipv4.route-metric:                       -1
ipv4.route-table:                        0 (unspec)
ipv4.routing-rules:                      --
ipv4.ignore-auto-routes:                 no
ipv4.ignore-auto-dns:                    no
ipv4.dhcp-client-id:                     --
ipv4.dhcp-timeout:                       0 (default)
ipv4.dhcp-send-hostname:                 yes
ipv4.dhcp-hostname:                      --
ipv4.dhcp-fqdn:                          --
ipv4.never-default:                      no
ipv4.may-fail:                           yes
ipv4.dad-timeout:                        -1 (default)
ipv6.method:                             auto
ipv6.dns:                               --
ipv6.dns-search:                         --
ipv6.dns-options:                        ""
ipv6.dns-priority:                       0
ipv6.addresses:                          --
ipv6.gateway:                            --
ipv6.routes:                             --
ipv6.route-metric:                       -1
ipv6.route-table:                        0 (unspec)
ipv6.routing-rules:                      --
ipv6.ignore-auto-routes:                 no
ipv6.ignore-auto-dns:                    no
ipv6.never-default:                      no
ipv6.may-fail:                           yes
ipv6.ip6-privacy:                        -1 (unknown)
ipv6.addr-gen-mode:                      stable-privacy
ipv6.dhcp-duid:                          --
ipv6.dhcp-send-hostname:                 yes
ipv6.dhcp-hostname:                      --
ipv6.token:                              --
gsm.number:                              *99***1#
gsm.username:                            --
gsm.password:                            <hidden>
gsm.password-flags:                      0 (none)
gsm.apn:                                 vf-viriciti
gsm.network-id:                          --
gsm.pin:                                 <hidden>
gsm.pin-flags:                           0 (none)
gsm.home-only:                           no
gsm.device-id:                           --
gsm.sim-id:                              --
gsm.sim-operator-id:                     --
gsm.mtu:                                 auto
proxy.method:                            none
proxy.browser-only:                      no
proxy.pac-url:                           --
proxy.pac-script:                        --
GENERAL.NAME <http://general.name/>:                            gsm-cdc-wdm0
GENERAL.UUID:
87994115-cbd9-48c5-b2a3-71000180722e
GENERAL.DEVICES:                         cdc-wdm0
GENERAL.STATE:                           activated
GENERAL.DEFAULT:                         no
GENERAL.DEFAULT6:                        no
GENERAL.SPEC-OBJECT:                    --
GENERAL.VPN:                             no
GENERAL.DBUS-PATH:
/org/freedesktop/NetworkManager/ActiveConnection/6
GENERAL.CON-PATH:
/org/freedesktop/NetworkManager/Settings/5
GENERAL.ZONE:                            --
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                          10.141.0.108/29
IP4.GATEWAY:                             10.141.0.109
IP4.ROUTE[1]:                            dst = 10.141.0.104/29, nh =
0.0.0.0, mt = 700
IP4.ROUTE[2]:                            dst = 0.0.0.0/0, nh =
10.141.0.109, mt = 700
IP4.DNS[1]:                              10.1.2.199
IP4.DNS[2]:                              10.1.2.200
IP6.GATEWAY:                             --

*After the connection becomes active, the wwan0 interface comes up and we
get an IP from the gateway.*

# ifconfig
wwan0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.141.0.108  netmask 255.255.255.248  destination 10.141.0.108
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen
1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 397 (397.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

*But this is where it ends. We can only receive data but we cannot transmit
data. We have tried TCP, UDP and ICMP packets.*
*While pinging our device, the host PC outputs:*

# ping 10.141.0.108
PING 10.141.0.108 (10.141.0.108): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3

*The device itself, outputs:*

#tcpdump -vi wwan0
tcpdump: listening on wwan0, link-type RAW (Raw IP), capture size 262144
bytes
20:37:42.756650 IP (tos 0x0, ttl 251, id 19993, offset 0, flags [none],
proto ICMP (1), length 84) 10.1.0.41 > 10.141.0.108: ICMP echo request, id
62574, seq 0, length 64
20:37:42.797093 IP (tos 0x0, ttl 251, id 14636, offset 0, flags [none],
proto ICMP (1), length 84) 10.1.0.41 > 10.141.0.108: ICMP echo request, id
62574, seq 1, length 64
20:37:42.797103 IP (tos 0x0, ttl 251, id 64676, offset 0, flags [none],
proto ICMP (1), length 84) 10.1.0.41 > 10.141.0.108: ICMP echo request, id
62574, seq 2, length 64
20:37:43.517041 IP (tos 0x0, ttl 251, id 23802, offset 0, flags [none],
proto ICMP (1), length 84) 10.1.0.41 > 10.141.0.108: ICMP echo request, id
62574, seq 3, length 64

*Best regards,*
*Simon*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20191101/81e4887d/attachment-0001.html>


More information about the ModemManager-devel mailing list