summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* broadband-modem: ensure mm_broadband_modem_create_device_identifier() sets ↵mm-1-16Lubomir Rintel2021-10-031-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | an error on all bad returns modem_load_device_identifier_finish() expect it to do so and trips an assertion failure in g_propagate_error(): ModemManager[256038]: <warn> [1633083601.491190] [modem0] couldn't load equipment identifier: Unknown error ModemManager[256038]: <debug> [1633083601.491204] [modem0] loading device identifier... ModemManager[256038]: <debug> [1633083601.491215] [modem0/modemu/at] device open count is 3 (open) ModemManager[256038]: <debug> [1633083601.491231] [modem0/modemu/at] device open count is 2 (close) ModemManager[256038]: <debug> [1633083601.491254] [modem0/modemu/at] --> 'ATI<CR>' ModemManager[256038]: <debug> [1633083601.494616] [modem0/modemu/at] <-- '<CR><LF>ERROR<CR><LF>' ModemManager[256038]: <debug> [1633083601.494643] [modem0/modemu/at] operation failure: 100 (Unknown error) (ModemManager:256038): GLib-CRITICAL **: 06:20:01.494: g_propagate_error: assertion 'src != NULL' failed Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint trap. g_logv (log_domain=0x7ffff77d1071 "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1413 1413 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth)); Missing separate debuginfos, use: dnf debuginfo-install libmbim-1.26.0-2.el9.x86_64 libqmi-1.30.2-1.el9.x86_64 (gdb) bt #0 g_logv (log_domain=0x7ffff77d1071 "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1413 #1 0x00007ffff77813d3 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/gmessages.c:1451 #2 0x000055555561122d in modem_load_device_identifier_finish (self=0x5555557e62d0, res=<optimized out>, error=0x7fffffffd320) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-broadband-modem.c:1168 #3 0x00005555555ea69a in load_device_identifier_ready (self=0x5555557e62d0, res=0x5555557ea6b0, task=task@entry=0x7fffe8011e20 [GTask]) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-iface-modem.c:4727 #4 0x00007ffff7951b62 in g_simple_async_result_complete (simple=0x5555557ea6b0 [GSimpleAsyncResult]) at ../gio/gsimpleasyncresult.c:802 #5 0x00005555555d1b0a in at_sequence_parse_response (port=<optimized out>, res=<optimized out>, ctx=ctx@entry=0x5555557ed7f0) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-base-modem-at.c:250 #6 0x00007ffff7951b62 in g_simple_async_result_complete (simple=0x5555557e5440 [GSimpleAsyncResult]) at ../gio/gsimpleasyncresult.c:802 #7 0x00005555556805dc in serial_command_ready (port=<optimized out>, res=<optimized out>, simple=simple@entry=0x5555557e5440 [GSimpleAsyncResult]) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial-at.c:378 #8 0x00007ffff7951b62 in g_simple_async_result_complete (simple=0x5555557d6730 [GSimpleAsyncResult]) at ../gio/gsimpleasyncresult.c:802 #9 0x000055555567fb35 in command_context_complete_and_free (ctx=ctx@entry=0x7fffe800c200, idle=idle@entry=0) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:141 #10 0x0000555555682a96 in port_serial_got_response (self=0x5555557dd4e0 [MMPortSerialAt], parsed_response=0x0, error=0x5555557d5040) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:755 #11 0x00005555556870d2 in parse_response_buffer (self=<optimized out>) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:934 #12 common_input_available (self=0x5555557dd4e0 [MMPortSerialAt], condition=(G_IO_NVAL | unknown: 0xf762a5c0)) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:1035 #13 0x00007ffff7778f9f in g_main_dispatch (context=0x5555557527c0) at ../glib/gmain.c:3337 #14 g_main_context_dispatch (context=0x5555557527c0) at ../glib/gmain.c:4055 #15 0x00007ffff77cd608 in g_main_context_iterate.constprop.0 (context=0x5555557527c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131 #16 0x00007ffff7778563 in g_main_loop_run (loop=0x55555576da60) at ../glib/gmain.c:4329 #17 0x00005555555b7b60 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/main.c:216 (cherry picked from commit e3d108de0f3f5d2ac32b3ad09ec0dae8fb5fc2e5)
* ci: bump image template to refresh CA certificatesAleksander Morgado2021-10-031-1/+1
| | | | | | | | | | | | At the end of September 2021, Let's Encrypt's DST Root CA X3 certificate expired, and the new ISRG Root X1 took over. Update the CI template so that the new certificate is available and we can keep on cloning the libmbim/libqmi/libqrtr-glib repos without failures. We don't refresh the date tag in this template bump, so that we don't confuse with the date tag bumps done in the image used for git master and MM 1.18, which are different due to the meson build.
* telit: fix g_object_unref failed assertionDaniele Palmas2021-09-291-1/+2
| | | | | | | | | | | Fix the following g_object_unref failed assertion: ModemManager[385967]: <debug> [1632924639.132023] [modem0/ttyUSB2/at] --> 'AT+CSIM=1<CR>' ModemManager[385967]: <debug> [1632924639.144892] [modem0/ttyUSB2/at] <-- '<CR><LF>ERROR<CR><LF>' ModemManager[385967]: <debug> [1632924639.145021] [modem0/ttyUSB2/at] operation failure: 100 (Unknown error) (ModemManager:385967): GLib-GObject-CRITICAL **: 16:10:39.145: g_object_unref: assertion 'G_IS_OBJECT (object)' failed (cherry picked from commit 9c47c54f067f15afea7ff1e9c89d1ab41fe3e4bb)
* build: post-release version bump to 1.16.11Aleksander Morgado2021-08-091-1/+1
|
* release: bump version to 1.16.101.16.10Aleksander Morgado2021-08-091-1/+1
|
* NEWS: update for 1.16.10Aleksander Morgado2021-08-091-0/+24
|
* mm-sim-mbim: Remove trailing F in ICCIDPavan Holla2021-08-091-4/+9
| | | | | | | QMI modems remove trailing F in 19 digit ICCID. Do the same on MBIM modems for consistency. (cherry picked from commit 97ab5173482d0c6f37029191796c545c99d01fe5)
* introspection: signal quality signature is (ub)Dylan Van Assche2021-08-091-2/+3
| | | | | | | | | Signal quality property signature of the Modem Simple interface is not an unsigned integer, but a struct containing an unsigned integer indicating the strength and a boolean to indicate if the value was recently taken. (cherry picked from commit 0faf969e306b6e2f15f840692d30722c88560e13)
* libqcdm: plug leak in qcdm_cdm_log_config_new()Aleksander Morgado2021-08-091-1/+5
| | | | | | | | | | | | | | | | | | | ==748616== 37 bytes in 1 blocks are definitely lost in loss record 2,850 of 4,938 ==748616== at 0x48435FF: calloc (vg_replace_malloc.c:1117) ==748616== by 0x249CCF: qcdm_cmd_log_config_new (commands.c:1742) ==748616== by 0x24A321: qcdm_cmd_log_config_set_mask_new (commands.c:1901) ==748616== by 0x1DAE12: modem_cdma_setup_cleanup_unsolicited_events (mm-broadband-modem.c:8643) ==748616== by 0x1DAF21: modem_cdma_setup_unsolicited_events (mm-broadband-modem.c:8671) ==748616== by 0x1AE49F: interface_enabling_step (mm-iface-modem-cdma.c:1627) ==748616== by 0x1AE680: mm_iface_modem_cdma_enable (mm-iface-modem-cdma.c:1693) ==748616== by 0x1E2DF6: enabling_step (mm-broadband-modem.c:11756) ==748616== by 0x1E204E: iface_modem_3gpp_ussd_enable_ready (mm-broadband-modem.c:11606) ==748616== by 0x4F03533: g_task_return_now (gtask.c:1219) ==748616== by 0x4F07078: UnknownInlinedFun (gtask.c:1289) ==748616== by 0x4F07078: g_task_return (gtask.c:1245) ==748616== by 0x1AA323: interface_enabling_step (mm-iface-modem-3gpp-ussd.c:702) (cherry picked from commit 689769467a31ef5cbcc7b5abfc7a0a48eeaf41be)
* huawei: plug memleak when processing GETPORTMODE hintsAleksander Morgado2021-08-091-0/+2
| | | | | | | | | | | | | | | | | | | ==99766== 96 (24 direct, 72 indirect) bytes in 1 blocks are definitely lost in loss record 3,791 of 4,243 ==99766== at 0x483E7C5: malloc (vg_replace_malloc.c:380) ==99766== by 0x50DCAC9: g_malloc (gmem.c:106) ==99766== by 0x50F46D6: g_slice_alloc (gslice.c:1069) ==99766== by 0x50CE9F2: g_list_insert_sorted_real (glist.c:1109) ==99766== by 0x753DE92: ??? ==99766== by 0x753E6D4: ??? ==99766== by 0x753E897: ??? ==99766== by 0x1F059D: mm_plugin_create_modem (mm-plugin.c:922) ==99766== by 0x166693: mm_device_create_modem (mm-device.c:481) ==99766== by 0x161547: device_support_check_ready (mm-base-manager.c:219) ==99766== by 0x4F03533: g_task_return_now (gtask.c:1219) ==99766== by 0x4F07078: UnknownInlinedFun (gtask.c:1289) ==99766== by 0x4F07078: g_task_return (gtask.c:1245) (cherry picked from commit e4d4bbbb722e9214b3ba896be6243a7228f7aba7)
* fibocom: fix QMI device allowanceAleksander Morgado2021-08-091-0/+1
| | | | | | | | | | | | | | | | | | E.g. for a FM150: [1627656003.230873] [cdc-wdm0] port contents loaded: [1627656003.231069] [cdc-wdm0] bus: usb [1627656003.231179] [cdc-wdm0] interface: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4/1-11.4.4:1.4 [1627656003.231272] [cdc-wdm0] device: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4 [1627656003.231364] [cdc-wdm0] driver: qmi_wwan [1627656003.231450] [cdc-wdm0] vendor: 2cb7 [1627656003.231536] [cdc-wdm0] product: 0104 [1627656003.231626] [cdc-wdm0] revision: 0414 [1627656003.231722] [base-manager] adding port cdc-wdm0 at sysfs path: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4/1-11.4.4:1.4/usbmisc/cdc-wdm0 ... [1627656004.333874] [plugin/fibocom] port cdc-wdm0 filtered by implicit QMI driver (cherry picked from commit 999df00d58df4ea088e19ea9f9dd73a8bb077fb5)
* huawei: ignore ^LWURC URCsAleksander Morgado2021-08-091-0/+8
| | | | | | Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/412 (cherry picked from commit 13d82c1de205e9eaafc21c17858ff6ed03543b03)
* cinterion: increase ^SCFG? timeout to 120sAleksander Morgado2021-08-091-1/+6
| | | | | | | | | | | | The timeout in this command is extremely large, because there are some modules like the EGS5 that build the response based on the current network registration, and that implies the module needs to be registered. If for any reason there is no serving network where to register, the response comes after a very long time, up to 100s. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/408 (cherry picked from commit b935782010edabff0b37a4256235e63bc6f946ec)
* port-mbim: increase timeout of first command after port openAleksander Morgado2021-08-091-1/+1
| | | | | | | | | | | The port open operation may be happening very early after the device has booted, so let's give the module some more time to reply the very first MBIM query we do. The original 10s seems to be a bit tight in some cases. See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/405#note_1006746 (cherry picked from commit 15f53851c82f05a1456fd5adba5aec765236d0bc)
* icera: fix segfault during connection reset logicAleksander Morgado2021-07-141-1/+1
| | | | | | | | | | | | | | | | | | | | ==252789== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==252789== Access not within mapped region at address 0x28 ==252789== at 0x7D17D22: connect_reset_ready (mm-broadband-bearer-icera.c:419) ==252789== by 0x4EEC242: g_simple_async_result_complete (gsimpleasyncresult.c:802) ==252789== by 0x17EFC6: at_command_ready (mm-base-modem-at.c:538) ==252789== by 0x4EEC242: g_simple_async_result_complete (gsimpleasyncresult.c:802) ==252789== by 0x259423: serial_command_ready (mm-port-serial-at.c:393) ==252789== by 0x4EEC242: g_simple_async_result_complete (gsimpleasyncresult.c:802) ==252789== by 0x252B9B: command_context_complete_and_free (mm-port-serial.c:141) ==252789== by 0x254542: port_serial_got_response (mm-port-serial.c:755) ==252789== by 0x254A78: parse_response_buffer (mm-port-serial.c:926) ==252789== by 0x254FFE: common_input_available (mm-port-serial.c:1035) ==252789== by 0x2550DE: iochannel_input_available (mm-port-serial.c:1058) ==252789== by 0x50D3F84: UnknownInlinedFun (gmain.c:3344) ==252789== by 0x50D3F84: g_main_context_dispatch (gmain.c:4062) (cherry picked from commit cadce188655c685614340073c469f4fb800f74f7)
* plugins: AT/QCDM/GPS port type hints only applicable to TTY portsAleksander Morgado2021-07-1420-408/+408
| | | | | | | | | | | | | | | | | | | | | | | | | There are modems out there, that reuse the same vid:pid for multiple USB layouts, so there may be port type hints that are not really applicable in all layouts. E.g. the EM7565 in MBIM layout uses interface #0 for the MBIM port, while in QMI layout it uses interface #0 for the QCDM port (which is what the port type hint included in MM states). With these rules, if we don't bind the port type hint to TTY ports only, we would be wrongly flagging the MBIM port as possible QCDM port: <debug> [plugin/sierra] probes required for port cdc-wdm0: 'mbim' <debug> [cdc-wdm0/probe] no AT/QMI/MBIM probing in possible QCDM port <debug> [cdc-wdm0/probe] port is not AT-capable <debug> [cdc-wdm0/probe] port is not QMI-capable <debug> [cdc-wdm0/probe] port is not MBIM-capable <debug> [cdc-wdm0/probe] port probing finished: no more probings needed Avoid this, by making sure all port type hints are added exclusively to TTY ports. It's not a perfect solution, but it's enough for the known cases. (cherry picked from commit 3e037dc158c6beb8372dc0027943e5c391cf0196)
* fibocom: add port type hints for the NL668-AMZrshuo Zhang2021-07-141-0/+8
| | | | (cherry picked from commit 179e12befc6daa8048a3f1adffaa24a1d62ddcae)
* shared-qmi: fix use of uninitialized memoryAleksander Morgado2021-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ==636642== Syscall param socketcall.sendto(msg) points to uninitialised byte(s) ==636642== at 0x5282BAC: send (in /usr/lib/libpthread-2.33.so) ==636642== by 0x4EF20AF: UnknownInlinedFun (gsocket.c:3426) ==636642== by 0x4EF20AF: g_socket_send_with_blocking (gsocket.c:3529) ==636642== by 0x4EDF176: g_output_stream_write (goutputstream.c:242) ==636642== by 0x4EDF2D4: g_output_stream_write_all (goutputstream.c:301) ==636642== by 0x4A5CDAC: endpoint_send (qmi-endpoint-qmux.c:409) ==636642== by 0x4A5B963: qmi_endpoint_send (qmi-endpoint.c:225) ==636642== by 0x4A55408: qmi_device_command_abortable (qmi-device.c:2897) ==636642== by 0x4A554C3: qmi_device_command_full (qmi-device.c:2923) ==636642== by 0x4B52664: qmi_client_nas_set_system_selection_preference (qmi-nas.c:61099) ==636642== by 0x1F6FDC: register_in_network_sssp (mm-shared-qmi.c:455) ==636642== by 0x1F71E6: mm_shared_qmi_3gpp_register_in_network (mm-shared-qmi.c:505) ==636642== by 0x19FCF0: mm_iface_modem_3gpp_register_in_network (mm-iface-modem-3gpp.c:484) ==636642== Address 0x880a3b3 is 19 bytes inside a block of size 32 alloc'd ==636642== at 0x484383F: realloc (vg_replace_malloc.c:1192) ==636642== by 0x50DC130: g_realloc (gmem.c:171) ==636642== by 0x50A067C: g_array_maybe_expand (garray.c:1009) ==636642== by 0x50A0A0C: UnknownInlinedFun (garray.c:520) ==636642== by 0x50A0A0C: g_array_append_vals (garray.c:509) ==636642== by 0x50A0A9E: g_byte_array_append (garray.c:2430) ==636642== by 0x4A4B70D: qmi_message_tlv_write_guint8 (qmi-message.c:686) ==636642== by 0x4B14CA8: __qmi_message_nas_set_system_selection_preference_request_create (qmi-nas.c:33477) ==636642== by 0x4B525B6: qmi_client_nas_set_system_selection_preference (qmi-nas.c:61087) ==636642== by 0x1F6FDC: register_in_network_sssp (mm-shared-qmi.c:455) ==636642== by 0x1F71E6: mm_shared_qmi_3gpp_register_in_network (mm-shared-qmi.c:505) ==636642== by 0x19FCF0: mm_iface_modem_3gpp_register_in_network (mm-iface-modem-3gpp.c:484) ==636642== by 0x1B0BD4: check_next_registration (mm-iface-modem-simple.c:154) (cherry picked from commit 3ffa6b8960ba2178390dbbfff795cbe1cd6b9d47)
* iface-modem: ignore warning when trying to disconnect signal handlerAleksander Morgado2021-07-121-1/+3
| | | | | | | | | The signal handler may have been already removed during dispose of the modem object, which is run manually through g_object_run_dispose(). Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/399 (cherry picked from commit a61422761f52cc359303ec92c2cae122bdf16b4b)
* build: post-release version bump to 1.16.9Aleksander Morgado2021-07-121-1/+1
|
* release: bump version to 1.16.81.16.8Aleksander Morgado2021-07-121-1/+1
|
* NEWS: update for 1.16.8Aleksander Morgado2021-07-121-0/+25
|
* tools: fix signal type in service testAlyssa Ross2021-07-122-5/+5
| | | | | | | | | | | | | | | | | | The signal definition is: <signal name="StateChanged"> <arg name="old" type="i" /> <arg name="new" type="i" /> <arg name="reason" type="u" /> </signal> So the first two arguments need to be adjusted. Without this change, the test was failing for me: (/build/source/tools/tests/.libs/lt-test-stub:77030): GLib-GObject-CRITICAL **: 15:05:35.276: ../gobject/gsignal.c:3167: value for 'gint' parameter 0 for signal "state-changed" is of type 'guint' (cherry picked from commit a8f086bfb3be65de133365b55595a9800ecaa681)
* iface-modem: don't fail enabling if modem_power_up() isn't implementedAleksander Morgado2021-07-091-8/+9
| | | | | | | | | | | | | | | | | | | There are modems (e.g. Nokia, Thuraya, Iridium) which don't require or don't support power management, and therefore there is no way to either load or update the power status. In those modems we just assume ON is the current and only value (set in the skeleton during initialization) and so when we attempt to update the power state to ON during enabling, the logic should not break. Fix the logic by making sure the requested_power_setup() function pointers are only checked for validity after ensuring we're not already in the desired power state. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/398 (cherry picked from commit 63f3dcb2fe3dee42fe223751c5394a751e7ecc42)
* cinterion: fix double free when loading initial EPS contextAleksander Morgado2021-07-011-1/+1
| | | | | | | | | | The properties object stored in the context is being returned as task result; so we should make sure that object is no longer left in the context so that it's not freed twice. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/395 (cherry picked from commit e1fbc1ccb74ba9c788d88c5f19fb89200a6478f6)
* libmm-glib,modem: add missing input argument checksAleksander Morgado2021-06-301-0/+2
| | | | (cherry picked from commit 059f13ffd33d6cf8c981119dd40e63e7abc2fe59)
* libmm-glib,messaging: avoid array cleanup in get_supported_storages()Aleksander Morgado2021-06-301-18/+26
| | | | | | | | | If we return a reference to the internal array in ensure_internal_supported_storages() and then we free the array unconditionally in the caller, the next time we call it, the array would be valid, but it would be fully empty. (cherry picked from commit dfeaec99ceb3ec5b6fd6ec7add1ce81978d68cfb)
* libmm-glib,3gpp: fix initial-eps-bearer-settings property updatesAleksander Morgado2021-06-301-1/+1
| | | | (cherry picked from commit fefd59e3ce26f8248f94d40f2fb1f68085ca36ee)
* mmcli,messaging: fix leak when printing supported storagesAleksander Morgado2021-06-301-0/+1
| | | | (cherry picked from commit ce50d9c483639d7a7e62addab3eecba177c80a6a)
* bearer-mbim: session id 0 by default in all non-multiplexed connectionsAleksander Morgado2021-06-213-141/+16
| | | | | | | | | | | | | | The original logic in the MBIM modem would assume that if we had more than one network interface in the same modem, we could connect multiple data interfaces, each one with a different session. That logic is actually wrong, when using the master (non-multiplexed) network interface we should always use session id 0, which is the one holding all non-VLAN-tagged traffic. So, remove the logic that automatically creates new bearers with a different session id, as that is really wrong. (cherry picked from commit e5305498b7ddbc5e419cf51fc0c30aa6593a40d2)
* udev: Ignore WWAN "FIREHOSE" portsStephan Gerhold2021-06-101-0/+3
| | | | | | | | | | FIREHOSE ports are used for firmware updates which are done independently from ModemManager, so we should ignore those ports. A similar change was originally made by Loic Poulain here: https://gitlab.freedesktop.org/loicpoulain/ModemManager/-/commit/32b0eb79cdbb37afe33abb72fd948be3cbaf6a2d (cherry picked from commit 43d705ab933ee021ff1c4c0ea5075db205be7a40)
* udev: Match WWAN "type" attribute instead of device nameStephan Gerhold2021-06-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Recent changes in the WWAN framework in the kernel changed the WWAN port names from e.g. "wwan0p1AT" and "wwan0p2QMI" to "wwan0at0" and "wwan0qmi0" [1, 2]. This means that the udev rules no longer match since AT/QMI are now lower-case and no longer at the end of the name. However, recently additionally a "type" sysfs attribute was added for all WWAN ports [3], which makes it much more reliable to match the WWAN port names without relying on their exact device name. Add some additional udev rules to apply the port hints based on the "type" sysfs attributes. This fixes the port enumeration on newer Linux kernels that include the aforementioned commits. Note that we still need to keep the old udev rules for now since Linux 5.13 does not have the "type" attribute yet. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=392c26f7f133b9f09e5f58db1ce6ef4b3b4df49f [2]: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=f458709ff40b0d992fec496952f79c7820dd3fde [3]: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=b3e22e10fdda8e7be3830289a4a63ae8b88d450c (cherry picked from commit 4282c8d843a144f20f0e1bd9f632751af7a5ff70)
* build: post-release version bump to 1.16.7Aleksander Morgado2021-06-061-1/+1
|
* release: bump version to 1.16.61.16.6Aleksander Morgado2021-06-061-1/+1
|
* NEWS: update for 1.16.6Aleksander Morgado2021-06-061-0/+26
|
* udev: only flag as candidates the wwan ports, not the full deviceAleksander Morgado2021-06-061-1/+5
| | | | | | | | | | Explicitly ignore the "wwan_dev" device as it is not associated with separate ports (which is what MM needs), but with the whole device instead. See https://lists.freedesktop.org/archives/modemmanager-devel/2021-May/008629.html (cherry picked from commit ac18b5ac5bf841cd3a619a9e07137c332558d6c4)
* udev: Do not consider USB WWAN ports as valid candidatesLoic Poulain2021-06-061-0/+4
| | | | | | | | | | For now WWAN subsystem support has only been validated for PCI/MHI based devices and extra patches for USB based devices (qmi_wwan, cdc-mbim...) may be required, so do not consider WWAN ports being on USB bus. Signed-off-by: Loic Poulain <loic.poulain@linaro.org> (cherry picked from commit c39d1d2fbc62dca759efcf8dc5b80c69a45269de)
* core: skip suggesting FCC unlock may be neededAleksander Morgado2021-06-062-3/+2
| | | | | | | | | | | This message is too specific, and there are a lot of cases where it wouldn't apply. E.g. when a MBIM module is stuck in low power mode due to some other reason (like hardware rfkill), this message would pop up to the users and completely confuse them. (cherry picked from commit 464c0d464c758387ac3d35f4e148db2c4368edba)
* Revert "foxconn: add new MBIM QDU firmware update method support"Aleksander Morgado2021-06-042-15/+4
| | | | | | | | | | | | | | This reverts commit da23f9cd7a7642e8cf8245952a7403bb30fca1b8. The stable 1.16 branch does not build-depend on any libmbim git master version, so we should not report the QDU firmware update method as supported in MM at this point. It would not have been a big problem if we did expose the QDU firmware update method, because the logic in fwupd checks the MM and libmbim versions separately, but I think it's better to skip reporting QDU as supported ourselves for consistency with the minimum libmbim version we require.
* Revert "api: QDU update method defined in MM 1.16.6 already"Aleksander Morgado2021-06-041-1/+1
| | | | This reverts commit 2cb38c568ff1fb26b23bad5e8a2851547448c30e.
* foxconn: setup FCC unlock stepAleksander Morgado2021-06-031-2/+65
| | | | | | | | | Use the new "DMS Foxconn Set FCC authentication" command to request the modem unlock during a power up operation. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/373 (cherry picked from commit 9fdbbc6929cb61d4168e1696a94e5b2f07bc578e)
* build: require libqmi 1.28.6 for Foxconn FCC unlock supportAleksander Morgado2021-06-031-1/+1
|
* broadband-modem-mbim: setup FCC unlock stepAleksander Morgado2021-06-031-189/+30
| | | | | | | Use the new generic FCC unlock step instead of implementing it within the power up setup logic. (cherry picked from commit 76f24256174039a75926cdc0ce3a6b1f03ea10ee)
* broadband-modem-qmi: setup FCC unlock stepAleksander Morgado2021-06-033-184/+112
| | | | | | | | | | Use the new generic FCC unlock step instead of implementing it within the operating mode setup logic. The operation is implemented in the MMSharedQmi interface as it will also be used by the MBIM modem object. (cherry picked from commit b9596c81879b8eeae3f2e1bab5c31007e5824c1f)
* iface-modem: new optional FCC unlock step in the power state updateAleksander Morgado2021-06-032-180/+180
| | | | | | | | | There are devices that come locked before they can be put online. Until now we had a specific implementation for this in the generic QMI modem, but we should have it in a more generic way for any kind of modem. (cherry picked from commit 6ca75c76db277b89325e1888ac445cbfebe33039)
* base-manager: ensure all GUdevDevices have subsystem and name setAleksander Morgado2021-06-031-5/+25
| | | | | | | | | | | | | | | | | | Under certain rare conditions (e.g. race between querying devices of a given subsystem and the kernel tearing those devices down), the subsystem reported for a GUdevDevice seems to be NULL. So, ensure both subsystem and name are set on the GUdevDevice before we process them. The issue has been observed on GUdevDevices listed by g_udev_client_query_by_subsystem(), not on the ones asynchronously reported via uevents, but we add the validity check on both places for consistency. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/343 (cherry picked from commit 940063419a1c2eb9f6e197d60b4c7cb42702de8d)
* shared-qmi: trivial coding style updateAleksander Morgado2021-06-021-6/+6
| | | | (cherry picked from commit ec8bf7f0e39435f98d322d09a36b0d3e171a9ae7)
* broadband-modem: check if skeleton exists when creating device idAleksander Morgado2021-06-024-26/+49
| | | | | | | | | | | | | The logic that creates the device identifier uses some fields that are exposed in DBus (e.g. model, manufacturer...). We should not attempt to load any of that info if the DBus skeleton for the Modem interface is no longer available, as e.g. the device may have gone away already. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/374 (cherry picked from commit 3da3623e11f90e45951118119da6f842053fd133)
* shared-qmi: add missing g_autoptr() NULL initializerAleksander Morgado2021-06-021-1/+1
| | | | (cherry picked from commit eefcf9204f2de801092b1d14d86c7012420e97af)
* cinterion: avoid maybe-uninitialized warning by GCC 10Felipe Borges2021-06-021-1/+1
| | | | | | Reported at https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1371 (cherry picked from commit 0b8607bc5dc4cce16ebb7c6a7bd71dfb3032d978)