alde103

alde103

USB-to-Ethernet adapters (AX88179/ASIX) stopped working after Nerves System (custom) 1.31.x update

Hey everyone! :wave:
I’m using a custom Nerves system based on Raspberry Pi 4. Some time ago, I added extra drivers to support several USB-to-Ethernet adapters (AX88179_178A, AX8817X, and ASIX).
It used to work fine — here’s a snippet from dmesg when it was working (full dmesg added on the thread):

usb 2-2: New USB device found, idVendor=0b95, idProduct=1790
usb 2-2: Product: AX88179A
usb 2-2: Manufacturer: ASIX
ax88179_178a 2-2:1.0 eth0: register 'ax88179_178a' at usb-0000:01:00.0-2, ASIX AX88179 USB 3.0 Gigabit Ethernet, ...

However, after updating to Nerves 1.31.x (Not sure if other previous releases have the same issue), the RPi4 no longer loads the correct drivers when detecting the USB adapters.
Now dmesg only shows (full dmesg added on the thread):

[    0.875175] erlinit: Unable to create seed directory
[    0.964188] hub 1-1:1.0: USB hub found
[    0.964467] hub 1-1:1.0: 4 ports detected
[    1.060560] usb 2-2: new SuperSpeed USB device number 2 using xhci_hcd
[    1.315121] usb 1-1.4: new high-speed USB device number 3 using xhci_hcd
[    1.355744] usb 2-2: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 2.00
[    1.355774] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.355779] usb 2-2: Product: AX88179A
[    1.355782] usb 2-2: Manufacturer: ASIX
[    1.355785] usb 2-2: SerialNumber: 00A3D878
[    1.427026] usb 1-1.4: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 3.00
[    1.427051] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.427056] usb 1-1.4: Product: AX88772E
[    1.427106] usb 1-1.4: Manufacturer: ASIX
[    1.427110] usb 1-1.4: SerialNumber: 003FF336

…and no ethX interface is created.

The modules asix and ax88179_178a are both built into the system and but no longer loaded at boot.

I’ve tried using modprobe, new_id, and manual binding (echo "1-1.4:2.0" > /sys/bus/usb/drivers/asix/bind), but I always get:
sh: write error: No such device
It looks like the device reports itself as AX88772E and AX88179A but with the VID/PID (0b95:1790) usually associated with AX88179A and ASIX — so neither driver recognizes it.

Has anyone run into this issue before?
Or know if I need to patch the driver to add support for this specific combination?
Any ideas or pointers would be really appreciated :pray:

Most Liked

fhunleth

fhunleth

Co-author of Nerves

The times that I’ve seen this happen is when a manufacturer releases new revisions to their hardware and support hasn’t been added to Linux yet.

Looking at the latest and greatest kernel at Making sure you're not a bot! , the product ID 1790 still isn’t listed.

I looked back to old Linux versions to see if they ever did a wildcard probe on product IDs that might have made 1790 work. I don’t see it though.

Could it have been that you tested with a different USB-to-Ethernet adapter back when it worked? Maybe it was a 1780 back then.

The fix might be pretty simple. What I’d do is copy paste the lines for the 1780 in the link above in the kernel source and make an entry for the 1790. That will at least get your adapter enumerating with the ASIX driver. Hopefully the new part is backwards compatible with the 1780 and will “just” work. If that’s the case, then create a patch and include that in your Nerves system. You could also contribute it back upstream to the Linux kernel if you wanted.

alde103

alde103

I tried to add those drivers to the official nerves system (nerves_system_rpi4) , however, it is not working :frowning:

Where Next?

Popular in Questions Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
vac
Hi, I’m quite new in Elixir and I’m trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and I...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
svb
Hi! Currently I want to submit a form by pressing the Enter key. However, since my input field is of type “textarea” this is just adds a...
New

Other popular topics Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 127536 1222
New

We're in Beta

About us Mission Statement