No TX with wwan0 using Quectel BG96 and qmi_wwan
Geert Lens
g.lens at livetech-systems.com
Thu Oct 31 10:36:22 UTC 2019
Hello, we are trying to get the Quectel BG96 modem to work with qmi_wwan using ModemManager and NetworkManager.
We followed the instructions from Quectel to support the Qeuctel BG96
https://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8.pdf <https://www.quectel.com/UploadImage/Downlad/Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8.pdf>
Linux kernel version: 4.9.88
ModemManager version: 1.10.0
NetworkManager version: 1.18
libqmi version: 1.22.0
The udev rule for ModemManager:
#
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 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: 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
Geert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20191031/8615c3ee/attachment-0001.html>
More information about the ModemManager-devel
mailing list