Skip to content
Snippets Groups Projects
  1. Jun 04, 2020
    • Aleksander Morgado's avatar
    • Aleksander Morgado's avatar
    • Aleksander Morgado's avatar
      filter: setup automatic per-vid checks in the plugin whitelist · a5c060ef
      Aleksander Morgado authored
      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.
      a5c060ef
    • Aleksander Morgado's avatar
      ublox: fully ignore GPS devices with plugin-installed rules · bbeca601
      Aleksander Morgado authored
      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.
      bbeca601
    • Aleksander Morgado's avatar
      NEWS: update MBIM reset operation info to include Qualcomm devices · 657d5e61
      Aleksander Morgado authored
      We're using QMI over MBIM to perform the reset if the device is QMI
      based.
      657d5e61
  2. Jun 03, 2020
  3. Jun 02, 2020
  4. Jun 01, 2020
    • Aleksander Morgado's avatar
      huawei: ignore NDISDUP disconnection errors · d8b70602
      Aleksander Morgado authored
      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.
      d8b70602
    • Aleksander Morgado's avatar
      huawei: don't delay reporting network initiated disconnects · 472fb96b
      Aleksander Morgado authored
      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
      21a5aaf4, which looks like was done to
      handle synchronization issues with upper layers (e.g. with
      NetworkManager or Shill).
      
      Fixes mobile-broadband/ModemManager#205
      472fb96b
    • Aleksander Morgado's avatar
      filter: 'strict' is the new default · 15543794
      Aleksander Morgado authored
      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.
      15543794
    • Aleksander Morgado's avatar
      filter: rename 'default' to 'legacy' · 82d38f70
      Aleksander Morgado authored
      The old 'default' policy is renamed to 'legacy', and is considered now
      deprecated.
      82d38f70
    • Aleksander Morgado's avatar
    • Aleksander Morgado's avatar
      ci: always build libqmi with basic collection · fd28f947
      Aleksander Morgado authored
      Which must be the minimum set of supported messages required by
      ModemManager.
      fd28f947
    • Aleksander Morgado's avatar
      broadband-modem-qmi: plug memleak when changing current firmware · 10648f8d
      Aleksander Morgado authored
        ==80079== 104 (40 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 4,761 of 5,232
        ==80079==    at 0x483977F: malloc (vg_replace_malloc.c:309)
        ==80079==    by 0x5025AE9: g_malloc (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x5006223: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x505B0F4: g_array_sized_new (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x2008A3: firmware_change_current (mm-broadband-modem-qmi.c:8426)
        ==80079==    by 0x1AB5F3: select_auth_ready (mm-iface-modem-firmware.c:225)
        ==80079==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
        ==80079==    by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
        ==80079==    by 0x17402E: authorize_ready (mm-base-modem.c:1363)
        ==80079==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
        ==80079==    by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
        ==80079==    by 0x15366D: check_authorization_ready (mm-auth-provider.c:99)
      10648f8d
    • Aleksander Morgado's avatar
      iface-modem-firmware: plug memleak when listing images · d848b10d
      Aleksander Morgado authored
        ==80079== 1,377 (48 direct, 1,329 indirect) bytes in 1 blocks are definitely lost in loss record 5,200 of 5,232
        ==80079==    at 0x483977F: malloc (vg_replace_malloc.c:309)
        ==80079==    by 0x5025AE9: g_malloc (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x5006223: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x4FEB59B: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x4FEE378: g_variant_builder_end (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x48F8314: mm_firmware_properties_get_dictionary (mm-firmware-properties.c:337)
        ==80079==    by 0x1AAF29: load_current_ready (mm-iface-modem-firmware.c:80)
        ==80079==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
        ==80079==    by 0x4E68688: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
        ==80079==    by 0x502B58E: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x502D530: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
        ==80079==    by 0x502E542: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.6400.2)
      d848b10d
  5. May 29, 2020
  6. May 28, 2020
  7. May 27, 2020
  8. May 26, 2020
  9. May 25, 2020
  10. May 22, 2020
  11. May 21, 2020
  12. May 19, 2020
    • Aleksander Morgado's avatar
      cinterion,tests: avoid cast-align errors · 98fa83a6
      Aleksander Morgado authored
      We can safely cast the data in a GArray to gpointer first, and then
      to the pointer type we require.
      
        cinterion/tests/test-modem-helpers-cinterion.c: In function 'common_test_scfg':
        cinterion/tests/test-modem-helpers-cinterion.c:56:56: error: cast increases required alignment of target type [-Werror=cast-align]
             expected_bands_str = mm_common_build_bands_string ((const MMModemBand *)expected_bands->data,
                                                                ^
        cinterion/tests/test-modem-helpers-cinterion.c:58:47: error: cast increases required alignment of target type [-Werror=cast-align]
             bands_str = mm_common_build_bands_string ((const MMModemBand *)bands->data,
                                                       ^
        cinterion/tests/test-modem-helpers-cinterion.c: In function 'common_test_scfg_response':
        cinterion/tests/test-modem-helpers-cinterion.c:209:56: error: cast increases required alignment of target type [-Werror=cast-align]
             expected_bands_str = mm_common_build_bands_string ((const MMModemBand *)expected_bands->data,
                                                                ^
        cinterion/tests/test-modem-helpers-cinterion.c:211:47: error: cast increases required alignment of target type [-Werror=cast-align]
             bands_str = mm_common_build_bands_string ((const MMModemBand *)bands->data,
                                                       ^
      98fa83a6
    • Aleksander Morgado's avatar
      wavecom: avoid cast-align errors · b71ae9ce
      Aleksander Morgado authored
      We can safely cast the data in a GArray to gpointer first, and then
      to the pointer type we require.
      
        wavecom/mm-broadband-modem-wavecom.c: In function 'set_bands_3g':
        wavecom/mm-broadband-modem-wavecom.c:800:50: error: cast increases required alignment of target type [-Werror=cast-align]
             bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array_final->data,
                                                          ^
        wavecom/mm-broadband-modem-wavecom.c: In function 'set_bands_2g':
        wavecom/mm-broadband-modem-wavecom.c:872:50: error: cast increases required alignment of target type [-Werror=cast-align]
             bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array_final->data,
                                                          ^
      b71ae9ce
    • Aleksander Morgado's avatar
      libmm-glib,helpers: use locale-independent strtod() · 8bf13294
      Aleksander Morgado authored
      Otherwise parsing may fail, e.g. as in this unit test:
      
        # Start of smoni tests
        # DEBUG: testing SMONI response: ^SMONI: 2G,71,-61,262,02,0143,83BA,33,33,3,6,G,NOCONN
        # DEBUG: testing SMONI response: ^SMONI: 2G,SEARCH,SEARCH
        # DEBUG: testing SMONI response: ^SMONI: 2G,673,-89,262,07,4EED,A500,16,16,7,4,G,5,-107,LIMSRV
        # DEBUG: testing SMONI response: ^SMONI: 2G,673,-80,262,07,4EED,A500,35,35,7,4,G,643,4,0,-80,0,S_FR
        # DEBUG: testing SMONI response: ^SMONI: 3G,10564,296,-7.5,-79,262,02,0143,00228FF,-92,-78,NOCONN
        **
        ERROR:cinterion/tests/test-modem-helpers-cinterion.c:1036:test_smoni_response: assertion failed (fabs (ecn0 - smoni_response_tests[i].ecn0) < 0.1): (0,5 < 0,1)
        Bail out! ERROR:cinterion/tests/test-modem-helpers-cinterion.c:1036:test_smoni_response: assertion failed (fabs (ecn0 - smoni_response_tests[i].ecn0) < 0.1): (0,5 < 0,1)
        Aborted (core dumped)
      8bf13294
    • Aleksander Morgado's avatar
      58ae8f4c
Loading