WWAN / LTE not working anymore after switching to Manjaro

Hi there,

After switching to Manjaro recently, I’m not able to use my 4G/LTE Sierra Wireless MC7455 modem any more.

The device seems to be initialized correctly at boot, but after a moment disappears, some time I can even it inside the Gnome setting Network Manager menu (extract of dmesg) :


[ 15.539827] usbcore: registered new interface driver qcserial
[ 15.539865] usbserial: USB Serial support registered for Qualcomm USB modem
[ 15.540114] qcserial 4-1.4:1.0: Qualcomm USB modem converter detected
[ 15.541099] usb 4-1.4: Qualcomm USB modem converter now attached to ttyUSB0
[ 15.541512] qcserial 4-1.4:1.2: Qualcomm USB modem converter detected
[ 15.541711] usb 4-1.4: Qualcomm USB modem converter now attached to ttyUSB1
[ 15.541975] qcserial 4-1.4:1.3: Qualcomm USB modem converter detected
[ 15.542159] usb 4-1.4: Qualcomm USB modem converter now attached to ttyUSB2
[ 15.550766] usbcore: registered new interface driver cdc_wdm
[ 15.557362] qmi_wwan 4-1.4:1.8: cdc-wdm0: USB WDM device
[ 15.558115] qmi_wwan 4-1.4:1.8 wwan0: register ‘qmi_wwan’ at usb-0000:00:1d.0-1.4, WWAN/QMI device, xx:xx:xx:xx:xx:xx (MAC intentionaly removed for the snippet)
[ 15.558208] usbcore: registered new interface driver qmi_wwan
[ 15.572761] qmi_wwan 4-1.4:1.8 wwp0s29u1u4i8: renamed from wwan0

[ 18.253134] qmi_wwan 4-1.4:1.8 wwp0s29u1u4i8: Cannot change a running device

[ 45.444628] usb 4-1.4: USB disconnect, device number 3
[ 45.444880] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0
[ 45.444899] qcserial 4-1.4:1.0: device disconnected
[ 45.445277] qcserial ttyUSB1: Qualcomm USB modem converter now disconnected from ttyUSB1
[ 45.445291] qcserial 4-1.4:1.2: device disconnected
[ 45.445644] qcserial ttyUSB2: Qualcomm USB modem converter now disconnected from ttyUSB2
[ 45.445658] qcserial 4-1.4:1.3: device disconnected
[ 45.445711] qmi_wwan 4-1.4:1.8 wwp0s29u1u4i8: unregister ‘qmi_wwan’ usb-0000:00:1d.0-1.4, WWAN/QMI device
[ 45.546868] usb 4-1.4: new full-speed USB device number 4 using ehci-pci
[ 45.620213] usb 4-1.4: device descriptor read/64, error -32
[ 45.800208] usb 4-1.4: device descriptor read/64, error -32
[ 45.980329] usb 4-1.4: new full-speed USB device number 5 using ehci-pci
[ 46.053548] usb 4-1.4: device descriptor read/64, error -32
[ 46.237086] usb 4-1.4: device descriptor read/64, error -32
[ 46.343908] usb 4-1-port4: attempt power cycle
[ 46.936996] usb 4-1.4: new full-speed USB device number 6 using ehci-pci
[ 47.350229] usb 4-1.4: device not accepting address 6, error -32
[ 47.423575] usb 4-1.4: new full-speed USB device number 7 using ehci-pci
[ 47.836980] usb 4-1.4: device not accepting address 7, error -32
[ 47.837251] usb 4-1-port4: unable to enumerate USB device

I tried MBIM & QMI mode changing the behaviour using an Ubuntu 20.04 live CD, but nothing improved.
I’ve been testing with kernel 4.9.x, 5.4.x and 5.9.x, same problem.

During some seconds I can see the USB device, like :

# lsusb
Bus 004 Device 018: ID 1199:9071 Sierra Wireless, Inc. AirPrime MC7455 3G/4G LTE Modem
<…>

I tried to unload modules one by one, then “modprobe” to load them again.
And the /dev/cdc-wdm0 or /dev/ttyUSB* are not present any more.

Nonetheless, I was coming from LinuxMint (Ubuntu 18.04), and it was working fine. I tried Ubuntu 18.04, Ubuntu 20.04 (kernel 5.4), and the device is detected correctly, and I can activate the Network connection without any issue.

I even flashed my MC7455 to latest firmware version in case of, but no luck, same behaviour, works with other distro but not Manjaro.
I’m still struggling after 2 days (not to mentioned being digging posts, blogs, how to, regarding this matter, didn’t find anything related to).

I strongly think the Manjaro release is lacking of something (kernel modules, systemd, …).

Any help would be much appreciated to keep going with my good old X220 Thinkpad everyday work horse.
:slightly_smiling_face:

Thank you

Hi nexus6, start by verifying the status of modemmanager by using the systemctl;

systemctl status ModemManager

If it says “enabled;” disable it with the following command;

sudo systemctl disable ModemManager

Most Manjaro distro’s come with it enabled.

-John

Hi John,

Thanks for taking time to answer.
Yes the ModemManager was activated.

