I recently upgraded my Lenovo X1 Carbon (5th gen) from Ubuntu 20.04 to 22.04 and my 4G connection stopped working.
I travel a lot and one of the great features of the Lenovo X1 Carbon is the (optional) 4G/LTE modem which I use with an additional data-sim of my provider (Vodafone NL).
After not really wanting to fix it (time constraints) I put some time in it and searching around a bit I found the solution for my problem.
It has has to do with the Sierra Wireless EM7455 modem and an updated version of ModemManager in Ubuntu 22.04. The modem is locked by default and has to be unlocked by sending a ‘magic’ combination of commands.
The logs would show the following line:
<warn> [modem0] couldn't enable interface: 'Invalid transition'
Links
Before jumping to the solution, let me first share a few links which I used to diagnose and resolve the problem:
- https://modemmanager.org/docs/modemmanager/fcc-unlock/
- https://bbs.archlinux.org/viewtopic.php?id=274698
- https://www.reddit.com/r/thinkpad/comments/umr92a/invalid_trasition_error_from_em7455_on_thinkpad/
The solution
For in-depth details of the root-cause of the problem I recommend reading the modemmanager’s website, but in the end you need to run these commands:
sudo ln -s /etc/ModemManager/fcc-unlock.d /usr/share/ModemManager/fcc-unlock.available.d/1199:9079 sudo apt -y install libqmi-utils sudo systemctl restart ModemManager
Now keep in mind that this solution only works if you have a Sierra Wireless EM7455 modem. You can check this with the output of the lsusb command.
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 1050:0407 Yubico.com Yubikey 4/5 OTP+U2F+CCID Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 138a:0097 Validity Sensors, Inc. Bus 001 Device 004: ID 13d3:5682 IMC Networks SunplusIT Integrated Camera Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface Bus 001 Device 019: ID 1199:9079 Sierra Wireless, Inc. EM7455 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
After creating the right symlink to unlock my Modem I was able to connect to the Vodafone network again and no longer had to use my phone’s wireless hotspot!
IPv6
wido@wido-laptop:~$ sudo ip addr show dev wwan0 12: wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000 link/ether fa:73:bc:24:0f:24 brd ff:ff:ff:ff:ff:ff inet 100.71.255.77/30 brd 100.71.255.79 scope global noprefixroute wwan0 valid_lft forever preferred_lft forever wido@wido-laptop:~$
Unfortunately Vodafone still (Jan 2023) does not support IPv6 on their 4G network. It’s coming I’ve heard….