alde103
USB-to-Ethernet adapters (AX88179/ASIX) stopped working after Nerves System (custom) 1.31.x update
Hey everyone! ![]()
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 ![]()
Most Liked
fhunleth
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
I tried to add those drivers to the official nerves system (nerves_system_rpi4) , however, it is not working ![]()
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #hex









