aboutsummaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)Author
2020-10-14simtech: fix missing GError initializationAleksander Morgado
2020-10-14cinterion: fix missing GError initializationAleksander Morgado
2020-10-05telit: add tag ID_MM_TELIT_PORT_DELAY for initial delay mechanismDaniele Palmas
2020-10-05telit: add initial delay for AT ports to become responsiveDaniele Palmas
Add a polling mechanism for port responsiveness, since some modem families require some time before being usable after the serial ports have been exposed by the kernel.
2020-10-05telit: add FN980 and LM9x0 MBIM compositions rulesDaniele Palmas
2020-10-05telit: fix LM9x0 udev rulesDaniele Palmas
2020-09-28quectel: setup parent SIM hot swap in addition to +QUSIMAleksander Morgado
So that e.g. in QMI-based devices we have both things, not just one.
2020-09-28Revert "shared-qmi: implement SIM/profile change detection"Aleksander Morgado
This reverts commit e91f2ef315526a1a8a1b451acb5a190686b05225. This was wrongly merged squashing multiple commits together. Reverting to merge separate commits.
2020-09-28shared-qmi: implement SIM/profile change detectionTeijo Kinnunen
Implement eUICC change detection for QMI based modems using one of the following mechanisms (in order of preference): 1. If the modem supports "get slot status" operation, we monitor physical slot status indications from the modem for the active slot to detect when ICCID changes. 2. Use "refresh register all" to subscribe refresh indications when the eUICC triggers REFRESH operation following the enablement of a new profile. 3. Use "refresh register" to subscribe refresh indications (file path of EF_ICCID is used) in a similar way. This is used with older modems that do not support "refresh register all". If ICCID change is detected, the already existing SIM hot swap mechanism in MM is triggered.
2020-09-28gosuncn: new pluginAleksander Morgado
For now, just with port type hints for the GM800 in MBIM mode.
2020-09-25samsung: fix typo in plugin nameAleksander Morgado
2020-09-15cinterion: Add SIM hot swap to AT broadband modems (PLS8 & PLAS9).Jessy Diamond Exum
Enable the SCKS Unsolicited Result Code (URC) to detect SIM hot swap, and trigger SIM redetection.
2020-09-15cinterion: Configure the PLAS9 to correctly send Unsolicited Result Codes.Jessy Diamond Exum
The PLS8 and PLAS9 modems (and likely many others modems supported by this driver) have two AT capable serial ports: The 'MODEM' AT port (default for PPP) and the 'APPLICATION' AT port (used for general control). The PLS8 modem sends URCs to the APPLICATION port by default, while he PLAS9 defaults sending URCs to the MODEM port. To get URCs to behave on both modems, it is necessary to explicitly set the URC reporting port to APPLICATION.
2020-09-11quectel: minor refactor in the sim hot swap setup logicAleksander Morgado
2020-09-07iface-modem: add an optional iccid parameter to check_for_sim_swapTeijo Kinnunen
If the new iccid is already available, reading the iccid from the card can be skipped.
2020-09-04quectel: prefer +CTZU=3 to +CTZU=1 if supportedAleksander Morgado
Some quectel modems, like the EC25, require +CTZU=3 in order to have CCLK? report localtime instead of UTC time. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/233
2020-09-04quectel: new custom +CTZU=? parserAleksander Morgado
Some quectel devices, like the EC25 have a non-standard additional '3' mode value: 0: Disable automatic time zone update via NITZ 1: Enable automatic time zone update via NITZ 3: Enable automatic time zone update via NITZ and update LOCAL time to RTC
2020-08-29simtech: add SIM7070/SIM7080/SIM7090 port type hintsAleksander Morgado
These modules have 2 different USB layouts: The default layout with PID 0x9205 (AT+CUSBSELNV=1) exposes 4 TTYs and an ECM interface: T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 6 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1e0e ProdID=9205 Rev=00.00 S: Manufacturer=SimTech, Incorporated S: Product=SimTech SIM7080 S: SerialNumber=1234567890ABCDEF C: #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether I: If#=0x5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether The purpose of each TTY is as follows: * ttyUSB0: DIAG/QCDM port. * ttyUSB1: GNSS data. * ttyUSB2: AT-capable port (control). * ttyUSB3: AT-capable port (data). In the secondary layout with PID=0x9206 (AT+CUSBSELNV=86) the module exposes 6 TTY ports: T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 8 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=02(commc) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1e0e ProdID=9206 Rev=00.00 S: Manufacturer=SimTech, Incorporated S: Product=SimTech SIM7080 S: SerialNumber=1234567890ABCDEF C: #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#=0x5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option The purpose of each TTY is as follows: * ttyUSB0: DIAG/QCDM port. * ttyUSB1: GNSS data. * ttyUSB2: AT-capable port (control). * ttyUSB3: QFLOG interface. * ttyUSB4: DAM interface. * ttyUSB5: AT-capable port (data).
2020-08-28api,sim: new 'Active' propertyAleksander Morgado
In preparation for the multi-SIM setup, we need a way to tell whether a given SIM card is active or not in the system. On systems with one single SIM slot, the available SIM card will always be active. On Multi-SIM Single-Standby setups we may have multiple SIM slots with multiple SIM cards, but only one of them will be active at any given time. On Multi-SIM Multi-Standby setups we may have multiple SIM slots with multiple SIM cards that may be active at the same time. E.g. the QMI protocol allows up to 5 different active SIM cards (primary, secondary, tertiary...).
2020-08-16 quectel: add port type hints for the Quectel 5G RM500carlyin
2020-08-16quectel: add udev rules unit testerAleksander Morgado
2020-08-15quectel: allow MBIM devicesroot
2020-08-11cinterion: remove limitation to IPv4 only PDP contextsGiacinto Cifelli
There was a limitation in the past in the plugin, because one of the steps during the dial (CONNECT_3GPP_CONTEXT_STEP_PDP_CTX) was to reconfigure a specific CID hardcoding the IP type to IPv4. That logic was removed in commit af2d6c1c4b7f815862313bf0f84b1ff0e91ccd60, but we didn't remove the IPv4 limitation at that point.
2020-08-11cinterion: clarify role of the AT ports for the ELS61/PLS62 familyGiacinto Cifelli
2020-08-11cinterion: setup initial LTE parametersGiacinto Cifelli
2020-08-10sierra: XMM-specific features in XMM based modems (e.g. EM7345)Aleksander Morgado
We create XMM-based modems like the EM7345 with XMM-specific features like the AT+XLCSLSR based GNSS support. E.g.: $ mmcli -m a --location-status ------------------------ Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps-msa, agps-msb | enabled: 3gpp-lac-ci | signals: no ------------------------ GPS | refresh rate: 30 seconds $ sudo mmcli -m a --location-enable-gps-nmea successfully setup location gathering $ sudo mmcli -m a --location-get -------------------------- 3GPP | operator code: 214 | operator name: 7 | location area code: 0000 | tracking area code: 6FFE | cell id: 0465CD20 -------------------------- GPS | nmea: $GPGSA,A,1,,,,,,,,,,,,,,,*1E | $GNGSA,A,1,,,,,,,,,,,,,,,,1*1D | $GNRMC,235951.000,V,,,,,,,,,,N,V*20 | $GNVTG,,T,,M,,N,,K,N*32 | $GNGGA,235951.000,,,,,0,0,,,M,,M,,*5F Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/25
2020-08-04cinterion: fixed cast from wrong objectGiacinto Cifelli
MM_BROADBAND_MODEM_CINTERION shall be applied to a *MMBaseModem (ctx->modem here) and not to a *MMBaseBearer (self here)
2020-08-01broadband-modem: minor method renameAleksander Morgado
2020-07-27cinterion: IMT family SGAUTHGiacinto Cifelli
some ITM family modems require full parameters: AT^SGAUTH=cid,type,user,pwd even when type is AUTH_NONE. Fortunately, all modules of the IMT family tolerate this syntax, so it can be adopted for the entire family.
2020-07-27cinterion: ignore ^SYSSTART urcGiacinto Cifelli
2020-07-27cinterion: extend SGAUTH syntaxGiacinto Cifelli
AT^SGAUTH syntax depends on the modem family: AT^SGAUTH=cid,type,user,pwd for the IMT family AT^SGAUTH=cid,type,pwd,user for the rest
2020-07-26cinterion: radio/band single scfg line: no varianceGiacinto Cifelli
the AT^SCFG="Radio/Band" command does not return a different answer for different charsets. This code was working previously because the charset was left to default (GSM) at the time of this operation, and therefore the string was unchanged anyway.
2020-07-24changed default authentication algorithm to CHAPGiacinto Cifelli
CHAP is almost universal nowadays, and so it is a better default than PAP Not changed for uBlox, that prefers an error if not specified, and for Huawei, which uses NONE with user/pwd and has 2 CHAP choices
2020-07-06cinterion: quote user/password strings in AT^SGAUTH callsAleksander Morgado
The ELS61 doesn't like authentication given without quotes: [modem3/ttyACM1/at] --> 'AT^SGAUTH=8,1,tm,t-mobile<CR>' [modem3/ttyACM1/at] <-- '<CR><LF>+CME ERROR: 4<CR><LF>' Only when user/pass strings are quoted it works: [modem6/ttyACM1/at] --> 'AT^SGAUTH=8,1,"t-mobile","tm"<CR>' [modem6/ttyACM1/at] <-- '<CR><LF>OK<CR><LF>'
2020-07-06cinterion: if user OR password given, don't set the other as (null)Aleksander Morgado
[modem2/ttyACM1/at] --> 'AT^SGAUTH=8,1,t-d1,(null)<CR>' [modem2/ttyACM1/at] <-- '<CR><LF>+CME ERROR: 4<CR><LF>' We should use an empty string instead.
2020-07-06cinterion: increase SWWAN connection attempt timeoutAleksander Morgado
It's critical not to timeout early on devices with AT ports, or we may end up flagging the modem as invalid. ModemManager[26829]: <debug> [1593097973.552712] [modem1/ttyACM0/at] --> 'AT^SWWAN=1,2,1<CR>' .... ModemManager[26829]: <debug> [1593098064.195217] [modem1] couldn't connect bearer: Serial command timed out .... ModemManager[26829]: <error> [1593098091.167987] [modem1] port ttyACM0 timed out 10 consecutive times, marking modem as invalid
2020-07-04cinterion,signal: ^SMONI=? support check may be cachedAleksander Morgado
2020-07-04cinterion,signal: report error from parent signal support checkAleksander Morgado
2020-07-04cinterion,signal: minor coding style fixesAleksander Morgado
2020-07-04iface-modem-signal: added 5G signal informationWalter Hagstrom
Extended the ModemManager Signal interface to include 5G signal information for RSRP, RSRQ and SINR via libqmi. Also extended mmci to print 5G signal info.
2020-07-02telit: added port type hints for default MEx10G1 compositionDaniele Palmas
While at this change also the previous generic reference to ME910 in order to differentiate between ME910C1 (based on MDM9206) and MEx10G1 (based on MDM9205).
2020-06-30quectel,shared: implement custom time support checkAleksander Morgado
We require CTZU=3 during the time support check, instead of CTZU=1, so that the Quectel modem reports localtime instead of UTC time in +CCLK. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/233
2020-06-29quectel,shared: add GPS trace handlerAleksander Morgado
2020-06-29huawei: only flag GPS source as enabled if it was successfulAleksander Morgado
2020-06-29quectel,shared: only flag GPS source as enabled if it was successfulAleksander Morgado
2020-06-29quectel,shared: use QGPS=? test to check capabilitiesAleksander Morgado
2020-06-29quectel,qmi: add QGPS based fallback supportAleksander Morgado
2020-06-29quectel,shared: port GPS enabling to use AT sequenceAleksander Morgado
2020-06-29huawei: simplify GPS stop logicAleksander Morgado
The NMEA data port is closed right before stopping the engine.
2020-06-29huawei: port GPS enabling to use AT sequenceAleksander Morgado