I'm having issues trying to use a Quectel EG-25G Cellular Modem in my laptop running Ubuntu 22.04. Nothing happens when I plug the module via USB except for this I can see with sudo dmesg
:
[ +3.522010] usb 1-7.1.2.2: new high-speed USB device number 43 using xhci_hcd
[ +0.110093] usb 1-7.1.2.2: New USB device found, idVendor=2c7c, idProduct=0125, bcdDevice= 3.18
[ +0.000005] usb 1-7.1.2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ +0.000002] usb 1-7.1.2.2: Product: EG25-G
[ +0.000001] usb 1-7.1.2.2: Manufacturer: Quectel
[ +0.011904] option 1-7.1.2.2:1.0: GSM modem (1-port) converter detected
[ +0.000136] usb 1-7.1.2.2: GSM modem (1-port) converter now attached to ttyUSB1
[ +0.000108] option 1-7.1.2.2:1.1: GSM modem (1-port) converter detected
[ +0.000118] usb 1-7.1.2.2: GSM modem (1-port) converter now attached to ttyUSB2
[ +0.000148] option 1-7.1.2.2:1.2: GSM modem (1-port) converter detected
[ +0.000122] usb 1-7.1.2.2: GSM modem (1-port) converter now attached to ttyUSB3
[ +0.000122] option 1-7.1.2.2:1.3: GSM modem (1-port) converter detected
[ +0.000098] usb 1-7.1.2.2: GSM modem (1-port) converter now attached to ttyUSB4
[ +0.000966] qmi_wwan 1-7.1.2.2:1.4: cdc-wdm6: USB WDM device
[ +0.001144] qmi_wwan 1-7.1.2.2:1.4 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-7.1.2.2, WWAN/QMI device, ae:57:74:db:30:46
Also, I can't see the device when executing nmcli dev
. I can only see this:
DEVICE TYPE STATE CONNECTION
enp0s31f6 ethernet connected enp0s31f6
wlp2s0 wifi connected m4lv4r-5.0
virbr0 bridge connected (externally) virbr0
p2p-dev-wlp2s0 wifi-p2p disconnected --
enx00e04c6803ec ethernet unavailable --
lo loopback unmanaged --
I then tried plugging the modem into an Ubuntu 20.04 VM (using gnome-boxes) and it works without any issues, besides seeing the device being registered with dmesg
, I see this when executing nmcli dev
:
enp1s0 ethernet connected Wired connection 1
cdc-wdm0 gsm disconnected --
lo loopback unmanaged --
So you can see there that the cdc-wdm0 is visible and also I can see the device here:

And I can just click connect, and I'm all set

