The problem is that when I try to create a new interface for the USB-tethered device, the device list does not contain anything USB related. In v21, where USB-tethering worked successfully for me, the device list contained the "usb0" device which I used to create the interface but now it's no longer there.
Spoke too soon. While USB-tethering does work for me in v23.05, the connection becomes unstable after a couple of hours of use: ping times increase to ~1s instead of ~50ms I usually get, many dropped packets and sometimes I see something like the following:
# ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=52 time=632 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=52 time=472 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=52 time=199 ms
64 bytes from 1.1.1.1: icmp_seq=4 ttl=52 time=50.8 ms
64 bytes from 1.1.1.1: icmp_seq=5 ttl=52 time=100 ms
64 bytes from 1.1.1.1: icmp_seq=6 ttl=52 time=197 ms
wrong data byte #54 should be 0x36 but was 0x76
#16 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
#48 30 31 32 33 34 35 76 cb
64 bytes from 1.1.1.1: icmp_seq=8 ttl=52 time=139 ms
wrong data byte #54 should be 0x36 but was 0x30
#16 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
...
^C
--- 1.1.1.1 ping statistics ---
16 packets transmitted, 13 received, 18.75% packet loss, time 15037ms
rtt min/avg/max/mdev = 50.796/274.266/682.831/215.647 ms
Installing kmod-usb-net-cdc-ncm and then kmod-usb-net-cdc-eem doesn't seem to improve stability.
So the bottom line:
In v23.05 USB-tethering works for me but becomes unstable after 1-2 hours of use
In v24.10.rc5 USB-tethering doesn't work for me at all as usb0 device (or something similar) doesn't show up after installing kmod-usb-net-rndis. Installing kmod-usb-net-cdc-ncm in addition to kmod-usb-net-rndis also doesn't help, i.e. no usb0 device, hence no UBS-tethering interface can be created.
My solution so far is to use WiFi hotspot which does work.
It's not necessary to install kmod-usb-core and kmod-usb-ehci as those will be present by default in any release build for a chipset with a USB port. (ECHI is for support of USB1 clients on certain hardware and will be omitted if not required)
When running 24.10, when you plug the phone in and enable USB tethering on it, is anything logged in the router's system log?
True but installing them again does no harm, opkg just says that those packages are up-to-date.
OK, installed kmod-usb-net-rndis (and then kmod-usb-net-cdc-ncm just to be sure) but still there's no usb0 device seen anywhere.
kernel log
[15192.440183] kmodloader: done loading kernel modules from /etc/modules.d/*
[15298.959686] usb 1-1: USB disconnect, device number 50
[15299.314444] usb 1-1: new high-speed USB device number 51 using ehci-platform
[15339.573290] usb 1-1: USB disconnect, device number 51
[15339.921802] usb 1-1: new high-speed USB device number 52 using ehci-platform
[15387.480407] usb 1-1: USB disconnect, device number 52
[15388.048230] usb 1-1: new high-speed USB device number 53 using ehci-platform
...
---> Turn off and then turn on USB-tethering on the phone
[15861.251902] usb 1-1: USB disconnect, device number 59
[15861.810944] usb 1-1: new high-speed USB device number 60 using ehci-platform
[15862.017956] rndis_host 1-1:1.0 eth1: register 'rndis_host' at usb-1b000000.usb-1, RNDIS device, 0e:e2:40:87:cb:7f
syslog
---> Turn off and then turn on USB-tethering on the phone
Fri Jan 17 15:17:19 2025 kern.info kernel: [15856.516279] usb 1-1: USB disconnect, device number 58
Fri Jan 17 15:17:19 2025 kern.info kernel: [15856.521617] rndis_host 1-1:1.0 eth1: unregister 'rndis_host' usb-1b000000.usb-1, RNDIS device
Fri Jan 17 15:17:20 2025 kern.info kernel: [15857.080635] usb 1-1: new high-speed USB device number 59 using ehci-platform
Fri Jan 17 15:17:24 2025 kern.info kernel: [15861.251902] usb 1-1: USB disconnect, device number 59
Fri Jan 17 15:17:24 2025 kern.info kernel: [15861.810944] usb 1-1: new high-speed USB device number 60 using ehci-platform
Fri Jan 17 15:17:25 2025 kern.info kernel: [15862.017956] rndis_host 1-1:1.0 eth1: register 'rndis_host' at usb-1b000000.usb-1, RNDIS device, 0e:e2:40:87:cb:7f
...
---> Install kmod-usb-net-cdc-ncm
17 15:21:00 2025 user.info kernel: [16077.144921] kmodloader: loading kernel modules from /etc/modules.d/*
Fri Jan 17 15:21:00 2025 kern.info kernel: [16077.168219] usbcore: registered new interface driver cdc_ncm
Fri Jan 17 15:21:00 2025 user.info kernel: [16077.176762] kmodloader: done loading kernel modules from /etc/modules.d/*
...
---> Turn off and then turn on USB-tethering on the phone
17 15:22:50 2025 kern.info kernel: [16187.271784] usb 1-1: USB disconnect, device number 60
Fri Jan 17 15:22:50 2025 kern.info kernel: [16187.277137] rndis_host 1-1:1.0 eth1: unregister 'rndis_host' usb-1b000000.usb-1, RNDIS device
Fri Jan 17 15:22:51 2025 kern.info kernel: [16187.853671] usb 1-1: new high-speed USB device number 61 using ehci-platform
Fri Jan 17 15:22:52 2025 kern.info kernel: [16189.468031] usb 1-1: USB disconnect, device number 61
Fri Jan 17 15:22:53 2025 kern.info kernel: [16190.033830] usb 1-1: new high-speed USB device number 62 using ehci-platform
Fri Jan 17 15:22:53 2025 kern.info kernel: [16190.241107] rndis_host 1-1:1.0 eth1: register 'rndis_host' at usb-1b000000.usb-1, RNDIS device, 0e:e2:40:87:cb:7f
---> Still there is no usb0 device or anything similar
Disconnect the phone, run logread -f, connect the phone, enable tethering if required.
Let it run for some time then stop and post the log collected.
According to previously posted log, eth1 is the interface created by the driver. If you don't see it later, I can only assume that it disappears at some point.