aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2020-06-29quectel,shared: skip QGPS? check after enabling/disabling failuresAleksander Morgado
If any enabling/disabling command fails, we consider the operation failed, regardless of the QGPS status. This is because e.g. enabling involves more operations than just QGPS=1, and so we should treat a failure in the command sequence as a failure in the whole operation.
2020-06-29huawei: minor refactor in GPS enabling/disabling logicAleksander Morgado
2020-06-29quectel,shared: don't report GPS capabilities if no GPS port foundAleksander Morgado
The QGPS based implementation needs the existence of a port flagged as GPS data; if there is no such port, we cannot provide GPS support.
2020-06-29quectel,shared: fix reporting supported location capabilitiesAleksander Morgado
The method that reports what location capabilities are supported must report the capabilities provided by the parent interface plus the additional capabilities supported by the shared implementation. Also, simplify the logic a bit reducing the amount of implemented methods.
2020-06-29quectel,shared: private context at beginning of source fileAleksander Morgado
2020-06-29quectel: coding style fixes in the QGPS logicAleksander Morgado
2020-06-29quectel,shared: fix parent location disablingAleksander Morgado
The GTask must be passed as user_data.
2020-06-29quectel: implement GPS support with +QGPSArenM
Quectel modems allow provide location information via AT commands. Add this as a location source.
2020-06-28base-modem,at: response processors return a more specific enumAleksander Morgado
Instead of using the FALSE return of the method to indicate either a fatal error (if result_error was set) or the continuation request (if result_error wasn't set), provide a enum that has explicit states for all three possible values (failure, success or continue).
2020-06-28base-modem,at: improve documentation on response processor methodsAleksander Morgado
2020-06-28broadband-modem: run implicit disabling if enabling failsAleksander Morgado
The disabling sequence is updated so that the steps to disable the interfaces never fail. This is done so that the modem is not left in an "inconsistent" enabled state, if e.g. the modem is enabled and one of the disabling steps for the interfaces ends up failing. In this case, it is preferred to say that the modem is disabled, than having it wrongly enabled. The enabling sequence is updated so that if any of the steps to enable the interfaces fail, we end up running an implicit disabling operation to disable all the interfaces. This is to attempt to cleanup whatever we had enabled during the enabling operation, including e.g. the open ports context.
2020-06-24broadband-modem-qmi: fix assertion when disabling unsolicited eventsAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/230
2020-06-23broadband-modem-qmi,bearer-qmi: avoid depending on the client versionAleksander Morgado
The QMI client version is an information provided by the QMI protocol only when QMUX or MBIM backends are used, it won't be available when e.g. QRTR is used. The logic in ModemManager should not rely on this information.
2020-06-23build: post-release version bump to 1.15.0Aleksander Morgado
2020-06-23release: bump version to 1.14.0Aleksander Morgado
2020-06-22u-blox: always ignore M8 and M9 GPS modulesAleksander Morgado
2020-06-22blacklist: add chinese clone of Arduino nanoAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/228
2020-06-20build: require libqmi 1.26.0Aleksander Morgado
2020-06-19NEWS: add info about MBIM-powered Cinterion devicesAleksander Morgado
2020-06-19cinterion: added port type hints for the mPLS62-w in MBIM modeAleksander Morgado
T: Bus=01 Lev=02 Prnt=04 Port=01 Cnt=01 Dev#= 40 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1e2d ProdID=005d Rev=17.30 S: Manufacturer=Cinterion Wireless Modules S: Product=PLSx C: #Ifs=12 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=cdc_acm I: If#=0x1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm I: If#=0xa Alt= 1 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim I: If#=0xb Alt= 2 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim I: If#=0x2 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#=0x3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm I: If#=0x4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#=0x5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm I: If#=0x6 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#=0x7 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm I: If#=0x8 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#=0x9 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
2020-06-19cinterion: allow MBIM-powered devicesAleksander Morgado
Like the mPLS62-w when setup to be controlled in MBIM mode instead of plain AT commands.
2020-06-18build: require libmbim 1.24.0Aleksander Morgado
2020-06-17mm-kernel-device: give cmp a total orderEric Caruso
This allows MMKernelDevice::cmp to compare two kernel devices with different object types, which means that subclasses can continue to only handle comparisons with their own type. The order may not be stable across builds.
2020-06-16AUTHORS: update with latest commit statsAleksander Morgado
2020-06-16quectel: add port type hints for EG95Brendan Peter
2020-06-12broadband-modem-qmi: also build 5GS reg state from Serving SystemAleksander Morgado
2020-06-12broadband-modem-qmi: avoid using stale EPS registration stateAleksander Morgado
When the device goes from LTE to UMTS, we must make sure we also always update the EPS registration state as unknown, or the built consolidated state will be wrong. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/225
2020-06-05broadband-modem-qmi: switch USSD state to idle when ussd session is ↵Maxim Anisimov
terminated by network The cellular operator can break the interactive USSD session. In this case, it is necessary to process this situation otherwise --3gpp-ussd-initiate or --3gpp-ussd-respond will give an error. Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
2020-06-05cli: make control chars in strings are escaped correctly for json outputMaxim Anisimov
We need to change json output escaping according to this https://bugzilla.gnome.org/show_bug.cgi?id=730425 Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
2020-06-05sms-part-3gpp: fix unicode names in sms decode iconv() operationsMaxim Anisimov
So that the limited iconv() in OpenWRT supports the conversion properly. Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
2020-06-04build: bump version to 1.13.900 (1.14-rc1)Aleksander Morgado
2020-06-04NEWS: add details about the plugin configure optionsAleksander Morgado
2020-06-04filter: setup automatic per-vid checks in the plugin whitelistAleksander Morgado
Until now, the plugin whitelist rule in the filter would only handle those plugins that require specific udev tags, and those that had explicit full vid:pid pairs. This update makes a new implicit automatic whitelist for all devices that match any of the vids managed by the different plugins. Looking at the current list of devices in the blacklist and greylist maintained by ModemManager, there are no devices falling under the list of supported plugin vids that would need to be blacklisted; except for u-blox GPS modules: huawei -> 0x12d1 -> None in blacklist/greylist thuraya -> 0x1a26 -> None in blacklist/greylist telit -> 0x1bc7 -> None in blacklist/greylist dLink -> 0x2001 -> None in blacklist/greylist wavecom -> 0x114f -> None in blacklist/greylist x22x -> 0x1bbb,0x0b3c -> None in blacklist/greylist anydata -> 0x16d5 -> None in blacklist/greylist quectel -> 0x2c7c -> None in blacklist/greylist haier -> 0x201e -> None in blacklist/greylist novatel -> 0x1410 -> None in blacklist/greylist dell -> 0x413c -> None in blacklist/greylist option -> 0x0af0,0x1931 -> None in blacklist/greylist nokia -> 0x0421 -> None in blacklist/greylist cinterion -> 0x1e2d,0x0681 -> None in blacklist/greylist simtech -> 0x1e0e -> None in blacklist/greylist iridium -> 0x1edd -> None in blacklist/greylist pantech -> 0x106c -> None in blacklist/greylist longcheer -> 0x1c9e,0x1bbb -> None in blacklist/greylist linktop -> 0x230d -> None in blacklist/greylist sierra -> 0x1199 -> None in blacklist/greylist ublox -> 0x1546 -------------> GPS chips blacklisted !!!!! foxconn -> 0x0489 -> None in blacklist/greylist broadmobi -> 0x2020 -> None in blacklist/greylist fibocom -> 0x2cb7 -> None in blacklist/greylist tplink -> 0x2357 -> None in blacklist/greylist zte -> 0x19d2 -> None in blacklist/greylist The rules used to blacklist the u-blox GPS chips have already been moved to the u-blox plugin itself, and now they use the broader ID_MM_DEVICE_IGNORE tag that applies in all filter modes.
2020-06-04ublox: fully ignore GPS devices with plugin-installed rulesAleksander Morgado
Instead of setting up the ID_MM_TTY_BLACKLIST tag used in 'legacy' filter mode, tag all known u-blox GPS devices with the broader ID_MM_DEVICE_IGNORE tag that applies under all filter modes. Also, make this rules be installed by the plugin itself, because at the end, it is the u-blox plugin the one attempting to probe all devices with vid 0x1546.
2020-06-04NEWS: update MBIM reset operation info to include Qualcomm devicesAleksander Morgado
We're using QMI over MBIM to perform the reset if the device is QMI based.
2020-06-03build: require libmbim 1.24-rc1Aleksander Morgado
2020-06-03NEWS: update for 1.14.0Aleksander Morgado
2020-06-03docs,libmm-glib: add 1.14 indexAleksander Morgado
2020-06-02wavecom: break loop matching 2G bands if exact combination foundAleksander Morgado
2020-06-02wavecom: port to use g_autoptr() setupAleksander Morgado
2020-06-02wavecom: fix GTask return handling when loading current capsAleksander Morgado
2020-06-01huawei: ignore NDISDUP disconnection errorsAleksander Morgado
Running NDISDUP=1,0 on an already disconnected bearer/context will report ERROR, so we can really ignore the result of the command, because we're anyway going to get the correct bearer/context status later on with the NDISSTATQRY checks.
2020-06-01huawei: don't delay reporting network initiated disconnectsAleksander Morgado
When a network-initiated event is received telling us that a bearer/context is disconnected, we should handle and process it right away, without thinking on whether there is going to be a user-requested disconnect afterwards or not. This effectively reverts the changes introduced in commit 21a5aaf4fe6934aad2e6c770aa4bdffa3ad29f9d, which looks like was done to handle synchronization issues with upper layers (e.g. with NetworkManager or Shill). Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/205
2020-06-01filter: 'strict' is the new defaultAleksander Morgado
The 'strict' filter policy is less invasive, as it will not touch TTYs unless there are clear indications that it may be a modem. Under this mode, the ModemManager-provided blacklist database is not used.
2020-06-01filter: rename 'default' to 'legacy'Aleksander Morgado
The old 'default' policy is renamed to 'legacy', and is considered now deprecated.