Age | Commit message (Collapse) | Author |
|
|
|
A7600E-H sends +CPIN: URC on startup.
The URC can be treated by ModemManager as a response to other command, what leads to errors during ModemManager initialization
|
|
|
|
|
|
Including logic to set low power mode during an EPS initial bearer
settings update.
|
|
Basically to flag that we don't support QMI explicitly, so that it's
not even attempted.
|
|
There is no released firmware version with proper support for
multiplexing yet.
|
|
|
|
|
|
There are no udev rules in the new mtk plugin for now.
|
|
These rules apply to modems managed by the mtk-legacy plugin.
|
|
Add MTK plugin for mtk_t7xx platform which support MBIM interface.
|
|
|
|
After LVFS upgrade, the module needs to be restarted. ModemManager
queries the module information, sometimes the module is not ready, and
the information queried by "mmcli -m any --firmware-status" is
incomplete,
It is now modified to re query once per second when obtaining
incomplete versions, up to a maximum of 16 times.
Signed-off-by: mank.wang <mank.wang@quectel.com>
|
|
Added load_update_settings, load_update_settings_finish
Add support for fastboot flash
|
|
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
|
|
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>
|
|
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.
|
|
Use mtk-legacy to instead mtk plugin.
|
|
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
|
|
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
|
|
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
|
|
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
|
|
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
|
|
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
|
|
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
|
|
The NL668 doesn't seem to support multiplexing, as it fails to
transfer data even in the one multiplexed PDN case.
|
|
DST is already included in TZ offset. Adjust tests accordingly.
|
|
^NTCT seems to be used to enable or disable ^NWTIME messages.
|
|
FEATURE_NOT_SUPPORTED is equal 1 in the enum FeatureSupport, as a
result even if QGPS isn't supported by modem debug message printed
available support.
|
|
(ModemManager:10426): GLib-GObject-WARNING **: 09:44:23.142: invalid cast from 'MMBroadbandModemQmiQuectel' to 'MMBroadbandModemMbim'
**
ERROR:../git/src/mm-broadband-modem-mbim.c:284:mm_broadband_modem_mbim_peek_port_mbim: assertion failed: (MM_IS_BROADBAND_MODEM_MBIM (self))
Bail out! ERROR:../git/src/mm-broadband-modem-mbim.c:284:mm_broadband_modem_mbim_peek_port_mbim: assertion failed: (MM_IS_BROADBAND_MODEM_MBIM (self))
See https://lists.freedesktop.org/archives/modemmanager-devel/2023-July/009729.html
|
|
|
|
NL668 doesn't correctly support more than one multiplexed PDN
connection. Limit this explicitly so that it never attempts to use
more than one.
# mmcli -m a --simple-connect="multiplex=requested,apn=internet,ip-type=ipv4v6,apn-type=default"
successfully connected the modem
# mmcli -m a --simple-connect="multiplex=requested,apn=internet2,ip-type=ipv4v6,apn-type=default"
error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Unsupported: Invalid bearer properties: Maximum number of multiplexed bearers reached'
|
|
|
|
|
|
We're going to use certain new features included in the custom tool.
|
|
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
|
|
This will make it slightly easier to port mm_port_serial_at_command() to
use GTask, since we won't have to keep a pointer to the result in GTask
after _finish() has been called.
In most cases the caller needs the value anyway, so this doesn't add too
much hasle.
|
|
|
|
../src/plugins/cinterion/mm-plugin-cinterion.c:65:1: warning: no previous prototype for ‘is_port_already_tagged’ [-Wmissing-prototypes]
65 | is_port_already_tagged (MMPortProbe *probe)
| ^~~~~~~~~~~~~~~~~~~~~~
|
|
The Cinterion plugin is using the output of the SQPORT? to guess which
ports can be used for AT commands and data connection.
Yet at the same time the udev adds port type hints to the Cinterion
modem upon its discovery.
This commit changes the initialization in a way that from now on it
skips sending SQPORT? when the port type hints are already assigned. By
doing this we make sure that the udev port type hints are being used
when they are available. In case they are not the initialization relies
on the outout of SQPORT? as it did do far.
See: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/782
|
|
|
|
The supported Quectel modules are usually QMI based and therefore
very new, there is no real requirement to support QCDM based
management.
|
|
The supported broadmobi modules are usually QMI based and therefore
very new, there is no real requirement to support QCDM based
management.
|
|
The QCDM ports are not strictly required in the Sierra plugin, as this
plugin deals exclusively with QMI and MBIM capable devices.
|
|
GError structure may not be initialized after execution of
mm_3gpp_parse_cgdcont_read_response() and accessing it's
fields will cause a segmentation fault.
|
|
When Telit FN990 is integrated through PCIe, but also USB lines are
available, ModemManager will consider the port on the USB composition
as a different modem:
oem@sw-test:~$ mmcli -L
/org/freedesktop/ModemManager1/Modem/1 [telit] FN990A40
/org/freedesktop/ModemManager1/Modem/0 [Telit] FN990A40
oem@sw-test:~$ mmcli -m 0
<snip>
| equipment id: 359172390022295
--------------------------------
System | device: /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5
| drivers: option
| plugin: telit
| primary port: ttyUSB0
| ports: ttyUSB0 (at)
oem@sw-test:~$ mmcli -m 1
<snip>
| equipment id: 359172390022295
-----------------------------------
System | device: /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0
| drivers: mhi-pci-generic
| plugin: telit
| primary port: wwan0mbim0
| ports: wwan0 (net), wwan0at0 (at), wwan0at1 (at),
| wwan0mbim0 (mbim), wwan0nmea0 (ignored), wwan0qcdm0 (ignored)
Ignore composition 0x1075, since it should not be used by ModemManager
and can only show when PCIe is used.
|
|
|
|
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
|
|
Ensure we don't assert when processing an unexpected response.
We were not correctly handling the case where g_match_info_matches()
was not succeeding.
0x00007d8be96cc462 (libc.so.6 + 0x00028462) abort
0x00007d8be995ff01 (libglib-2.0.so.0 - gtestutils.c: 3253) g_assertion_message
0x00007d8be995ff64 (libglib-2.0.so.0 - gtestutils.c: 3279) g_assertion_message_expr
0x00007d8be858086a (libmm-shared-xmm.so - mm-modem-helpers-xmm.c: 467) mm_xmm_parse_xact_query_response
0x00007d8be857d4e0 (libmm-shared-xmm.so - mm-shared-xmm.c: 310) xact_query_bands_ready
0x00007d8be9a79463 (libgio-2.0.so.0 - gsimpleasyncresult.c: 802) g_simple_async_result_complete
0x00005c8d2a11e9b9 (ModemManager - mm-base-modem-at.c: 538) at_command_ready
0x00007d8be9a79463 (libgio-2.0.so.0 - gsimpleasyncresult.c: 802) g_simple_async_result_complete
0x00005c8d2a19376b (ModemManager - mm-port-serial-at.c) serial_command_ready
0x00007d8be9a79463 (libgio-2.0.so.0 - gsimpleasyncresult.c: 802) g_simple_async_result_complete
0x00005c8d2a18f93f (ModemManager - mm-port-serial.c: 139) command_context_complete_and_free
0x00005c8d2a192985 (ModemManager - mm-port-serial.c: 753) port_serial_got_response
0x00005c8d2a192dff (ModemManager - mm-port-serial.c: 924) common_input_available
0x00007d8be993e3fc (libglib-2.0.so.0 - gmain.c: 3417) g_main_context_dispatch
0x00007d8be993e704 (libglib-2.0.so.0 - gmain.c: 4211) g_main_context_iterate
0x00007d8be993e978 (libglib-2.0.so.0 - gmain.c: 4411) g_main_loop_run
0x00005c8d2a105e66 (ModemManager - main.c: 217) main
0x00007d8be96cc6c5 (libc.so.6 + 0x000286c5) __libc_init_first
0x00007d8be96cc781 (libc.so.6 + 0x00028781) __libc_start_main
0x00005c8d2a105b80 (ModemManager + 0x00061b80) _start
|