# systemctl status ModemManager
● ModemManager.service - Modem Manager
Loaded: loaded (/usr/lib/systemd/system/ModemManager.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-01-06 21:03:41 CET; 13h ago
Main PID: 566 (ModemManager)
Tasks: 5 (limit: 19040)
Memory: 10.5M
CGroup: /system.slice/ModemManager.service
├─ 566 /usr/bin/ModemManager
└─22256 /usr/lib/qmi-proxy

Jan 07 10:16:48 nexus6 ModemManager[566]: [/dev/cdc-wdm1] Unregistered ‘wms’ client with ID ‘2’
Jan 07 10:16:48 nexus6 ModemManager[566]: [/dev/cdc-wdm1] Releasing ‘nas’ client with flags ‘release-cid’…
Jan 07 10:16:48 nexus6 ModemManager[566]: [/dev/cdc-wdm1] Unregistered ‘nas’ client with ID ‘3’
Jan 07 10:16:48 nexus6 ModemManager[566]: [/dev/cdc-wdm1] Releasing ‘dms’ client with flags ‘release-cid’…
Jan 07 10:16:48 nexus6 ModemManager[566]: [/dev/cdc-wdm1] Unregistered ‘dms’ client with ID ‘2’
Jan 07 10:16:48 nexus6 ModemManager[566]: [base-manager] port ttyUSB0 released by device ‘/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.4’
Jan 07 10:16:48 nexus6 ModemManager[566]: [base-manager] port ttyUSB1 released by device ‘/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.4’
Jan 07 10:16:48 nexus6 ModemManager[566]: [base-manager] port cdc-wdm1 released by device ‘/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.4’
Jan 07 10:16:48 nexus6 ModemManager[566]: [base-manager] port wwp0s29u1u4i8 released by device ‘/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.4’
Jan 07 10:16:48 nexus6 ModemManager[566]: [base-manager] port ttyUSB2 released by device ‘/sys/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.4’

I don’t see the point in disabling it, could you elaborate?

I just disabled it to test,

# sudo systemctl disable ModemManager
Removed /etc/systemd/system/dbus-org.freedesktop.ModemManager1.service.
Removed /etc/systemd/system/multi-user.target.wants/ModemManager.service.

then run a

# systemctl stop ModemManager

But the USB device still not appear back.
Funny fact, this morning I resume the laptop from suspend state (S3) and the device was shown again, then it disappear again. :thinking:

Regards
S.

I’m just saying this, don’t know if it’ll be of any help.

Sounds like it’s being detected/recognized upon power cycle. For what that’s possibly worth for troubleshooting.

Edit:
Or maybe not. I see it’s not a USB device, so check you power saving settings.
It looks like a laptop thing? If so, does it happen when on and off battery? Because it sounds like power saving settings to me.

ModemManager has been know to cause similar issues, with disabling network cards to switch network devices etc. Mirdarthos is probably on the right direction, you will have to run through TLP, the issue sounds like the card is being powered down. https://wiki.archlinux.org/index.php/TLP
is a good place to start. Happy hunting :slight_smile:

1 Like

Nope, the device is an internal laptop modem card which is using the USB protocol to communicate.
And with the same setup (laptop/wireless device), just booting on an other distro it works out of the box.

I think power saving should be out of scope, IMHO as I’m using the laptop when the even occur.
But anyway, thanks for your suggestion @Mirdarthos.

The issues appears to be a power control issue… Radio Device Switching — TLP 1.3.1 documentation

I think you are right. :slight_smile:

I installed tlp, tp_smapi & tlp-rdw package. With tlp-stat command I can see this

...
+++ TLP Status
State          = enabled
RDW state      = enabled
Last run       = 22:28:04,   1002 sec(s) ago
Mode           = AC
Power source   = AC

Notice: systemd-rfkill.service is not masked -- invoke "systemctl mask systemd-rfkill.service" to correct this!
Notice: systemd-rfkill.socket is not masked -- invoke "systemctl mask systemd-rfkill.socket" to correct this!
...

It seems it correlates what https://linrunner.de/tlp/settings/radio.html#restore-device-state-on-startup say about Debian/Ubuntu masking systemd-rfkill.service.
I can see

# cat /run/tlp/run.conf  | grep RESTORE_DEVICE_STATE_ON_STARTUP=
RESTORE_DEVICE_STATE_ON_STARTUP="0"

Which seems to confirm the doc.

I give it a try.

P.S. : By the way, my Sierra Wireless, Inc. AirPrime MC7455 3G/4G LTE Modem didn’t disappear since I deactivate the ModemManager

I try

$ sudo systemctl mask systemd-rfkill.socket
$ sudo systemctl mask systemd-rfkill.service
$ sudo tlp start
TLP started in AC mode (auto).

And observe what happen, I’ll keep you informed.

Thanks again @DeLinuxCo & @Mirdarthos

1 Like

Just to letting know now it’s working, but to be honest I don’t what I changed as in the meantime I’ve been changing other stuff in my system configuration (boot loader) and can’t identify exactly what make it happen.
Anyway now the mobile broadband device is working correctly.
My running kernel is :

# uname -a
Linux laptop 5.9.16-1-MANJARO #1 SMP PREEMPT Mon Dec 21 22:00:46 UTC 2020 x86_64 GNU/Linux
Thanks for pointing me out to some TLP docs.

1 Like

But you learned something about your system. :slight_smile: