USB ethernet AX88179 broken usb ethernet names
Subsystems (3)
Hi,
Roland Rosenfeld reported in Debian a regression after the update to the 6.1.85 based kernel, with his USB ethernet device not anymore able to use the usb ethernet names.
https://bugs.debian.org/1069082
it is somehow linked to the already reported regression
https://lore.kernel.org/regressions/ZhFl6xueHnuVHKdp@nuc/ but has another aspect. I'm quoting his original report:
Quoted 56 lines
Dear Maintainer,
when upgrading from 6.1.76-1 to 6.1.85-1 my USB ethernet device
ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
is no longer named enx00249bXXXXXX but eth0.I see the following in dmsg:
[ 1.484345] usb 4-5: Manufacturer: ASIX Elec. Corp. [ 1.484661] usb 4-5: SerialNumber: 0000249BXXXXXX [ 1.496312] ax88179_178a 4-5:1.0 eth0: register 'ax88179_178a' at usb-0000:00:14.0-5, ASIX AX88179 USB 3.0 Gigabit Ethernet, d2:60:4c:YY:YY:YY [ 1.497746] usbcore: registered new interface driver ax88179_178aUnplugging and plugging again does not solve the issue, but the interface still is named eth0.
Maybe it has to do with the following commit from
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.85commit
fc77240f6316d17fc58a8881927c3732b1d75d51Author: Jose Ignacio Tornos Martinez <[email protected]> Date: Wed Apr 3 15:21:58 2024 +0200net: usb:
ax88179_178a: avoid the interface always configured as random addresscommit
2e91bb99b9d4f756e92e83c4453f894dda220f09upstream.After the commit
d2689b6a86b9("net: usb:ax88179_178a: avoid two consecutive device resets"), reset is not executed from bind operation and mac address is not read from the device registers or the devicetree at that moment. Since the check to configure if the assigned mac address is random or not for the interface, happens after the bind operation fromusbnet_probe, the interface keeps configured as random address, although the address is correctly read and set during open operation (the only reset now).In order to keep only one reset for the device and to avoid the interface always configured as random address, after reset, configure correctly the suitable field from the driver, if the mac address is read successfully from the device registers or the devicetree. Take into account if a locally administered address (random) was previously stored.
cc [email protected] # 6.6+Fixes d2689b6a86b9 ("net: usb: ax88179_178a: avoid two consecutive device resets")Reported-by Dave Stevenson <[email protected]>Signed-off-by Jose Ignacio Tornos Martinez <[email protected]>Reviewed-by Simon Horman <[email protected]>Signed-off-by Jakub Kicinski <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>Seems, that I'm not alone with this issue, there are also reports in
https://www.reddit.com/r/debian/comments/1c304xn/linuximageamd64_61851_usb_link_interface_names/
and https://infosec.space/@topher/112276500329020316
Quoted 6 lines
All other (pci based) network interfaces still use there static names (enp0s25, enp2s0, enp3s0), only the usb ethernet name is broken with the new kernel.
Greetings
Roland
Roland confirmed that reverting both fc77240f6316 ("net: usb:ax88179_178a: avoid the interface always configured as random address") and 5c4cbec5106d ("net: usb: ax88179_178a: avoid two consecutive device resets") fixes the problem.
Confirmation: https://bugs.debian.org/1069082#27
Regards,
Salvatore
Hello Salvatore,
Sorry for the incoveniences.
I am working actively trying to fix this on this thread:
https://lore.kernel.org/netdev/[email protected]/
Fedora is renaming the interface correctly but I think that could be related with the mac address issue.
After this, let me check with you if the reported problem is fixed.
Best regards
José Ignacio
Hello Salvatore,
Fix is there:
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=56f78615bcb1
And now in linux.
I have successfully tested it with ubuntu, installing the latest linux upstream kernel:
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04 Codename: jammy $ uname -a Linux unbuntu-test 6.9.0-rc4+ #8 SMP PREEMPT_DYNAMIC Fri Apr 19 11:59:17 CEST 2024 x86_64 x86_64 x86_64 GNU/Linux $ sudo dmesg | grep ax88 [ 3.848935] ax88179_178a 1-9:1.0 eth0: register 'ax88179_178a' at usb-0000:00:14.0-9, ASIX AX88179 USB 3.0 Gigabit Ethernet, aa:20:18:10:09:63 [ 3.848956] usbcore: registered new interface driver ax88179_178a [ 3.854332] ax88179_178a 1-9:1.0 enxaa2018100963: renamed from eth0
Best regards
José Ignacio