Files
ModemManager/plugins
Aleksander Morgado 3e037dc158 plugins: AT/QCDM/GPS port type hints only applicable to TTY ports
There are modems out there, that reuse the same vid:pid for multiple
USB layouts, so there may be port type hints that are not really
applicable in all layouts.

E.g. the EM7565 in MBIM layout uses interface #0 for the MBIM port,
while in QMI layout it uses interface #0 for the QCDM port (which is
what the port type hint included in MM states). With these rules, if
we don't bind the port type hint to TTY ports only, we would be
wrongly flagging the MBIM port as possible QCDM port:

    <debug> [plugin/sierra] probes required for port cdc-wdm0: 'mbim'
    <debug> [cdc-wdm0/probe] no AT/QMI/MBIM probing in possible QCDM port
    <debug> [cdc-wdm0/probe] port is not AT-capable
    <debug> [cdc-wdm0/probe] port is not QMI-capable
    <debug> [cdc-wdm0/probe] port is not MBIM-capable
    <debug> [cdc-wdm0/probe] port probing finished: no more probings needed

Avoid this, by making sure all port type hints are added exclusively
to TTY ports. It's not a perfect solution, but it's enough for the
known cases.
2021-07-13 10:56:11 +02:00
..
2020-09-28 08:22:35 +00:00

The following list shows the relationship among the different plugins provided
by default by ModemManager. For each of the plugin types, the list of modem
objects created by the plugin is given.

 * Altair:
   ** MMBroadbandModemAltairLte

 * Anydata:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemAnydata

 * Cinterion:
   ** MMBroadbandModemQmiCinterion
   ** MMBroadbandModemCinterion

 * Dell:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemFoxconnT77w968    (from the Foxconn utils)
   ** MMBroadbandModemMbimXmm           (from the XMM utils)
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModemNovatel           (from the Novatel utils)
   ** MMBroadbandModemSierra            (from the Sierra Legacy utils)
   ** MMBroadbandModemTelit             (from the Telit utils)
   ** MMBroadbandModemXmm               (from the XMM utils)
   ** MMBroadbandModem                  (generic)

 * D-Link:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModem                  (generic)

 * Fibocom:
   ** MMBroadbandModemMbimXmm           (from the XMM utils)
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModemXmm               (from the XMM utils)
   ** MMBroadbandModem                  (generic)

 * Foxconn:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemFoxconnT77w968
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModem                  (generic)

 * Generic:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModem                  (generic)

 * Gosuncn:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModem                  (generic)

 * Haier:
   ** MMBroadbandModem                  (generic)

 * Huawei:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModemHuawei

 * Icera (no explicit plugin):
   ** MMBroadbandModemIcera

 * Iridium:
   ** MMBroadbandModemIridium

 * Linktop:
   ** MMBroadbandModemLinktop

 * Longcheer:
   ** MMBroadbandModemLongcheer

 * MBM:
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModemMbm

 * Motorola:
   ** MMBroadbandModemMotorola

 * Mtk:
   ** MMBroadbandModemMtk

 * Nokia:
   ** MMBroadbandModemNokia

 * Nokia Icera:
   ** MMBroadbandModemIcera             (from the Icera utils)

 * Novatel:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemNovatel

 * Novatel LTE:
   ** MMBroadbandModemNovatelLte

 * Option:
   ** MMBroadbandModemOption

 * Option HSO:
   ** MMBroadbandModemHso

 * Pantech:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemPantech

 * Quectel:
   ** MMBroadbandModemQmiQuectel
   ** MMBroadbandModemQuectel

 * Samsung:
   ** MMBroadbandModemSamsung           (subclassed from the Icera utils)

 * Sierra Legacy:
   ** MMBroadbandModemSierraIcera       (subclassed from the Icera utils)
   ** MMBroadbandModemSierra

 * Sierra:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModem                  (generic)

 * Simtech:
   ** MMBroadbandModemQmiSimtech
   ** MMBroadbandModemSimtech

 * Telit:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemMbimTelit
   ** MMBroadbandModemTelit

 * Thuraya
   ** MMBroadbandModemThuraya

 * TP-Link:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModem                  (generic)

 * u-blox:
   ** MMBroadbandModemUblox

 * via:
   ** MMBroadbandModemVia

 * wavecom:
   ** MMBroadbandModemWavecom

 * x22x:
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemX22x

 * XMM (no explicit plugin):
   ** MMBroadbandModemMbimXmm
   ** MMBroadbandModemXmm

 * ZTE
   ** MMBroadbandModemQmi               (generic)
   ** MMBroadbandModemMbim              (generic)
   ** MMBroadbandModemZteIcera          (subclassed from the Icera utils)
   ** MMBroadbandModemZte