summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2026-05-25 13:41:52 +0200
committerChristian Breunig <christian@breunig.cc>2026-05-25 13:41:52 +0200
commit93406237d7ecd4d28684828e2d127a864f44e862 (patch)
tree4500f9a4e96c938ae6a85c411cff5fe272a32ed3 /src
parentdc47f550e908eb4252ab2a30791b851403a3feae (diff)
downloadvyos-1x-93406237d7ecd4d28684828e2d127a864f44e862.tar.gz
vyos-1x-93406237d7ecd4d28684828e2d127a864f44e862.zip
wwan: T8924: add UDEV configuration for USB modeswitch
When using WWAN interfaces, the Linux kernel selects configuration 2 by default, but that does not work with ModemManager - configuration 3 (MBIM mode) is a better choice. Add UDEV rules for Huawei ME906s-158 and HP LT4132 which is a re-brand of Huawei ME906s-158 to properly set MBIM mode on system startup.
Diffstat (limited to 'src')
-rw-r--r--src/etc/udev/rules.d/40-usb_modeswitch.rules11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/etc/udev/rules.d/40-usb_modeswitch.rules b/src/etc/udev/rules.d/40-usb_modeswitch.rules
new file mode 100644
index 000000000..cb296dd6c
--- /dev/null
+++ b/src/etc/udev/rules.d/40-usb_modeswitch.rules
@@ -0,0 +1,11 @@
+# The Linux kernel selects configuration 2 by default, but that does not work with ModemManager - configuration 3 (MBIM mode) is a better choice
+
+# HP LT4132 which is a re-brand of Huawei ME906s-158
+ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", ATTR{idProduct}=="a31d", ATTR{bConfigurationValue}!="3", ATTR{bConfigurationValue}:="0"
+ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", ATTR{idProduct}=="a31d", ATTR{bConfigurationValue}!="3", RUN+="/bin/sh -c 'sleep 1; echo 3 > %S%p/bConfigurationValue'"
+ACTION=="add|change", SUBSYSTEM=="net", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="a31d", ATTR{cdc_ncm/ndp_to_end}=="N", ATTR{cdc_ncm/ndp_to_end}:="Y"
+
+# Huawei Technologies Co., Ltd. ME906s LTE M.2
+ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="15c1", ATTR{bConfigurationValue}!="3", ATTR{bConfigurationValue}:="0"
+ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="15c1", ATTR{bConfigurationValue}!="3", RUN+="/bin/sh -c 'sleep 1; echo 3 > %S%p/bConfigurationValue'"
+ACTION=="add|change", SUBSYSTEM=="net", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="15c1", ATTR{cdc_ncm/ndp_to_end}=="N", ATTR{cdc_ncm/ndp_to_end}:="Y"