USB3 to Gigabit Ethernet adapter on Rpi4/5 troubles

  • Update the RPi5 to https://chewitt.libreelec.tv/testing/LibreE…h64-11.80.0.tar with the ASIX adapter connected and share the log URL from "journalctl | paste" please. I've made the drivers built-in to the kernel (=y) instead of using loadable modules (=m). That's not necessarily the right fix, but takes udev (which I think is the issue) out of the equation temporarily.

    Looks like the ASIX interface still didn't come up. There is no eth1 interface available. Here's the journalctl log:

    https://paste.libreelec.tv/holy-heron.log

    Let me know if there's anything else I can do to help diagnose this.

  • mglae I've seen that one. It's mostly discussing problems where the adapter can't be used correctly whereas in our case it simply doesn't probe and load the driver (so not getting that far). The cbc_mbim stuff looks related to a USB-C dock.

    rkershenbaum Are these ASIX adapters a simple Ethernet adapter or are they the Ethernet portion of a USB-C dock?

  • mglae I've seen that one. It's mostly discussing problems where the adapter can't be used correctly whereas in our case it simply doesn't probe and load the driver (so not getting that far). The cbc_mbim stuff looks related to a USB-C dock.

    rkershenbaum Are these ASIX adapters a simple Ethernet adapter or are they the Ethernet portion of a USB-C dock?

    chewitt Just simple Ethernet adapters. This exact model:

    https://www.amazon.com/dp/B00MYTSN18?ref=ppx_yo2ov_dt_b_product_details&th=1

    Edited once, last by rkershenbaum (February 11, 2024 at 4:50 PM).

  • Code
    ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0b95", ATTR{idProduct}=="1790", ATTR{bConfigurationValue}!="1", ATTR{bConfigurationValue}="1"

    Manually adding that ^ to /storage/.config/udev.rules.d/99-asix.rules results in the driver probing:

    Code
    RPi5:~ # lsusb  -t
    /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
    /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    /:  Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
    /:  Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 001: Dev 002, If 0, Class=Vendor Specific Class, Driver=ax88179_178a, 5000M

    but "ethtool eth1" initially shows the device with no link and ifconfig shows no interface. If you wait long enough that changes and everything comes up and starts working, but it takes a long time; so far I've no idea as between boot (and checking) I had to go do something else for some hours, and on return (and checking again) it's come up. I'll need to see if I can script the check to see if it's a consistent or random time before the NIC is available, and then I'll report findings to the kernel maintainers for input. Something isn't right, but I'm not sure what yet, it's most odd.

    NB: The udev rule should work on any LE11/LE12 image; the one in my test share is updated but there are no changes/patches for the NICs included (as none needed).

  • After an hour, no eth1 interface showing with ifconfig.

    Lsusb output matches yours.

  • See what happens with "ifconfig eth1 up" .. it might take a while to get an address via DHCP

    On the Pi5, the interface immediately came up. On the Pi4, I got:

    Code
    ifconfig: ioctl 0x8913 failed: No such device

    Both are running LE12 nightly. The Pi5 had been up a couple of hours longer.


    One more data point: When I power-cycle the Pi5, the AX88179 interface does not come up at the completion of the boot. But as soon as I unplug it from the USB3 port and plug it back in, it comes alive.


    That procedure doesn't work (for some reason) on the Pi4. Still getting "no such device" after a reboot, and after unplugging and replugging the interface.

    Edited 3 times, last by rkershenbaum: Merged a post created by rkershenbaum into this post. (February 14, 2024 at 6:35 PM).

  • Ok...playing around with this some more...

    I can get the eth1 interface to come alive after a reboot by unplugging it and plugging it back in. However, it loses all its settings, and defaults back to "connect automatically" and "dhcp". I want to use manual static IP addresses on both interfaces, and I want the eth1 interface to not connect automatically. When I want to use it, I will disable the eth0 instance, and enable the eth1 instance. (As I've mentioned, this results in a 1-5 minute UI hang.)

    This is progress, though....

  • Unless I've screwed something up again (which is always possible), the Rpi4 and Rpi5 seem to behave differently. On the Rpi4, the eth1 interface comes up automatically after a boot or power cycle -- but loses its settings. On the Rpi5, the interface does not appear after booting, but will appear after unplugging and replugging the adapter, or after issuing "ifconfig eth1 up".

  • Update: I still have a RTL8153 adapter, so I tested it on an Rpi5 with unmodified LE 11.0.6 and with the LE 12 nightly-20240222-96ea547.

    On the official LE 11 instance, the RTL8153 adapter came up automatically across boots and worked as expected.

    On the LE 12 nightly, it required unplugging and replugging to come up following each reboot. Howver, unlike the AX88179 adapters, it did retain its settings (connect-automatically=off, static IP address, etc.) across a boot.

    So the failure of the RTL8153 adapter to activate automatically across boots seems to have been introduced in LE 12. (I can live with this, since I don't use it all the time.)


    As expected, the AX88179 adapter didn't activate on either unmodified LE 11 or unmodified LE 12, even after unplugging and replugging.

    Edited 3 times, last by rkershenbaum: Merged a post created by rkershenbaum into this post. (February 22, 2024 at 4:16 PM).

  • This is not specifically related to the USB wired Ethernet driver problems, since it also occurs with the built-in wired and wireless interfaces (without a USB network interface installed). But I also opened a ticket on the UI hang issue here:

    [BUG] After manually switching network interfaces, UI hangs for several minutes · Issue #8669 · LibreELEC/LibreELEC.tv
    Describe the bug After manually switching network interfaces, the LE user interface hangs for about three minutes How to reproduce Steps to reproduce the…
    github.com