Also on 20.04 I can see this on NetworkManager:
[1682479699.3809] modem["cdc-wdm0"]: modem state changed, 'disabled' --> 'enabling' (reason: user preference)
[1682479699.3814] manager: (cdc-wdm0): new Broadband device (/org/freedesktop/NetworkManager/Devices/6)
[1682479699.3819] device (cdc-wdm0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
[1682479699.3823] device (cdc-wdm0): modem state 'enabling'
[1682479699.3829] device (cdc-wdm0): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
[1682479700.0764] modem["cdc-wdm0"]: modem state changed, 'enabling' --> 'enabled' (reason: user-requested)
[1682479700.1083] modem["cdc-wdm0"]: modem state changed, 'enabled' --> 'registered' (reason: unknown)
[1682479747.7496] device (cdc-wdm0): Activation: starting connection 'AT&T connection' (15a3044e-8878-430e-b2cd-cd4515594b92)
[1682479747.7498] audit: op="connection-activate" uuid="15a3044e-8878-430e-b2cd-cd4515594b92" name="AT&T connection" pid=1647 uid=1000 result="success"
[1682479747.7499] device (cdc-wdm0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
[1682479747.7585] modem["cdc-wdm0"]: modem state changed, 'registered' --> 'connecting' (reason: user-requested)
[1682479748.1439] modem["cdc-wdm0"]: modem state changed, 'connecting' --> 'connected' (reason: user-requested)
[1682479748.1490] device (cdc-wdm0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
[1682479748.1496] device (cdc-wdm0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
[1682479748.1500] modem-broadband[cdc-wdm0]: IPv4 static configuration:
[1682479748.1501] modem-broadband[cdc-wdm0]: address 10.29.200.200/28
[1682479748.1501] modem-broadband[cdc-wdm0]: gateway 10.29.200.201
[1682479748.1501] modem-broadband[cdc-wdm0]: DNS 8.8.8.8
[1682479748.1501] modem-broadband[cdc-wdm0]: DNS 1.1.1.1
[1682479748.1502] modem-broadband[cdc-wdm0]: MTU 1500
[1682479748.1520] device (cdc-wdm0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
[1682479748.1714] device (cdc-wdm0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
[1682479748.1717] device (cdc-wdm0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
[1682479748.1746] device (cdc-wdm0): Activation: successful, device activated.
And this on ModemManager:
[692]: <info> [modem3] state changed (unknown -> disabled)
[692]: <info> [modem3] state changed (disabled -> enabling)
[692]: <info> [modem3] power state updated: on
[692]: <info> [modem3] state changed (enabling -> enabled)
[692]: <info> [modem3] 3GPP registration state changed (unknown -> registering)
[692]: <info> [modem3] 3GPP registration state changed (registering -> roaming)
[692]: <info> [modem3] state changed (enabled -> registered)
[692]: <info> [modem3] simple connect started...
[692]: <info> [modem3] simple connect state (4/8): wait to get fully enabled
[692]: <info> [modem3] simple connect state (5/8): register
[692]: <info> [modem3] simple connect state (6/8): bearer
[692]: <info> [modem3] simple connect state (7/8): connect
[692]: <info> [modem3] state changed (registered -> connecting)
[692]: [/dev/cdc-wdm0] Allocating new client ID...
[692]: [/dev/cdc-wdm0] Registered 'wds' (version 1.67) client with ID '18'
[692]: <info> [modem3/bearer6] QMI IPv4 Settings:
[692]: <info> [modem3/bearer6] address: 10.29.200.200/28
[692]: <info> [modem3/bearer6] gateway: 10.29.200.201
[692]: <info> [modem3/bearer6] DNS #1: 8.8.8.8
[692]: <info> [modem3/bearer6] DNS #2: 1.1.1.1
[692]: <info> [modem3/bearer6] MTU: 1500
[692]: <info> [modem3] state changed (connecting -> connected)
[692]: <info> [modem3] simple connect state (8/8): all done
Whereas in 22.04 nothing happens, I can't see any activity in NetworkManager and ModemManager is just dead all the time, it just doesn't work. I gives this:
sudo systemctl status ModemManager.service ─╯
× ModemManager.service - Modem Manager
Loaded: loaded (/lib/systemd/system/ModemManager.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2023-04-25 23:20:28 EDT; 3s ago
Process: 774963 ExecStart=/usr/sbin/ModemManager (code=exited, status=127)
Main PID: 774963 (code=exited, status=127)
CPU: 57ms
Apr 25 23:20:28 Precision7710 systemd[1]: Starting Modem Manager...
Apr 25 23:20:28 Precision7710 systemd[1]: ModemManager.service: Main process exited, code=exited, status=127/n/a
Apr 25 23:20:28 Precision7710 systemd[1]: ModemManager.service: Failed with result 'exit-code'.
Apr 25 23:20:28 Precision7710 systemd[1]: Failed to start Modem Manager.
After I had to run sudo systemctl unmask ModemManager.service;
and sudo systemctl restart ModemManager.service
because after running those two commands I just got
Why is this not working on 22.04? I would expect it to work even better in 22.04 since it is newer. What am I missing?