aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-18broadband-modem-mbim: reprobe modem and update SIM info after ↵Rukun Mao
"nonInitialized" error When the subscriber ready status notification's ready state becomes "initialized" from "nonInitialized", it indicates a new SIM is inserted, for which a modem reprobe is needed.
2023-10-18fibocom: Added support for firmware objectsPuliang Lu
Added load_update_settings, load_update_settings_finish Add support for fastboot flash
2023-10-18iface-modem-3gpp-profile-manager: throttle emission of the "updated" signalAleksander Morgado
Emit the "Updated" signal max one time per 2 seconds, even if we get many more notifications from the modem during that time.
2023-10-18mm-broadband-modem-mbim: Enable PROCESS_NOTIFICATION_FLAG_SLOT_INFO_STATUS ↵Madhav
during sim hot swap setup Add PROCESS_NOTIFICATION_FLAG_SLOT_INFO_STATUS to enable and setup flags, this should help SIM detection on inactive slots when the modem is in a failed state. This helps fix the following scenario, If a physical SIM card (pSIM) is inserted into a device that is currently using its eSIM slot, but does not have any eSIM profiles installed, the pSIM will not be detected.
2023-10-17ublox: remove ID_MM_PROCESS tagsAleksander Morgado
The ID_MM_PROCESS tag should be set by the user when using the allowlist filter, we must not ship any device flagged by default with that tag. Moreover, the two ENV actions in a single rule is something not currently supported by the builtin udev rule parser that is used in systems without udev (e.g. openwrt). Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/779
2023-10-12quectel: add support for RM520NRobert Marko
RM520N in USB mode exposes the following: ttyUSB0 (if #0): QCDM/DIAG port ttyUSB1 (if #1): GPS data port ttyUSB2 (if #2): AT primary port ttyUSB3 (if #3): AT secondary port So, lets mark them so ModemManager can properly manage them. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2023-10-11ModemManager: Add force option to set initial EPS bearer settingsUjjwal Pande
Adding a new force option to force send initial EPS bearer settings to modem even if they match the existing ones. Currently settings are not sent to the modem if they match old settings
2023-10-11iface-modem: new logic to detect SIM swap with explicit IMSI/ICCID queryRukun Mao
This improves SIM hot swap check process, and it can help avoid unnecessary modem reprobe during suspend-resume without SIM inserted. The changes in this CL implemented the new logic ONLY for MBIM, and the new logic has not been implemented for QMI and AT yet. Thus, we keep the legacy `mm_iface_modem_check_for_sim_swap()' till the new logic for QMI and AT has been implemented.
2023-10-11mtk: rename for old mtk pluginming-pei.hsu
Use mtk-legacy to instead mtk plugin.
2023-10-11udev: always ignore the Qualcomm recovery layout (05c6:9008)Aleksander Morgado
2023-10-11build: post-release version bump to 1.23.0Aleksander Morgado
2023-10-11release: bump version to 1.22.0Aleksander Morgado
Require libmbim 1.30.0 and libqmi 1.34.0.
2023-10-11NEWS: add multi SIM support in cinterionAleksander Morgado
2023-10-09iface-modem: fix error message for failed mode settingokaestne
2023-10-06core: use more inclusive words in logsAleksander Morgado
2023-10-05cinterion: implement setting primary slotLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-10-05cinterion: implement loading multiple SIMsLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-10-05broadband-modem-qmi: Treat QMI_VOICE_USER_ACTION_UNKNOWN as ↵Daniel Hofmann
QMI_VOICE_USER_ACTION_NOT_REQUIRED. This fixes a bug where network-initiated USSD-Notify messages were not processed (and forwarded to higher-level applications) at all, while they should have been processed (and forwareded to higher-level applications). Previously, when there was a USSD conversation between the user and the network, the last message from the network (which, by definition, is not a message with user_action==QMI_VOICE_USER_ACTION_REQUIRED) would be silently dropped. The cause is a mismatch between the modem sending user_action==QMI_VOICE_USER_ACTION_UNKNOWN while old ModemManager expecting user_action==QMI_VOICE_USER_ACTION_NOT_REQUIRED.
2023-09-29AUTHORS: updateAleksander Morgado
2023-09-29fcc-unlock: add link for new T99W175 5G modem variantDennis Gilmore
Create link from existing unlock script for the modem in the Lenovo x13s. IDs are documented at https://cateee.net/lkddb/web-lkddb/MHI_BUS.html Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2023-09-27iface-modem: actually respect build optionsRobert Marko
iface-modem does not include config.h so it doesnt actually have the meson generated build defines to check against. I found this while trying to use AT commands over D-Bus by enabling at_command_via_dbus, confirming that Meson sees it, defines it in config.h but then I still got the: "Cannot send AT command to modem: operation only allowed in debug mode". Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2023-09-27build: bump version to 1.21.900 (1.22-rc1)Aleksander Morgado
2023-09-27NEWS: update for 1.22.0Aleksander Morgado
2023-09-27test,mmsmspdu: add support for MSG log levelAleksander Morgado
2023-09-27base-modem: minor alignment fixAleksander Morgado
2023-09-27device: plug leak of the physdev stringAleksander Morgado
2023-09-27api: add comment about "MSG" level being available only since 1.22Aleksander Morgado
2023-09-18mm-broadband-modem-mbim: treat "status error = `NotInitialized'" the same ↵Nagi Marupaka
way as "ReadyState = 'sim-not-initialized'"
2023-09-18api,modem: new 'Physdev' propertyLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-09-15quectel: Add RM520 with firehose supportQuectelDuke
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-09-14quectel: Add new EM160 product with firehose supportQuectelDuke
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-09-11broadband-modem: don't assert if no AT port in QMI modem enabling ↵Aleksander Morgado
unsolicited messages 2023-09-11T20:23:49.294555Z <err> mm_port_get_device: assertion 'self != NULL' failed 2023-09-11T20:23:49.294691Z <dbg> [modem0] enabling messaging unsolicited events on primary port (null) 2023-09-11T20:23:49.294865Z <dbg> [modem0] enabling parent messaging unsolicited events failed: Cannot run sequence: port not given
2023-09-11iface-modem-simple: ignore ps wait state result, only check errorAleksander Morgado
As we do in the similar modem state wait operations in the modem interface, the caller of the wait operation may ignore the state result as it's really not required in this case. Only looking at whether an error is set or not is enough. This by itself fixes a crash where mm_iface_modem_3gpp_wait_for_packet_service_state_finish() may have returned UNKNOWN without error set. 0x000079616c2564ed (libglib-2.0.so.0 - gtestutils.c: 3256) g_assertion_message 0x000079616c25654b (libglib-2.0.so.0 - gtestutils.c: 3282) g_assertion_message_expr 0x000057ba46231150 (ModemManager - mm-iface-modem-simple.c: 344) packet_service_attach_in_3gpp_network_step 0x000079616c0efb02 (libgio-2.0.so.0 - gtask.c: 1232) g_task_return_now 0x000079616c0eeb54 (libgio-2.0.so.0 - gtask.c: 1301) g_task_return 0x000057ba4620e5bd (ModemManager - mm-iface-modem-3gpp.c: 189) wait_for_packet_service_state_context_complete 0x000057ba4620b441 (ModemManager - mm-iface-modem-3gpp.c: 261) packet_service_state_changed
2023-09-11iface-modem-3gpp: ensure error is set when UNKNOWN returned in ps state waitAleksander Morgado
2023-09-11iface-modem: ensure error is set when UNKNOWN returned in modem state waitAleksander Morgado
2023-09-11iface-modem-3gpp: ignore UNKNOWN ps state explicitly during wait operationAleksander Morgado
2023-09-11iface-modem: ignore UNKNOWN modem state explicitly during wait operationAleksander Morgado
2023-09-08quectel: add Sahara udev tag to EM061K-GL modemsQuectelDuke
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-08-30mm-sms-part-3gpp: avoid buffer overflow if packed data is too largeEric Caruso
With GSM7 encoding, packedlen is the length of the unpacked string after expanding septets to octets so it will be ~14% bigger than the original string length. This means we have to be careful not to copy too much data into the PDU buffer. Similar issues exist in other branches of the same function. Thanks rhezashan@gmail.com for the report.
2023-08-14quectel: add support for EM060K-GL usb modulesQuectelDuke
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-08-07port-qmi: add QMAP support to mhi_net based setupsDaniele Palmas
2023-08-07port-qmi: restore driver initial MTU for mhi-net when resetting linkDaniele Palmas
Kernel driver mhi-net sets a custom MTU for the netdevice: use the same value when resetting the netdevice to its initial state. This is important especially when rmnet is used on top of mhi-net, since rmnet netdevices get their initial MTU from the mhi-net one.
2023-08-07build: unstable release version bump to 1.21.8Aleksander Morgado
2023-08-05fibocom: disable multiplexing support in NL668Aleksander Morgado
The NL668 doesn't seem to support multiplexing, as it fails to transfer data even in the one multiplexed PDN case.
2023-08-04bearer-mbim: simplify the logic to require static IPv6 addressingAleksander Morgado
Rely exclusively on whether a global IPv6 was given or not, regardless of what the DNS or gateway settings are, same as we do for IPv4. Also, assume we only get 1 single IPv6 address. No need to have a FIXME to add support for more addresses.
2023-07-28plugin-manager: increase probing timeoutsAleksander Morgado
This will make device probing slower unconditionally, but it should also ensure newer more complex devices that take longer to boot are handled properly.
2023-07-17port-qmi: set qmi_wwan requested dl dap max size to 16384 for rmnetDaniele Palmas
The current requested downlink data aggregation protocol maximum size is set to 32768, but this is not accordingly set as the MTU of the main qmi_wwan interface, that is instead set to RMNET_MAX_PACKET_SIZE that is 16384. So, the modem is able to send QMAP aggregated blocks larger than 16384, but the driver is not able to properly collect them, since the URB size is 16384. It is not simply possible to set qmi_wwan main interface MTU to the returned dl max aggregated size, since when creating the rmnet netdevice the rmnet kernel module automatically set the mtu as the size of the parent netdevice MTU - the qmap header size (4), but this won't work because the rmnet kernel module does not support MTU > 16384. As an immediate fix, set the requested dl dap max size to 16384, while thinking about how to refactor the logic for supporting higher values. qmi_wwan inbox qmap management is not affected by this issue.
2023-07-17port-qmi: fix rmnet setup when QMAP is configured in the modem at MM startupDaniele Palmas
It could happen that when MM starts the aggregation protocol is already configured on the modem side (e.g. if MM is stopped and restarted): this prevents the links to be properly configured, resulting in using the qmimux multiplex implementation even if rmnet is available. Fix the issue by always performing the first time the links reset procedure, even if the data format on the modem side is the expected one.
2023-07-17port-qmi: fix rmnet checksum flag with qmi_wwanDaniele Palmas
When using QMAPv5 and QMAPv4 the checksum is enabled by default at the modem level, so it should be also enabled when creating the rmnet netdevices: add the required flags also when rmnet is used through qmi_wwan.
2023-07-14broadband-modem-mbim: only update bearer speeds if connectedAleksander Morgado
We should not update speeds on already disconnected bearers.