[PATCH v5 00/10] mbim: Add support for MediaTek T700 5G

Muhammad Asif <[email protected]> Thu, 27 Nov 2025 22:49:34 +0500
Newsgroups dev.linux.lists.ofono
Message-ID <[email protected]>
This modem is a PCIe MBIM modem, found in a lot of modern laptops,
like the Lenovo ThinkPad X1. Unfortunately, oFono does not support
PCIe MBIM modems out of the box, so this patch adds support for them,
as well as MBIM extensions which are needed for newer modems.

Muhammad Asif (10):
  sim: add ofono_sim_get_modem method Align with the other ofono
    structures for fetching ofono_modem from atoms
  plugins/udevng: Add support for PCIe MBIM modems * Parses through the
    sysfs tree and detects MBIM control nodes, net and   AT nodes
  mbimmodem: add support for MBIM extensions * With MBIMEx 3.0,
    arguments for activating GPRS changed. Update as   needed.
  plugins/udevng: Add support for the MediaTek T700 5G modem * Found in
    the Lenovo ThinkPad X1 Yoga Gen 8 as the Fibocom FM350-GL   modem *
    Works perfectly with ofono now
  mbimmodem: sim: add support for querying IMSI with MBIMEx 3 This
    commit adds the ability to query IMSI with newer modems that use the
    MBIMEx 3 protocol.
  mbimmodem: sim: add support for querying ICCID This implements the
    required functions to query file info and read file info from the
    modem. Currently the other file IDs haven't been implemented, but
    they will be tackled later.
  mbim-message: Add support for parsing both UTF8/16 strings
  mbim: Add support for nested fixed arrays in arrays/structs In some
    arrays, a nested array can be a fixed array coupled with an OL-pair,
    which breaks the existing assumptions of arrays and structs, leading
    to wrong data being parsed. Or the parent array can have no OL-pair
    in this condition.
  mbimmodem: add support for SIM I/O operations
  mbim/network-registration: add support for manual registration

 drivers/mbimmodem/gprs-context.c         |  64 ++++--
 drivers/mbimmodem/gprs.c                 |   2 +-
 drivers/mbimmodem/mbim-message.c         |  53 +++--
 drivers/mbimmodem/mbim.c                 |  18 ++
 drivers/mbimmodem/mbim.h                 |  37 ++++
 drivers/mbimmodem/mbimmodem.h            |   2 +-
 drivers/mbimmodem/network-registration.c | 103 +++++++++-
 drivers/mbimmodem/sim.c                  | 248 ++++++++++++++++++++++-
 drivers/mbimmodem/sms.c                  |   5 +-
 drivers/mbimmodem/util.c                 |  56 +++++
 drivers/mbimmodem/util.h                 |   2 +
 include/sim.h                            |   2 +
 plugins/mbim.c                           |  40 ++++
 plugins/udevng.c                         |  57 ++++++
 src/sim.c                                |   5 +
 15 files changed, 652 insertions(+), 42 deletions(-)

--=20
2.52.0