I am having problems getting the Network Manager in Ubuntu 22.04 LTS to correctly turn on the onboard Qualcomm Snapdragon X55 5G modem. If I try it seems NM tries to configure the connection, but never turn on the hardware needed.
If I do a
$> sudo qmicli -p -d /dev/wwan0mbim0 --device-open-auto --dms-foxconn-set-fcc-authentication=0
And then enable with
$> sudo mmcli -m 0 --enable
I am able to turn the modem on. If I then proceed to enter the APN data I get as far as being able to ping Google DNS servers at 8.8.8.8.
I then tried to set the DNS:
$> nmcli connection modify Oister\ Bredbaand ipv4.dns "8.8.8.8,8.8.4.4"
However I am not able to do an actual host lookup on anything - I think the fact I dared turn on the modem by hand has the whole systemd very upset.
After fiddeling some more with this i removed the above manual DNS config and set
$> sudo nmcli connection modify Oister\ Bredbaand ipv4.method "auto"
and
$> sudo nmcli connection modify Oister\ Bredbaand ipv6.method "DHCP"
I now have mobile internet!
However I still have to start the connection - see the icon flickering in the top bar as it tries to configure a connection on hardware that is not started - and then start it by hand as per qmcli.
This smells like a network manager bug.
-----------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: 7099c435a92638d780ea65442842224ca7bfcf8c
-----------------------------------
Hardware | manufacturer: foxconn
| model: Qualcomm Snapdragon X55 5G
| firmware revision: T99W175.F0.0.0.5.7.GC.004
| 076
| carrier config: GCF
| carrier config revision: 0A000804
| h/w revision: Qualcomm Snapdragon X55 5G
| supported: gsm-umts, lte, 5gnr
| current: gsm-umts, lte, 5gnr
| equipment id: 015805000279146
-----------------------------------
System | device: /sys/devices/pci0000:00/0000:00:1c.0/0000:08:00.0
| drivers: mhi-pci-generic
| plugin: foxconn
| primary port: wwan0mbim0
| ports: wwan0 (net), wwan0at0 (at), wwan0mbim0 (mbim),
| wwan0qcdm0 (qcdm)
-----------------------------------
Status | unlock retries: sim-pin2 (3)
| state: disabled
| power state: low
| signal quality: 0% (cached)
-----------------------------------
Modes | supported: allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 3g, 4g; preferred: 4g
| allowed: 3g, 4g; preferred: 3g
| allowed: 5g; preferred: none
| allowed: 4g, 5g; preferred: 5g
| allowed: 4g, 5g; preferred: 4g
| allowed: 3g, 5g; preferred: 5g
| allowed: 3g, 5g; preferred: 3g
| allowed: 3g, 4g, 5g; preferred: 5g
| allowed: 3g, 4g, 5g; preferred: 4g
| allowed: 3g, 4g, 5g; preferred: 3g
| current: allowed: 3g, 4g; preferred: 4g
-----------------------------------
Bands | supported: utran-1, utran-3, utran-4, utran-6, utran-5, utran-8,
| utran-9, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5,
| eutran-7, eutran-8, eutran-12, eutran-13, eutran-14, eutran-17,
| eutran-18, eutran-19, eutran-20, eutran-25, eutran-26, eutran-28,
| eutran-29, eutran-30, eutran-32, eutran-34, eutran-38, eutran-39,
| eutran-40, eutran-41, eutran-42, eutran-46, eutran-48, eutran-66,
| eutran-71, utran-19
| current: utran-1, utran-4, utran-6, utran-5, utran-8, utran-9,
| utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7,
| eutran-8, eutran-12, eutran-13, eutran-14, eutran-17, eutran-18,
| eutran-19, eutran-20, eutran-25, eutran-26, eutran-28, eutran-29,
| eutran-30, eutran-32, eutran-34, eutran-38, eutran-39, eutran-40,
| eutran-41, eutran-42, eutran-46, eutran-48, eutran-66, eutran-71,
| utran-19
-----------------------------------
IP | supported: ipv4, ipv6, ipv4v6
-----------------------------------
3GPP | imei: 015805000279146
| enabled locks: fixed-dialing
-----------------------------------
3GPP EPS | ue mode of operation: csps-2
| initial bearer ip type: ipv4v6
-----------------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0
| sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/0 (active)
| slot 2: /org/freedesktop/ModemManager1/SIM/1
This worked better in 21.10 where the modem could be turned on and configured by NetworkManager, but it did not survive a hibernation / lid close.
Turns out FCC devices are no longer turned on automatically in Ubuntu - unless you introduce the needed shortcuts again.
And Bob is your uncle. The firmware for the device still have some errors unrelated to the startup of the device.