diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2024-06-21 09:57:19 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2024-06-21 09:57:19 +0000 |
commit | 06ccd09befe611cd184a2e1060bbe193453fe743 (patch) | |
tree | c0a64d35682ab83afff17f37bbb5722f10599dc9 /src | |
parent | f7b351fc85f6cacb5d8b4483b052834be3aefe17 (diff) |
fibocom: disable AT over MBIM in NL668
The AT over MBIM support is exposed as a supported service, but the
underlying implementation is not good enough.
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/fibocom/77-mm-fibocom-port-types.rules | 3 | ||||
-rw-r--r-- | src/plugins/fibocom/mm-port-mbim-fibocom.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/fibocom/77-mm-fibocom-port-types.rules b/src/plugins/fibocom/77-mm-fibocom-port-types.rules index c8176452..dfc3dd03 100644 --- a/src/plugins/fibocom/77-mm-fibocom-port-types.rules +++ b/src/plugins/fibocom/77-mm-fibocom-port-types.rules @@ -22,6 +22,9 @@ ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a0", ENV{.MM_USBIFNUM}=="02", SUBS ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a0", ENV{.MM_USBIFNUM}=="03", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1" ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a0", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_PORT_IGNORE}="1" +# Fibocom NL668 doesn't support AT over MBIM properly +ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a0", ENV{ID_MM_FIBOCOM_AT_OVER_MBIM_DISABLED}="1" + # Fibocom NL668 doesn't support multiplexing properly ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a0", ENV{ID_MM_MAX_MULTIPLEXED_LINKS}="0" diff --git a/src/plugins/fibocom/mm-port-mbim-fibocom.c b/src/plugins/fibocom/mm-port-mbim-fibocom.c index 653a3a82..a5ec213b 100644 --- a/src/plugins/fibocom/mm-port-mbim-fibocom.c +++ b/src/plugins/fibocom/mm-port-mbim-fibocom.c @@ -64,6 +64,10 @@ iface_port_at_check_support (MMIfacePortAt *_self, if (!mm_port_mbim_supports_command (MM_PORT_MBIM (self), MBIM_SERVICE_FIBOCOM, MBIM_CID_FIBOCOM_AT_COMMAND)) { mm_obj_msg (self, "MBIM device is not AT capable"); self->priv->at_over_mbim = FEATURE_NOT_SUPPORTED; + } else if (mm_kernel_device_get_property_as_boolean (mm_port_peek_kernel_device (MM_PORT (self)), + "ID_MM_FIBOCOM_AT_OVER_MBIM_DISABLED")) { + mm_obj_msg (self, "MBIM device is AT capable but support is disabled"); + self->priv->at_over_mbim = FEATURE_NOT_SUPPORTED; } else { mm_obj_msg (self, "MBIM device is AT capable"); self->priv->at_over_mbim = FEATURE_SUPPORTED; |