Network issue no IPv6 using Sierra Wireless EM7421 and mbim

Bug #1969241 reported by pigs-on-the-swim
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libmbim (Ubuntu)
New
Undecided
Unassigned
modemmanager (Ubuntu)
New
Undecided
Unassigned

Bug Description

Network issue no IPv6 using Sierra Wireless EM7421 and mbim

Description: Ubuntu Jammy Jellyfish
Release: 22.04
Linux 5.15.0-25-generic

I need to connect via GSM to Internet using IPv6.
IPv6 not present in config.
Internet connect works with IPv4 although issues seem to exist.

EXPECTATION:
IPv6 shall work properly like the EM7455 with same card in very similar machine, Ubuntu.
IPv6 shall work properly like in Linux-Mint 20.3 on this machine, this setup.
All using the same driver=cdc_mbim

ENVIRONMENT:
- SIM is working properly,
- EM7421 latest firmware applied,
- EM7421 capable doing IPv6 with this setup (according to spec + test with Win10 + works with Linux Mint);

"package" not understood, sorry. ModemManager probably?

ASSUMPTIONs:
- Missing IPv6 is a wrong config / bug in software / communication issue.
- IPv6 communication can be enabled by adjustment rather than by code changes in cdc_mbim or redesign of SierraW. EM7421 device.
- Some enhancement / fix can enable IPv6 communication.

REMARK:
Linux-Mint 20.3 una is capable of running the 'EM7421' in proper IPv6 "mode" (kernel 5.4.0-107-generic).
It uses driver=cdc_mbim as well. It shows other issues like missing provision of additional DNS server data, EUI64 state and the like.

THE ISSUE
and details:

  Actually no IPv6 available at all (IPv6 is expected to work / no IPv6 is a big issue for our work):

3: wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 6a:05:2c:26:95:58 brd ff:ff:ff:ff:ff:ff
    inet 10.34.85.36/29 brd 10.34.85.39 scope global noprefixroute wwan0

This is the Sierra Wireless GSM-Modem (working):

sudo mbimcli --device=/dev/cdc-wdm0 --query-device-caps
[/dev/cdc-wdm0] Device capabilities retrieved:
       Device type: 'remote'
    Cellular class: 'gsm'
       Voice class: 'no-voice'
         SIM class: 'removable'
        Data class: 'umts, hsdpa, hsupa, lte'
          SMS caps: 'pdu-receive, pdu-send'
         Ctrl caps: 'reg-manual'
      Max sessions: '8'
 Custom data class: 'unknown'
         Device ID: '356706140353162'
     Firmware info: 'SWI9X50C_01.14.03.00'
     Hardware info: 'EM7421'

Attempt to start modem via mbim:
pre:
sudo service network-manager stop
sudo systemctl disable ModemManager

then
Report

sudo mbim-network /dev/cdc-wdm0 start
Profile at '/etc/mbim-network.conf' not found...
Querying subscriber ready status 'mbimcli -d /dev/cdc-wdm0 --query-subscriber-ready-status --no-close'...
[/dev/cdc-wdm0] Subscriber ready status retrieved: Ready state: 'initialized' Subscriber ID: '262011905110762' SIM ICCID: '89490200001788157884' Ready info: 'none' Telephone numbers: (1) '+491604282867' [/dev/cdc-wdm0] Session not closed: TRID: '3'
Querying registration state 'mbimcli -d /dev/cdc-wdm0 --query-registration-state --no-open=3 --no-close'...
[/dev/cdc-wdm0] Registration status: Network error: 'unknown' Register state: 'home' Register mode: 'automatic' Available data classes: 'lte' Current cellular class: 'gsm' Provider ID: '26201' Provider name: 'Telekom.de' Roaming text: 'unknown' Registration flags: 'packet-service-automatic-attach' [/dev/cdc-wdm0] Session not closed: TRID: '4'
Attaching to packet service with 'mbimcli -d /dev/cdc-wdm0 --attach-packet-service --no-open=4 --no-close'...
[/dev/cdc-wdm0] Successfully attached to packet service [/dev/cdc-wdm0] Packet service status: Network error: 'unknown' Packet service state: 'attached' Available data classes: 'lte' Uplink speed: '150000000 bps' Downlink speed: '300000000 bps' [/dev/cdc-wdm0] Session not closed: TRID: '5'
Starting network with 'mbimcli -d /dev/cdc-wdm0 --connect=apn='' --no-open=5 --no-close'...
Network started successfully
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 7)

status reported by ip a :
3: wwan0: <BROADCAST,MULTICAST,NOARP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 86:a6:1f:1a:ce:30 brd ff:ff:ff:ff:ff:ff

try to bring it up:
sudo ip link set dev wwan0 up
(no error reported)

new status reported by
ip a :
3: wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 86:a6:1f:1a:ce:30 brd ff:ff:ff:ff:ff:ff

(All SIM / telephony / GSM data above is real; please handle with care)

