Background:
Running ArchlinuxARM on an oDroid XU4 that uses both the built-in NIC as well as a USB Ethernet dongle (have tried a number of different manufacturers/ chipsets).
Issue:
When I disconnect the Ethernet cable from the USB dongle (ie. the USB dongle remains connected to the system but the carrier signal is lost), the Ethernet USB device drops from the system tree and does not reattach when replugging the Ethernet cable (though the USB port itself stays, the subsystem links back to a usb bus device instead of a net device). The ip link
command also reflects the loss of the network interface until the USB dongle itself is unplugged from, then replugged to, the system (a generic udevadm —-trigger
does not re-recognize the network device).
For instance,
# When the USB dongle is connected and there is a carrier…
> udevadm trigger —verbose —sysname-match=“eth1”
/sys/devices/platform/soc/soc:usb3-0/12000000.usb/xhci-hcd.8.auto/usb4/4-1/4-1.2/4-1.2:2.0/net/eth1
# Try to disable auto power control
> sudo echo -ne “on” | tee /sys/devices/platform/soc/soc:usb3-0/12000000.usb/xhci-hcd.8.auto/usb4/4-1/4-1.2/4-1.2:2.0/net/eth1/power/control
# Disconnect Ethernet cable from the USB dongle and check system tree (wait 30sec after disconnect) …
> ls /sys/devices/platform/soc/soc:usb3-0/12000000.usb/xhci-hcd.8.auto/usb4/4-1/4-1.2/4-1.2:2.0/net
ls: cannot access '/sys/devices/platform/soc/soc:usb3-0/12000000.usb/xhci-hcd.8.auto/usb4/4-1/4-1.2/4-1.2:2.0/net': No such file or directory
# Reattach Ethernet cable to the USB dongle and check system tree (wait 30sec after connect) …
> udevadm —-trigger
> ls /sys/devices/platform/soc/soc:usb3-0/12000000.usb/xhci-hcd.8.auto/usb4/4-1/4-1.2/4-1.2:2.0/net
ls: cannot access '/sys/devices/platform/soc/soc:usb3-0/12000000.usb/xhci-hcd.8.auto/usb4/4-1/4-1.2/4-1.2:2.0/net': No such file or directory
- Note:
/sys/devices/platform/soc/soc:usb3-0/12000000.usb/xhci-hcd.8.auto/usb4/4-1/4-1.2/4-1.2:2.0/
(the USB bus port itself) persists throughout.
Desired result:
The network interface (“eth1”) remains despite loss of carrier signal (though ip link
should report the link as down).
Additional Information
# Kernel module signals deregistration…how to prevent?
> dmesg | tail | grep “eth1” -
cdc_ncm 4-1.2:2.0 eth1: unregister ‘cdc_ncm’ usb-xhci-hcd.8.auto-1.2, CDC NCM (NO ZLP)
System Environment:
uname -a
Linux x.y.z 6.2.10-1-ARCH #1 SMP PREEMPT Fri Apr 7 11:19:04 2023 armv7l GNU/Linux
Thank you in advance.
eth1
remain (specifically the4-1.2:2.0
and the4-1.2
?