Comment 0 for bug 1934286

Revision history for this message
Jerry Lee (jerry-lee-tpe) wrote :

[Impact]

Some IOT products use wireless modems which can be working only when recent versions of the ModemManager suite are used.

The following 2 modems need the ModemManager suite to be upgraded:
* Foxconn SDX55 T99W175 5G sub6 PCIE Modem
* Quectel SDX24 EM160R-GL 4G LTE CAT16 PCIE Modem

The main fix requested is to add the FCC unlock mechanism for Foxconn modems.
* FCC unlock operation for Foxconn modems
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/534/commits
* dms: new 'Foxconn Set FCC authentication' command
https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/merge_requests/254/commits

The minimum versions of the ModemManager suite required to enable the support for the above 2 mentioned modems have been verified: (LP: #1928665)
* ModemManager: 1.16.6
* libmbim: 1.24.6
* libqmi : 1.28.6

The ModemManager suite in the Impish release meets the requirements.

[Test Plan]

= How to Reproduce the Bug =

Execute the following commands to list the modems detected by ModemManager in Hirsute and Focal releases:

$ mmcli --list-modems
No modems were found

= Test Procedure =

1. Install the Ubuntu system on the tested hardware

  The following images will be used to verify the version of the ModemManager suite:
  * Impish: https://cdimage.ubuntu.com/daily-live/current/impish-desktop-amd64.iso
  * Hirsute: https://releases.ubuntu.com/21.04/ubuntu-21.04-desktop-amd64.iso
  * Focal: https://releases.ubuntu.com/focal/ubuntu-20.04.2.0-desktop-amd64.iso

2. Upgrade the kernel and driver ( for Foxconn and Quectel modem )

  The kernel needs to get some patches from 5.13 and includes a back ported Quectel driver to support these 2 modems.
  We have prepared a kernel packages for testing: https://people.canonical.com/~mschiu77/lp1928665/v2/

3. Install the ModemManager suite ( for Hirsute and Focal releases )

  The ModemManager suite will be installed from Impish:

$ sudo apt update
$ sudo apt install modemmanager/impish
$ sudo apt install libqmi-utils/impish

4. Execute the following commands

4.1 Get the run-time environment

$ uname -ar
$ lsb_release -a
$ mmcli -V
$ qmicli -V

4.2 Check the status of the ModemManager service

$ sudo systemctl status ModemManager.service

4.3 List the detected modems

$ mmcli --list-modems

4.4 Check the modem’s status

$ mmcli --modem 0

4.5 Install and execute Lenovo’s FCC unlock app ( for Quectel modem only )

$ sudo snap install --devmode --dangerous dpr-wwan_1.0-wwan-test_amd64.snap

4.6 Enable the detected modem

$ sudo mmcli --modem 0 --enable

4.7 Check the modem’s status

$ mmcli --modem 0

= Analyze the Tested Result =

1. Check if installed packages are working

  The result of test procedure 4.1 and 4.2 can be used to make sure the installed packages are working.
  If the Modemmanager.service is active(running), the packages are working.

2. Check if the supported modem can be detected

  The result of test procedure 4.3 can be used to see if the modem can be detected by ModemManager or not.
  The supported modems should be listed.

3. Check if the modem can be enabled

  If the modem can be enabled, the state of the modem in the test procedure 4.7 will be set to be registered.

[Where problems could occur]

There is a risk that modems supported in the old versions of ModemManager suite may not be supported in the newer versions.

[Other Info]

We need to upgrade to these 3 packages at the same time:
* ModemManager: 1.16.6
* libmbim: 1.24.6
* libqmi : 1.28.6

To support the mentioned 2 modems, the system needs to use kernels which include specific patches and kernel config options .
For ex., there is a patched 5.11 kernel which is working for: https://bugs.launchpad.net/austin/+bug/1928665/comments/7