Blame TODO

Packit Service 8101fe
Packit Service 8101fe
--------------------------------------------------------------------------------
Packit Service 8101fe
 * Contacts
Packit Service 8101fe
Packit Service 8101fe
ModemManager should implement the Contacts interface if modems allow to query
Packit Service 8101fe
and manipulate the contacts information stored in SIM or device.
Packit Service 8101fe
Packit Service 8101fe
Packit Service 8101fe
--------------------------------------------------------------------------------
Packit Service 8101fe
 * Probing time mitigation
Packit Service 8101fe
Packit Service 8101fe
Probing time may end up being quite long if we're checking support of a modem
Packit Service 8101fe
which exposes multiple ports. It is specially bad if the modem exports a port
Packit Service 8101fe
which is neither AT nor QCDM, as we use all our probing attempts before we can
Packit Service 8101fe
export the modem in DBus (we do wait to get all ports probed before running the
Packit Service 8101fe
initialization sequence, as we want to use the primary port for that always).
Packit Service 8101fe
Packit Service 8101fe
Therefore, looking for ways to mitigate probing time in the specific bad cases
Packit Service 8101fe
is a good way of minimizing this problem. Some ideas:
Packit Service 8101fe
Packit Service 8101fe
  ** If one AT probing succeeds, don't allow timeouts in remaining ports when
Packit Service 8101fe
     probing for AT.
Packit Service 8101fe
Packit Service 8101fe
Packit Service 8101fe
--------------------------------------------------------------------------------
Packit Service 8101fe
 * AT+CMUX & Serial multiplexing
Packit Service 8101fe
Packit Service 8101fe
Some modes allow to use virtual channels set up over one single serial
Packit Service 8101fe
interface, as defined at 3G TS 27.010. This allows devices with one single port
Packit Service 8101fe
to get a virtual secondary port for AT commands while in connected mode, for
Packit Service 8101fe
example to update the signal quality value or check registration status.
Packit Service 8101fe
Packit Service 8101fe
Packit Service 8101fe
--------------------------------------------------------------------------------
Packit Service 8101fe
 * Additional minor enhancements, fixes and general brainstorm
Packit Service 8101fe
Packit Service 8101fe
  ** Per-device log function? Something like mm_modem_log() and
Packit Service 8101fe
     mm_modem_port_log(), so that we include automatically the modem number
Packit Service 8101fe
     (and port name) in each log line.
Packit Service 8101fe
Packit Service 8101fe
  ** Do we really need function name, filename and line in the debug log?
Packit Service 8101fe
Packit Service 8101fe
  ** In the default MMBroadbandModem, check how we can know if we're sitting in
Packit Service 8101fe
     a rev0, revA or revB CDMA network. We need to expose the exact access
Packit Service 8101fe
     technology in the interface.
Packit Service 8101fe
Packit Service 8101fe
  ** Fix object names to show proper inheritance? For example:
Packit Service 8101fe
     - MMPort, MMPortSerial, MMPortSerialAt, MMPortSerialQcdm
Packit Service 8101fe
     - MMModem (instead of MMBaseModem), MMModemBroadband, MMModemPots
Packit Service 8101fe
     - MMBearer, MMBearerBroadband, MMBearerPots
Packit Service 8101fe
Packit Service 8101fe
  ** Test cases for CIEV responses.
Packit Service 8101fe
Packit Service 8101fe
  ** When a 3GPP modem is disabled, we run AT+CREG=0. That will just disable the
Packit Service 8101fe
     automatic registration checks and unsolicited messages, the modem will
Packit Service 8101fe
     still be registered in the network. AT+COPS=2 is the one doing manual
Packit Service 8101fe
     unregistration from the network, and we should probably include such step
Packit Service 8101fe
     in the 3GPP disabling sequence.
Packit Service 8101fe
Packit Service 8101fe
  ** serial-parsers: convert the v1 parser to a GObject.
Packit Service 8101fe
Packit Service 8101fe
  ** MMBroadbandBearer: include additional step for authentication, with
Packit Service 8101fe
     retries.
Packit Service 8101fe
Packit Service 8101fe
  ** MMBroadbandBearer: include additional step for waiting to get connected via
Packit Service 8101fe
     unsolicited messages.
Packit Service 8101fe
Packit Service 8101fe
  ** Huawei plugin: Seems to me that whenever we update the allowed modes OR the
Packit Service 8101fe
     bands, we're actually also changing the other one. This is because we're
Packit Service 8101fe
     using hardcoded values in ^SYSCFG write operations; we should instead read
Packit Service 8101fe
     current mode or band when updating the other.
Packit Service 8101fe
Packit Service 8101fe
  ** Huawei plugin: The K4505, at least, doesn't like the default command to
Packit Service 8101fe
     setup messaging related unsolicited messages:
Packit Service 8101fe
     > AT+CNMI=2,1,2,1,0
Packit Service 8101fe
     +CMS ERROR: 303
Packit Service 8101fe
Packit Service 8101fe
  ** ZTE plugin: The MF637, at least, doesn't like the default command to setup
Packit Service 8101fe
     messaging related unsolicited messages:
Packit Service 8101fe
     > AT+CNMI=2,1,2,1,0
Packit Service 8101fe
     +CMS ERROR: 303
Packit Service 8101fe
Packit Service 8101fe
  ** Pantech plugin: The UMW190 needs some time to settle down after sending the
Packit Service 8101fe
     PIN, or it will end up stuck if we ask too many PIN-related stuff one after
Packit Service 8101fe
     the other.
Packit Service 8101fe
Packit Service 8101fe
  ** HSO plugin: shouldn't we have the same logic for unsolicited messages
Packit Service 8101fe
     handling in both connect and disconnect contexts? See Icera plugin for ref.
Packit Service 8101fe
Packit Service 8101fe
  ** Icera plugin: retry authentication step in 3gpp dialling to 3 times with 1s
Packit Service 8101fe
     delay.
Packit Service 8101fe
Packit Service 8101fe
  ** QMI: Gobi 2k devices don't like the SYNC command, which is supposed to
Packit Service 8101fe
     release all previously allocated clients. It gets worse, as if clients are
Packit Service 8101fe
     not cleanly released by ModemManager (e.g. a segfault), the device reaches
Packit Service 8101fe
     a point where it doesn't allow allocating more:
Packit Service 8101fe
       couldn't create client for the 'nas' service:
Packit Service 8101fe
         QMI protocol error (5): 'client-ids-exhausted'
Packit Service 8101fe
     This may force us to have something like a state file in /tmp with the IDs
Packit Service 8101fe
     currently allocated, so that ModemManager can re-use them if needed.
Packit Service 8101fe
Packit Service 8101fe
  ** QMI: in NAS >= 1.8 we don't have the operator name given in the
Packit Service 8101fe
     registration status queries, we'll need to get it with "NAS Get PLMN Name".
Packit Service 8101fe
Packit Service 8101fe
  ** QMI: mark the modem as invalid if we lose the QMI and/or WWAN ports. For
Packit Service 8101fe
     example, we should handle 'sudo rmmod qmi_wwan && sudo modprobe qmi_wwan'