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
_______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel