E.g. do nothing if the response is empty:
<debug> (ttyUSB1): -->'AT^GETPORTMODE<CR>'
<debug> (ttyUSB1): <--'<CR><LF>^GETPORTMODE: TYPE: WCDMA: Huawei Technologies Co.,Ltd.,<CR><LF><CR><LF>OK<CR><LF>'
So far, we're really only interested in the "modem" and "pcui" ports.
root@9d52738:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4# find . -name interface|sort
./1-1.4:2.0/interface
./1-1.4:2.1/interface
./1-1.4:2.2/interface
./1-1.4:2.3/interface
./1-1.4:2.4/interface
./1-1.4:2.5/interface
./1-1.4:2.6/interface
root@9d52738:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4# find . -name interface|sort|xargs cat
CDC Ethernet Control Model (ECM)
CDC Ethernet Data
Huawei Mobile Connect - Modem
Huawei Mobile Connect - Application
Huawei Mobile Connect - Pcui
Huawei Mobile Connect - Ctrl
Huawei Mobile Connect - Serial B
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/170
If none of the plugins enabled in the build has custom keyfiles, the
common_test() method would be unused. Avoid this just by adding a new
dummy test which is always available in the keyfiles tester.
If none of the plugins enabled in the build has custom udev rules, the
common_test() method would be unused. Avoid this just by adding a new
dummy test which is always available in the udev rules tester.
It has the same exact format as MMBaseModemAtCommand, but its contents
are assumed heap allocated.
The only real purpose of this type is to allow defining static
constant MMBaseModemAtCommand variables without warnings when using
-Wdiscarded-qualifiers.
The incorrect ready() method was being used while disabling, which
ended up making the parent disable not being run at all.
ublox/mm-broadband-modem-ublox.c:1178:1: error: ‘voice_disable_unsolicited_events_ready’ defined but not used [-Werror=unused-function]
1178 | voice_disable_unsolicited_events_ready (MMBroadbandModemUblox *self,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ublox/mm-broadband-modem-ublox.c:458:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
458 | ctx->step++;
| ~~~~~~~~~^~
ublox/mm-broadband-modem-ublox.c:461:5: note: here
461 | case SET_CURRENT_MODES_BANDS_STEP_ACQUIRE:
| ^~~~
ublox/mm-broadband-modem-ublox.c:468:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
468 | ctx->step++;
| ~~~~~~~~~^~
ublox/mm-broadband-modem-ublox.c:471:5: note: here
471 | case SET_CURRENT_MODES_BANDS_STEP_CURRENT_POWER:
| ^~~~
...
ublox/mm-broadband-modem-ublox.c:1246:5: error: enumeration value ‘MM_CALL_STATE_UNKNOWN’ not handled in switch [-Werror=switch-enum]
1246 | switch (call_info.state) {
| ^~~~~~
ublox/mm-broadband-modem-ublox.c:1246:5: error: enumeration value ‘MM_CALL_STATE_ACTIVE’ not handled in switch [-Werror=switch-enum]
ublox/mm-broadband-modem-ublox.c:1246:5: error: enumeration value ‘MM_CALL_STATE_HELD’ not handled in switch [-Werror=switch-enum]
ublox/mm-broadband-modem-ublox.c:1246:5: error: enumeration value ‘MM_CALL_STATE_TERMINATED’ not handled in switch [-Werror=switch-enum]
simtech/mm-broadband-modem-simtech.c: In function ‘enable_unsolicited_events_context_step’:
simtech/mm-broadband-modem-simtech.c:442:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
442 | ctx->step++;
| ~~~~~~~~~^~
simtech/mm-broadband-modem-simtech.c:444:5: note: here
444 | case ENABLE_UNSOLICITED_EVENTS_STEP_LAST:
| ^~~~
option/mm-broadband-bearer-hso.c: In function ‘ip_config_ready’:
option/mm-broadband-bearer-hso.c:128:21: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘guint’ {aka ‘unsigned int’} [-Werror=sign-compare]
128 | num != ctx->cid) {
| ^~
huawei/mm-broadband-bearer-huawei.c: In function ‘connect_3gpp_context_step’:
huawei/mm-broadband-bearer-huawei.c:378:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
378 | ctx->step++;
| ~~~~~~~~~^~
huawei/mm-broadband-bearer-huawei.c:382:5: note: here
382 | case CONNECT_3GPP_CONTEXT_STEP_NDISDUP: {
| ^~~~
huawei/mm-broadband-bearer-huawei.c: In function ‘disconnect_3gpp_context_step’:
huawei/mm-broadband-bearer-huawei.c:708:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
708 | ctx->step++;
| ~~~~~~~~~^~
huawei/mm-broadband-bearer-huawei.c:711:5: note: here
711 | case DISCONNECT_3GPP_CONTEXT_STEP_NDISDUP:
| ^~~~
huawei/mm-broadband-modem-huawei.c: In function ‘huawei_hcsq_changed’:
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN’ not handled in switch [-Werror=switch-enum]
1816 | switch (act) {
| ^~~~~~
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_POTS’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_GSM_COMPACT’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_GPRS’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_EDGE’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_HSDPA’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_HSUPA’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_HSPA’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_HSPA_PLUS’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_1XRTT’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_EVDO0’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_EVDOA’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_EVDOB’ not handled in switch [-Werror=switch-enum]
huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value ‘MM_MODEM_ACCESS_TECHNOLOGY_ANY’ not handled in switch [-Werror=switch-enum]
cinterion/mm-broadband-bearer-cinterion.c: In function ‘dial_3gpp_context_step’:
cinterion/mm-broadband-bearer-cinterion.c:393:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
393 | ctx->step++;
| ~~~~~~~~~^~
cinterion/mm-broadband-bearer-cinterion.c:396:5: note: here
396 | case DIAL_3GPP_CONTEXT_STEP_AUTH: {
| ^~~~
cinterion/mm-broadband-bearer-cinterion.c:419:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
419 | ctx->step++;
| ~~~~~~~~~^~
cinterion/mm-broadband-bearer-cinterion.c:422:5: note: here
422 | case DIAL_3GPP_CONTEXT_STEP_START_SWWAN: {
| ^~~~
cinterion/mm-broadband-bearer-cinterion.c: In function ‘disconnect_3gpp_context_step’:
cinterion/mm-broadband-bearer-cinterion.c:613:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
613 | ctx->step++;
| ~~~~~~~~~^~
cinterion/mm-broadband-bearer-cinterion.c:615:5: note: here
615 | case DISCONNECT_3GPP_CONTEXT_STEP_STOP_SWWAN: {
| ^~~~
cinterion/mm-broadband-modem-cinterion.c: In function ‘common_create_bearer’:
cinterion/mm-broadband-modem-cinterion.c:1699:5: error: enumeration value ‘FEATURE_SUPPORT_UNKNOWN’ not handled in switch [-Werror=switch-enum]
1699 | switch (self->priv->swwan_support) {
| ^~~~~~
...
cinterion/mm-shared-cinterion.c: In function ‘disable_location_gathering_context_gps_step’:
cinterion/mm-shared-cinterion.c:414:22: error: this statement may fall through [-Werror=implicit-fallthrough=]
414 | ctx->gps_step++;
| ~~~~~~~~~~~~~^~
cinterion/mm-shared-cinterion.c:417:5: note: here
417 | case DISABLE_LOCATION_GATHERING_GPS_STEP_SGPSS:
| ^~~~
Useful when clamping a unsigned integer with low threshold set to 0,
which would give us compiler warnings with -Wtype-limits when using
CLAMP(), e.g.:
via/mm-broadband-modem-via.c: In function ‘handle_evdo_quality_change’:
/usr/include/glib-2.0/glib/gmacros.h:811:63: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
811 | #define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
| ^
via/mm-broadband-modem-via.c:284:19: note: in expansion of macro ‘CLAMP’
284 | quality = CLAMP (quality, 0, 100);
| ^~~~~
telit/mm-broadband-modem-telit.c: In function ‘qss_setup_step’:
telit/mm-broadband-modem-telit.c:619:22: error: this statement may fall through [-Werror=implicit-fallthrough=]
619 | ctx->step++;
| ~~~~~~~~~^~
telit/mm-broadband-modem-telit.c:620:9: note: here
620 | case QSS_SETUP_STEP_QUERY:
| ^~~~
telit/mm-broadband-modem-telit.c:653:22: error: this statement may fall through [-Werror=implicit-fallthrough=]
653 | ctx->step++;
| ~~~~~~~~~^~
telit/mm-broadband-modem-telit.c:654:9: note: here
654 | case QSS_SETUP_STEP_LAST:
| ^~~~
telit/mm-broadband-modem-telit.c: In function ‘load_unlock_retries_step’:
telit/mm-broadband-modem-telit.c:906:22: error: this statement may fall through [-Werror=implicit-fallthrough=]
906 | ctx->step++;
| ~~~~~~~~~^~
telit/mm-broadband-modem-telit.c:907:9: note: here
907 | case LOAD_UNLOCK_RETRIES_STEP_LOCK:
| ^~~~
telit/mm-broadband-modem-telit.c: In function ‘gps_enabled_ready’:
telit/mm-broadband-modem-telit.c:191:30: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’ [-Werror=sign-compare]
191 | if (ctx->gps_enable_step < G_N_ELEMENTS (gps_enable)) {
| ^
telit/mm-broadband-modem-telit.c: In function ‘parent_enable_location_gathering_ready’:
telit/mm-broadband-modem-telit.c:254:43: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘long unsigned int’ [-Werror=sign-compare]
254 | if (start_gps && ctx->gps_enable_step < G_N_ELEMENTS (gps_enable)) {
| ^
xmm/mm-shared-xmm.c: In function ‘gps_engine_start’:
xmm/mm-shared-xmm.c:1068:5: error: enumeration value ‘GPS_ENGINE_STATE_OFF’ not handled in switch [-Werror=switch-enum]
1068 | switch (state) {
| ^~~~~~
option/mm-broadband-modem-option.c: In function ‘load_access_technologies_step’:
option/mm-broadband-modem-option.c:565:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
565 | ctx->step++;
| ~~~~~~~~~^~
option/mm-broadband-modem-option.c:567:5: note: here
567 | case ACCESS_TECHNOLOGIES_STEP_OSSYS:
| ^~~~
option/mm-broadband-modem-option.c:587:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
587 | ctx->step++;
| ~~~~~~~~~^~
option/mm-broadband-modem-option.c:589:5: note: here
589 | case ACCESS_TECHNOLOGIES_STEP_OWCTI:
| ^~~~
option/mm-broadband-modem-option.c:600:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
600 | ctx->step++;
| ~~~~~~~~~^~
option/mm-broadband-modem-option.c:602:5: note: here
602 | case ACCESS_TECHNOLOGIES_STEP_LAST:
| ^~~~