lshw reporting on USB and the like

        *-usb:2
             description: USB controller
             product: Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller
             vendor: Intel Corporation
             physical id: 14
             bus info: pci@0000:00:14.0
             version: 20
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi xhci bus_master cap_list
             configuration: driver=xhci_hcd latency=0
             resources: irq:155 memory:5c420000-5c42ffff
           *-usbhost:0
                product: xHCI Host Controller
                vendor: Linux 5.15.0-25-generic xhci-hcd
                physical id: 0
                bus info: usb@3
                logical name: usb3
                version: 5.15
                capabilities: usb-2.00
                configuration: driver=hub slots=12 speed=480Mbit/s
              *-usb:0
                   description: Communication device
                   product: EM7421
                   vendor: Sierra Wireless, Incorporated
                   physical id: 3
                   bus info: usb@3:3
                   version: 0.06
                   serial: 8G1202758803B121
                   capabilities: usb-2.00
                   configuration: driver=cdc_mbim maxpower=500mA speed=480Mbit/s

INTERPRETATION:
"state UNKNOWN" indicates erroneous API communication.
Appears even in case the device partly works. On Linux Mint this state is reported more accurately but other API-data (info about additional DNS) is not proceeded. So I conclude EM7421 interface communication has issues.

USB - DRIVER assignment for
 Bus 003 Device 003: ID 1199:90b1 Sierra Wireless, Inc. EM7421

lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 3: Dev 3, If 0, Class=Communications, Driver=cdc_mbim, 480M
    |__ Port 3: Dev 3, If 3, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 3: Dev 3, If 1, Class=CDC Data, Driver=cdc_mbim, 480M
    |__ Port 3: Dev 3, If 4, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 3: Dev 3, If 2, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 5: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
    |__ Port 6: Dev 5, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 5, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 5, If 2, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 5, If 3, Class=Video, Driver=uvcvideo, 480M
    |__ Port 7: Dev 6, If 0, Class=Chip/SmartCard, Driver=, 12M
    |__ Port 10: Dev 7, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 10: Dev 7, If 1, Class=Wireless, Driver=btusb, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M

LUCKILY some parts are WORKING (when booting from dark, NM enabled):

WITH STATUS

user@user:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 90:2e:16:1e:4c:f9 brd ff:ff:ff:ff:ff:ff
3: wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 6a:05:2c:26:95:58 brd ff:ff:ff:ff:ff:ff
    inet 10.34.85.36/29 brd 10.34.85.39 scope global noprefixroute wwan0
       valid_lft forever preferred_lft forever
4: wlp0s20f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 94:e2:3c:ca:c4:48 brd ff:ff:ff:ff:ff:ff

THERE IS A CONNECT TO ipv4 SUCCESSFULLY WORKING:

user@user:~$ ping www.digitalcourage.de
PING www.digitalcourage.de (94.130.145.107) 56(84) bytes of data.
64 bytes from edge6-1.freistilbox.net (94.130.145.107): icmp_seq=1 ttl=52 time=28.1 ms
64 bytes from edge6-1.freistilbox.net (94.130.145.107): icmp_seq=2 ttl=52 time=28.8 ms
64 bytes from edge6-1.freistilbox.net (94.130.145.107): icmp_seq=3 ttl=52 time=27.8 ms
^C
--- www.digitalcourage.de ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 27.844/28.235/28.782/0.398 ms
user@user:~$

ADDITIONAL ISSUE:

When disabling WLAN/WiFi in Modem Manager GUI the WWAN / GSM interface becomes disabled, too. So it is difficult to enable WWAN/GSM w/o. concurring connect to networks.
This issue does not appear in Linux Mint or M$Windows.

REQUEST:

Please advise how to get the WWAN adapter EM7421 working in IPv6 mode.
Thanks a lot in advance for your work!
---
ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu82
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
DistroRelease: Ubuntu 22.04
InstallationDate: Installed on 2022-03-06 (40 days ago)
InstallationMedia: Ubuntu 22.04 LTS "Jammy Jellyfish" - Alpha amd64 (20220228)
Package: modemmanager 1.18.6-2 [origin: unknown]
PackageArchitecture: amd64
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=C.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 5.15.0-25.25-generic 5.15.30
Tags: jammy third-party-packages
Uname: Linux 5.15.0-25-generic x86_64
UnreportableReason: This does not seem to be an official Ubuntu package. Please retry after updating the indexes of available packages, if that does not work then remove related third party packages and try again.
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin lxd plugdev sambashare sudo
_MarkForUpload: True

pigs-on-the-swim (dw1-4)
description: updated
pigs-on-the-swim (dw1-4)
description: updated
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Libera.chat.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1969241/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
pigs-on-the-swim (dw1-4)
description: updated
pigs-on-the-swim (dw1-4)
description: updated
affects: ubuntu → modemmanager (Ubuntu)
pigs-on-the-swim (dw1-4)
description: updated
pigs-on-the-swim (dw1-4)
description: updated
description: updated
pigs-on-the-swim (dw1-4)
description: updated
description: updated
Revision history for this message
pigs-on-the-swim (dw1-4) wrote : Dependencies.txt

apport information

tags: added: apport-collected jammy third-party-packages
description: updated
Revision history for this message
pigs-on-the-swim (dw1-4) wrote : ProcCpuinfoMinimal.txt

apport information

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.