Ax88179_178a hotplug fail USB-C to Ethernet adapter with Kernel 5.17

Hi folks, here just to report issue for kernel driver module ax88179_178a when hotplug adapter on my thunderbolt port. (Dell inspirion 7510 plus)

Today I get this UGREEN USB-C to Ethernet adapter from Amazon

So first hotplug on manjaro fail, dmesg report some issue to write memory registers like sown below:

ax88179_178a 2-1:1.0 enp0s13f0u1: unregister ‘ax88179_178a’ usb-0000:00:0d.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet
[ 145.710144] ax88179_178a 2-1:1.0 enp0s13f0u1: Failed to write reg index 0x0002: -19
[ 145.710150] ax88179_178a 2-1:1.0 enp0s13f0u1: Failed to write reg index 0x0001: -19
[ 145.710154] ax88179_178a 2-1:1.0 enp0s13f0u1: Failed to write reg index 0x0002: -19
[ 145.710203] ax88179_178a 2-1:1.0 enp0s13f0u1: Failed to read reg index 0x0002: -19
[ 145.710207] ax88179_178a 2-1:1.0 enp0s13f0u1: Failed to write reg index 0x0002: -19
[ 145.750249] audit: type=1130 audit(1651594282.223:131): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg=‘unit=NetworkManager-dispatcher comm=“systemd” exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success’
[ 154.098209] usb 2-1: new SuperSpeed USB device number 3 using xhci_hcd
[ 154.372250] usb 2-1: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 2.00
[ 154.372261] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 154.372265] usb 2-1: Product: AX88179A
[ 154.372268] usb 2-1: Manufacturer: ASIX
[ 154.372271] usb 2-1: SerialNumber: 0000000000244A
[ 154.469443] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -32
[ 154.479674] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -32
[ 154.693892] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -32
[ 154.807022] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0006: -32
[ 154.807034] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): invalid MAC address, using random
[ 154.818827] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0006: -32
[ 154.829351] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0005: -32
[ 154.839733] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -32
[ 154.850386] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -32
[ 154.860735] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -32
[ 154.872499] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -32
[ 154.882865] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -32
[ 154.893271] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -32
[ 154.903658] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -32
[ 154.914367] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0001: -32
[ 154.926107] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -32
[ 154.936463] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x001f: -32
[ 154.946855] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0019: -32
[ 154.957336] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x001f: -32
[ 154.967702] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000d: -32
[ 154.979432] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000e: -32
[ 154.989829] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000d: -32
[ 155.000175] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x000e: -32
[ 155.010657] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000d: -32
[ 155.021015] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000e: -32
[ 155.032678] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000d: -32
[ 155.043109] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000e: -32
[ 155.053521] ax88179_178a 2-1:2.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32

After this I try to reboot on Win11, no problem, adapter work fine, and same when plugged on my Android 11 Samsung A03s.

Well this adapter will work even leave plugged on usb-c port and booting Linux (currently I’m on Kernel: 5.17.1-3-MANJARO, dmesg bootstrap log print as below:

ax88179_178a 2-1:1.0 eth0: register ‘ax88179_178a’ at usb-0000:00:0d.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet, 08:26:ae:32:ca:58
[ 3.139324] ACPI Warning: _SB.PC00.PEG1.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20211217/nsarguments-61)
[ 3.139532] ACPI Warning: _SB.NPCF._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20211217/nsarguments-61)
[ 3.174543] usbcore: registered new interface driver ax88179_178a
[ 3.205299] ax88179_178a 2-1:1.0 enp0s13f0u1: renamed from eth0
[ 3.811104] ax88179_178a 2-1:1.0 enp0s13f0u1: Failed to read reg index 0x0040: -32

Take note here is only one “read reg index” fault, after this ethernet adapter bring up and running…

I think to write at driver mantainer for help, when I do quick search on google, understand this Asix chip is very buggy under Linux :smiley: lol
By other hand, I’m not to waste too many bucks for get some good brand adapter, like Dell or Hp for (seen at around 40-60 $) indeed it’s onboard high performance NIC like Intel I trust ensure full compatible, but too expansive for my needs.

Well luckly I see asix-ax88179-dkms

And I’m happy to try this out for standard kernel module! Arch AUR packages save my life once more? Taa-daah! Just in testing meanwile writing this post, I think need reboot to enable it! See you later guys.

No issues here with Trendnet and Plugable. The only difference is mine are USB 3.0. The driver is included in the kernel and works straightaway. ax88179 is known to be very reliable. I am running kernel 5.17 Unstable on this unit and 5.17 Stable on the other.

 Device-3: ASIX AX88179 Gigabit Ethernet type: USB driver: ax88179_178a
  IF: enp0s20u3 state: up speed: 1000 Mbps duplex: full
    mac: 3xxxxxxxxx
1 Like

Well afterinstalled dkkkkkkkkkkkms-aur driver and rebooted, I see a lot of output on dmesg releated to detail about, if this driver is really fine as @jrichard326 said, you can explain why on my notebook is just crazy, eh, look below, dmesg print many errors for eeprom and mac address I see:

kernel: ax88179_178a: loading out-of-tree module taints kernel.
mag 03 20:52:30 Ipno7510 kernel: ax88179_178a: module verification failed: signature and/or required key missing - tainting kernel

Look bad news for me, , following logs I see other errors:

kernel: Found invalid EEPROM MAC address value
kernel: FF
kernel: -
kernel: FF
kernel: -
kernel: FF
kernel: -
kernel: FF
kernel: -
kernel: FF
kernel: -
kernel: FF
kernel: ax88179_178a 2-1:1.0 (unnamed net_device) (uninitialized): Current addr: ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 >
kernel: ax88179_178a 2-1:1.0 (unnamed net_device) (uninitialized): Expected addr: 8e 62 99 da b5 02 00 00 00 00 00 00 00 00 00 00 00 >

This above anyway is fixed at boot time, but adapter never work on hotplug same as default non-AUR driver, fail with many debug log trace…

This trace log of kernel after installed dkms aur axis driver

Next scary message after this is:

kernel: ax88179_178a 2-1:1.0 (unnamed net_device) (uninitialized): Found invalid EEPROM part or non-EEPROM

After I read this, I think Ugreen manufacturer is very bad , engineers make uncompatible code into this product for obscure reason? I don’t know but it is very annoyng, so now I’m on the go for debugging, and will open ticket on Arch Aur database to mantainer for any advice…

Anyone is welcome for advice about possible “fix” or “workarounds” like kernel parameter to pass on boot etc.

Best regards.

Ypee guys! I think to mark solved this thread.
Today I found solution, after removing some packages previously installed like “i8k” fan control for Dell hardware and “just reinstalling” asix-ax88179-dkms (first I rmmod and do rebuild aur from package manager)

Then I unplug adapter and re plug in , do a look on dmesg -w and I see loading of driver without issue.
It’s magic :smiley:
asix-ax88179-dkms
This is pastebin of my last successful hotplug

Unfortunatley after reboot , adapter is once more hang, lol, So now my previous effort is useless, but now I found a real trick to “reset” hotplug device, following instruction on Axis driver README

on console I do:
rmmod ax88179_178a

then the trick is do:
modprobe usbnet

This command will make some kind of “reset” on kernel an allowing load module without any issue. By other hand, understanding why driver messing up on loading on hotplug adapter events trigger, is seally hard for me.
I can jus put my report here and open support ticket on AUR package mantainer page.
Well goodbye.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.