openwrt/package/utils
Zihao Diao 2e5b44a989 usbmode: add modeswitch rule for ZTE MF833U1
ZTE MF833U1 is a LTE dongle that expose a cdc_ether interface for data link
and WebUI for management. It handles all the "modem" functionalities
internally and does not expose any serial interface. Instead it acts like a
"router in a stick".

It initially enumerates as a USB mass-storage device and does not bind any
network driver, so no netdev is created until a modeswitch is performed.

The test is done on Cudy TR3000 256MB v1.0 running OpenWrt 24.10.5 with an
unit targeting Chinese market:

 - Hardware Version: MF883U1_V1.0.0
 - Software Version: BD_MF883U1V1.0.0B06
 - CMIT ID: 2019CP2106

There are report online that the device have different variants that have
different behavior across different firmware, HW revisions or SKUs.

Before the switch:

```
root@OpenWrt:~# lsusb -t
  /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-mtk/1p, 480M
      |__ Port 001: Dev 003, If 0, Class=[unknown], Driver=[none], 480M

root@OpenWrt:~# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.119
xhci-hcd xHCI Host Controller Bus 001 Device 004: ID 19d2:1705
DEMO,Incorporated DEMO Mobile Boardband Bus 002 Device 001: ID 1d6b:0003
Linux 6.6.119 xhci-hcd xHCI Host Controller ```

After the switch:

```
root@OpenWrt:~# lsusb -t
  /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-mtk/1p, 480M
      |__ Port 001: Dev 003, If 0, Class=[unknown], Driver=cdc_ether, 480M
      |__ Port 001: Dev 003, If 1, Class=[unknown], Driver=cdc_ether, 480M
      |__ Port 001: Dev 003, If 2, Class=[unknown], Driver=[none], 480M
  /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-mtk/1p, 20000M/x2

root@OpenWrt:~# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.119
xhci-hcd xHCI Host Controller Bus 001 Device 003: ID 19d2:1706
DEMO,Incorporated DEMO Mobile Boardband Bus 002 Device 001: ID 1d6b:0003
Linux 6.6.119 xhci-hcd xHCI Host Controller ```

The following kernel debug log is presented:

``` cdc_ether 1-1:1.0 eth2: register 'cdc_ether' at usb-11200000.usb-1, ZTE
CDC Ethernet Device, 34:4b:50:00:00:00 ```

Signed-off-by: Zihao Diao <hi@ericdiao.com>
Link: https://github.com/openwrt/openwrt/pull/21867
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-11 23:21:42 +01:00
..
adb adb: update project URL 2026-01-02 18:07:02 +01:00
audit audit: update to 3.1.5 2024-10-03 17:27:50 +02:00
bcm27xx-utils bcm27xx-utils: update to latest version 2025-03-16 08:03:28 +01:00
bcm4908img bcm4908img: detect Linksys images 2021-10-02 20:26:42 +02:00
bsdiff bsdiff: Add patches for CVEs 2023-10-09 23:42:37 +02:00
busybox treewide: switch to HTTPS URL 2026-01-02 18:07:02 +01:00
bzip2 bzip2: Forward LDFLAGS 2025-11-18 23:13:45 +01:00
checkpolicy treewide: update SELinux project URL 2026-01-02 18:07:02 +01:00
cli cli: add cidr6 data type 2026-02-07 10:04:18 +01:00
ct-bugcheck ct-bugcheck: use . for RELEASE 2024-09-12 11:49:43 +02:00
debugcc debugcc: Mark it nonshared 2024-11-17 12:30:16 +01:00
dns320l-mcu dns320l-mcu: fix compilation with GCC14 2025-05-03 22:57:11 +02:00
dtc dtc: update to 1.7.2 2025-11-23 09:20:12 +01:00
e2fsprogs treewide: switch to HTTPS URL 2026-01-02 18:07:02 +01:00
f2fs-tools f2fs-tools: update project URL 2026-01-02 18:07:02 +01:00
fbtest treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
firmware-utils firmware-utils: update to Git HEAD (2025-11-11) 2025-11-11 21:29:22 +01:00
fitblk treewide: validate unified uImage.FIT images before flashing 2025-04-21 16:12:42 +01:00
fritz-tools treewide: edit local CMakeLists.txt to be compatible with cmake 4.x 2025-11-04 15:14:53 +01:00
jboot-tools treewide: edit local CMakeLists.txt to be compatible with cmake 4.x 2025-11-04 15:14:53 +01:00
jsonfilter jsonfilter: update to Git HEAD (2025-10-04) 2025-10-04 12:02:55 +02:00
lua lua: fix CVE-2014-5461 2024-02-17 01:55:21 +01:00
lua5.3 lua: Forward LDFLAGS 2025-11-18 23:13:46 +01:00
mdadm mdadm: move init before fstab init runs 2026-01-27 01:45:10 +01:00
mtd-utils mtd-utils: Update to version 2.3.0 2025-11-08 21:03:46 +01:00
nilfs-utils nilfs-utils: update to 2.2.12 2025-10-04 19:39:40 +02:00
nvram packages: nvram: add set_bcm43602_variables quirk for ASUS RT-AC3200 2025-12-18 18:18:48 +00:00
omnia-eeprom omnia-eeprom: simplify Makefile 2025-06-22 18:58:49 +02:00
omnia-mcutool packages: drop DEVICE specific dependency for omnia 2024-11-05 09:59:49 +01:00
osafeloader packages: mark packages depending on a target as nonshared 2017-01-24 09:45:05 +01:00
policycoreutils treewide: update SELinux project URL 2026-01-02 18:07:02 +01:00
provision provision: drop usage of AUTORELEASE 2025-10-29 21:09:55 +01:00
px5g-mbedtls treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
px5g-wolfssl px5g-wolfssl: Fix permission of private key 2023-11-07 21:55:55 +01:00
ravpower-mcu treewide: update PKG_MIRROR_HASH to zst 2024-04-06 11:24:18 +02:00
secilc treewide: update SELinux project URL 2026-01-02 18:07:02 +01:00
spidev_test treewide: use HTTPS URL for www.kernel.org 2026-01-02 18:07:02 +01:00
ucode ucode: add ubus fixes 2026-02-07 10:04:17 +01:00
ucode-mod-bpf ucode-mod-bpf: add support for passing classid for tc attached programs 2025-07-31 17:34:24 +02:00
ucode-mod-pkgen ucode-mod-pkgen: fix refcounting issue 2025-03-05 08:25:43 +01:00
ucode-mod-uline ucode-mod-uline: drop usage of AUTORELEASE 2025-10-29 21:09:55 +01:00
uencrypt treewide: edit local CMakeLists.txt to be compatible with cmake 4.x 2025-11-04 15:14:53 +01:00
ugps ugps: update to Git HEAD (2025-10-03) 2025-10-03 23:54:26 +02:00
usbgadget usbgadget: bump PKG_RELEASE for os descriptors support 2025-07-04 17:33:18 +08:00
usbmode usbmode: add modeswitch rule for ZTE MF833U1 2026-02-11 23:21:42 +01:00
util-linux util-linux: update to 2.41.3 2026-01-02 01:24:55 +01:00
yafut yafut: update to a version that builds on macOS 2025-02-19 09:37:46 +01:00
zyxel-bootconfig zyxel-bootconfig: Forward LDFLAGS 2025-11-18 23:13:46 +01:00
zyxel-bootconfig-ipq807x qualcommax: ipq807x: add support for Zyxel NWA210AX 2025-12-01 14:30:27 +01:00