Commit Graph
43 Commits
Author SHA1 Message Date
ming-pei.hsu 4fdda13c4e mtk: rename for old mtk plugin
Use mtk-legacy to instead mtk plugin.
2023-10-11 13:27:31 +00:00
Lukas Voegl fe0e6059ba cinterion: implement setting primary slot
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-10-05 11:36:08 +00:00
Lukas Voegl 1341c65b5c cinterion: implement loading multiple SIMs
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-10-05 11:36:08 +00:00
Lukas Voegl 8cd1c1bdb9 api,modem: new 'Physdev' property
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2023-09-18 10:53:12 +02:00
QuectelDuke 1fc061b6a5 quectel: Add RM520 with firehose support
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-09-15 09:49:50 +00:00
QuectelDuke bae7242af6 quectel: Add new EM160 product with firehose support
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-09-14 07:51:12 +00:00
QuectelDuke 0a87294725 quectel: add Sahara udev tag to EM061K-GL modems
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-09-08 08:35:48 +00:00
QuectelDuke 8fc9b77750 quectel: add support for EM060K-GL usb modules
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-08-14 12:03:02 +00:00
Aleksander Morgado 50caac4bdd fibocom: disable multiplexing support in NL668
The NL668 doesn't seem to support multiplexing, as it fails to
transfer data even in the one multiplexed PDN case.
2023-08-05 22:08:01 +00:00
okaestne aaacc8120a huawei: don't add DST to TZ offset
DST is already included in TZ offset. Adjust tests accordingly.
2023-07-13 10:00:24 +00:00
okaestne d856cae75b huawei: check ^NWTIME not ^NTCT for time support
^NTCT seems to be used to enable or disable ^NWTIME messages.
2023-07-13 10:00:24 +00:00
Andrey Skvortsov 4174575d5d quectel: fix debug output if QGPS isn't supported
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.
2023-07-13 08:15:10 +00:00
Aleksander Morgado 53f063b851 quectel: avoid assuming modem is MBIM capable in shared utils
(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
2023-07-07 05:50:12 +00:00
diekleinekuh 3c2849d722 fibocom: allow qmi over mbim 2023-06-24 22:52:43 +00:00
Aleksander Morgado 2ea67ae3e8 fibocom: limit multiplexing in NL668 to one single PDN
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'
2023-06-16 21:00:16 +00:00
Kristian Sloth Lauszus f32a625a56 mm-modem-helpers-ublox: added support for ublox LARA-R6001 / LARA-R6001D modules 2023-05-22 19:48:48 +02:00
Aleksander Morgado ecea0a16e1 sierra: port type hints for RC7611 2023-05-11 11:02:31 +00:00
Aleksander Morgado efcfce02a9 build-aux,mkenums: import custom mkenums tool from libqmi/libmbim
We're going to use certain new features included in the custom tool.
2023-04-27 12:23:04 +00:00
Marcus Folkesson 5406abc187 sierra: add port hints for HL7812
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
2023-04-13 08:23:09 +00:00
Lubomir Rintel c40876de95 port-serial-at: make mm_port_serial_at_command_finish() transfer ownership
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.
2023-04-11 13:49:03 +00:00
Aleksander Morgado e3c3604838 cinterion: fix missing object in mm_obj_dbg() calls 2023-04-10 15:06:28 +00:00
Aleksander Morgado a53990e074 cinterion: fix warning with -Wmissing-prototypes
../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)
        | ^~~~~~~~~~~~~~~~~~~~~~
2023-04-10 15:05:24 +00:00
Konrad Zapałowicz 4f4bd48db9 cinterion: use port type hints on modem 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
2023-04-10 09:52:26 +00:00
Aleksander Morgado ea441d0f89 sierra: add EM7455 port type hints 2023-03-27 13:23:43 +00:00
Aleksander Morgado e5493127cd quectel: no real requirement for QCDM
The supported Quectel modules are usually QMI based and therefore
very new, there is no real requirement to support QCDM based
management.
2023-03-27 12:54:46 +00:00
Aleksander Morgado e81ae2b2b1 broadmobi: no real requirement for QCDM
The supported broadmobi modules are usually QMI based and therefore
very new, there is no real requirement to support QCDM based
management.
2023-03-27 12:54:46 +00:00
Aleksander Morgado 11219ed0d8 sierra: no real requirement for QCDM
The QCDM ports are not strictly required in the Sierra plugin, as this
plugin deals exclusively with QMI and MBIM capable devices.
2023-03-27 12:54:46 +00:00
Kirill Buksha c463807494 cinterion: don't assume GError structure always initialized
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.
2023-03-15 11:02:36 +00:00
Daniele Palmas 592f8b6364 telit: ignore composition 0x1075
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.
2023-03-07 11:06:51 +00:00
dchard 00f3054652 quectel: add support for EG12-EA type usb modules 2023-03-03 08:47:04 +00:00
QuectelDuke fb386765a5 quectel: add support for EC21-EUX usb modules
Signed-off-by: QuectelDuke <duke.xin@quectel.com>
2023-02-23 15:06:23 +08:00
Aleksander Morgado fbd79a278b xmm: fix crash parsing XACT? response
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
2023-02-21 14:59:01 +00:00
Daniele Palmas 6748fb7c2c telit: fallback to AT commands in case of MBIM loading revision failure
Some firmware versions return an empty string for the revision when
using the device caps MBIM request, so use AT commands as a fallback
in case this happens.
2023-01-30 16:00:45 +01:00
Daniele Palmas a9e841e931 telit: increase initial delay for AT ports
FN990 requires more time for the AT ports to become responsive,
so increase the initial delay up to 40 seconds.
2023-01-30 16:00:45 +01:00
Daniele Palmas 6632136990 telit: add port type hints for FN990 0x1070, 0x1071 compositions 2023-01-30 16:00:45 +01:00
Daniele Palmas 2c235260e4 telit: add shared support for 5G modes 2023-01-30 16:00:45 +01:00
Aleksander Morgado e3667ecb56 build: fix dependency on daemon enums required by plugins
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/686
2023-01-10 14:13:34 +00:00
Aleksander Morgado 1c4da332ee build: new option to build plugins within the daemon binary
Instead of creating libmm-plugin* and libmm-shared* libraries that are
dlopen()-ed on runtime, allow incorporating all plugins into the
daemon binary itself.

This makes the startup of the daemon much faster and also avoids
issues with builds that require linker namespace isolation.

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/674
2023-01-03 13:56:25 +00:00
Aleksander Morgado 1dd70be4c8 plugins: setup new helper macros to define shared utils 2023-01-03 13:56:25 +00:00
Aleksander Morgado f0a9f09558 plugins: setup new helper macros to define plugins
We also remove the plugin headers completely as they are not really
required anywhere.
2023-01-03 13:56:25 +00:00
Aleksander Morgado 876e8537c4 plugins: don't include daemon enums sources 2023-01-03 13:56:25 +00:00
Aleksander Morgado f562a51afb build: fix missing module name in shared option utils 2023-01-03 13:56:25 +00:00
Aleksander Morgado e14b904cbd build: move plugins directory to src/plugins
We are going to allow including the plugin sources built within the
ModemManager daemon binary; moving the sources within the daemon
sources directory makes it easier.
2023-01-03 13:56:25 +00:00