Bug 212731
Summary: | USB Ethernet adapter ASIX AX88179 disconnects under heavy load. | ||
---|---|---|---|
Product: | Networking | Reporter: | Alex (kozyavk) |
Component: | Other | Assignee: | Stephen Hemminger (stephen) |
Status: | NEW --- | ||
Severity: | normal | CC: | a.kambas, adam, anders.collstrup, bjorn.forsman, ceticamarco, christian.rohmann, francesco, ger, huan, jakub.gargul+krn, kernelbugzilla, kevin.buckley.pawsey.org.au, msylwester, tlinux, yanmercier |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.11.13 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Alex
2021-04-20 02:24:51 UTC
I should add - when I found that the latest stable kernel doesn't work for me I tried two other longterm kernels - 5.10 and 5.4 The problem was there too. I observed a similar issue of random losses of traffic handling on Kernel 5.16.4-arch1-1 with a Bus 007 Device 009: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet which is part of an Anker PowerExpand 8-in-1 USB-C PD 10Gbps Data Hub reporting in with Bus 006 Device 012: ID 291a:8383 Anker Anker USB-C HUB Device If I unplug the RJ45 and plug it back it the link works fine again. There have been some changes committed for 5.17 ... see https://github.com/torvalds/linux/commit/57bc3d3ae8c14df3ceb4e17d26ddf9eeab304581 Hi, I can confirm this problem with 5.10.106 (Debian 11). It seems due to some random pattern and generally the device disconnects when using Skype in a few seconds (WTF?). But for that, the disconnection happens randomly even not under heavy load. Typically a message such as: [mer mag 11 08:45:29 2022] ax88179_178a 4-6:1.0 enxf8e43b8c0541: Failed to read reg index 0x0040: -32 appears and the link is permanently lost. It can be enabled again by issuing: ip link set dev <device> down && ip link set dev <device> up Sometimes a kernel panic appears too: [ven mag 6 15:09:05 2022] ------------[ cut here ]------------ [ven mag 6 15:09:05 2022] NETDEV WATCHDOG: enxf8e43b8c0541 (ax88179_178a): transmit queue 0 timed out [ven mag 6 15:09:05 2022] WARNING: CPU: 1 PID: 0 at net/sched/sch_generic.c:467 dev_watchdog+0x25c/0x260 [ven mag 6 15:09:05 2022] Modules linked in: tun nf_log_ipv4 nf_log_common nft_limit xt_LOG xt_limit xt_multiport xt_MASQUERADE xt_REDIRECT nft_chain_nat xt_nat nf_nat xt_tcpudp ipt_REJECT nf_reject_ipv4 xt_conntrack nf_conntrack nf_defr ag_ipv6 nf_defrag_ipv4 nft_compat nft_counter nf_tables nfnetlink intel_rapl_msr intel_rapl_common x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec_realtek kvm_intel binfmt_misc snd_hda_codec_generic ledtrig_audio kvm snd_hda_ codec_hdmi snd_hda_intel snd_intel_dspcfg soundwire_intel soundwire_generic_allocation irqbypass snd_soc_core snd_compress soundwire_cadence ghash_clmulni_intel mei_hdcp mei_wdt snd_hda_codec aesni_intel snd_hda_core libaes crypto_simd sn d_hwdep iTCO_wdt cryptd soundwire_bus glue_helper rtsx_usb_ms snd_pcm_oss rapl ax88179_178a intel_pmc_bxt intel_cstate memstick snd_mixer_oss snd_pcm iTCO_vendor_support usbnet mei_me intel_uncore mii joydev pcspkr at24 snd_timer mei sg w atchdog snd soundcore intel_pch_thermal fujitsu_laptop [ven mag 6 15:09:05 2022] sparse_keymap evdev loop parport_pc ppdev auth_rpcgss lp parport fuse sunrpc configfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 btrfs blake2b_generic raid10 raid456 async_raid6_recov async_memcpy async _pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod hid_logitech_hidpp hid_logitech_dj hid_generic rtsx_usb_sdmmc mmc_core usbhid hid rtsx_usb i915 sd_mod t10_pi crc_t10dif crct10dif_generic i2 c_algo_bit drm_kms_helper ahci libahci cec xhci_pci libata xhci_hcd drm ehci_pci crct10dif_pclmul crct10dif_common ehci_hcd e1000e crc32_pclmul scsi_mod lpc_ich crc32c_intel i2c_i801 i2c_smbus usbcore ptp pps_core usb_common fan wmi video button [ven mag 6 15:09:05 2022] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.10.0-14-amd64 #1 Debian 5.10.113-1 [ven mag 6 15:09:05 2022] Hardware name: FUJITSU ESPRIMO Q920/D3233-A1, BIOS V4.6.5.4 R1.46.0.SR.1 for D3233-A1x 09/21/2018 [ven mag 6 15:09:05 2022] RIP: 0010:dev_watchdog+0x25c/0x260 [ven mag 6 15:09:05 2022] Code: eb a9 48 8b 1c 24 c6 05 7f 53 10 01 01 48 89 df e8 99 97 fa ff 44 89 e9 48 89 de 48 c7 c7 70 c0 76 b4 48 89 c2 e8 12 3d 14 00 <0f> 0b eb 86 0f 1f 44 00 00 41 57 41 56 49 89 d6 41 55 4d 89 c5 41 [ven mag 6 15:09:05 2022] RSP: 0018:ffffb6fe000e0eb0 EFLAGS: 00010282 [ven mag 6 15:09:05 2022] RAX: 0000000000000000 RBX: ffff8da519f4c000 RCX: 000000000000083f [ven mag 6 15:09:05 2022] RDX: 0000000000000000 RSI: 00000000000000f6 RDI: 000000000000083f [ven mag 6 15:09:05 2022] RBP: ffff8da519f4c3dc R08: 0000000000000000 R09: ffffb6fe000e0cd0 [ven mag 6 15:09:05 2022] R10: ffffb6fe000e0cc8 R11: ffffffffb4ccb408 R12: ffff8da50648a280 [ven mag 6 15:09:05 2022] R13: 0000000000000000 R14: ffff8da519f4c480 R15: 0000000000000001 [ven mag 6 15:09:05 2022] FS: 0000000000000000(0000) GS:ffff8da616280000(0000) knlGS:0000000000000000 [ven mag 6 15:09:05 2022] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ven mag 6 15:09:05 2022] CR2: 000055e2b8a6d0a0 CR3: 0000000182c0a004 CR4: 00000000001706e0 [ven mag 6 15:09:05 2022] Call Trace: [ven mag 6 15:09:05 2022] <IRQ> [ven mag 6 15:09:05 2022] ? pfifo_fast_enqueue+0x150/0x150 [ven mag 6 15:09:05 2022] call_timer_fn+0x29/0xf0 [ven mag 6 15:09:05 2022] __run_timers.part.0+0x1d5/0x250 [ven mag 6 15:09:05 2022] ? recalibrate_cpu_khz+0x10/0x10 [ven mag 6 15:09:05 2022] ? ktime_get+0x38/0xa0 [ven mag 6 15:09:05 2022] ? lapic_next_deadline+0x28/0x30 [ven mag 6 15:09:05 2022] ? clockevents_program_event+0x8d/0xf0 [ven mag 6 15:09:05 2022] run_timer_softirq+0x26/0x50 [ven mag 6 15:09:05 2022] __do_softirq+0xc5/0x275 [ven mag 6 15:09:05 2022] asm_call_irq_on_stack+0x12/0x20 [ven mag 6 15:09:05 2022] </IRQ> [ven mag 6 15:09:05 2022] do_softirq_own_stack+0x37/0x40 [ven mag 6 15:09:05 2022] irq_exit_rcu+0x8e/0xc0 [ven mag 6 15:09:05 2022] sysvec_apic_timer_interrupt+0x36/0x80 [ven mag 6 15:09:05 2022] asm_sysvec_apic_timer_interrupt+0x12/0x20 [ven mag 6 15:09:05 2022] RIP: 0010:cpuidle_enter_state+0xc7/0x350 [ven mag 6 15:09:05 2022] Code: 8b 3d ed 17 37 4c e8 f8 cc a1 ff 49 89 c5 0f 1f 44 00 00 31 ff e8 09 d8 a1 ff 45 84 ff 0f 85 fa 00 00 00 fb 66 0f 1f 44 00 00 <45> 85 f6 0f 88 06 01 00 00 49 63 c6 4c 2b 2c 24 48 8d 14 40 48 8d [ven mag 6 15:09:05 2022] RSP: 0018:ffffb6fe0009bea8 EFLAGS: 00000246 [ven mag 6 15:09:05 2022] RAX: ffff8da6162afcc0 RBX: 0000000000000005 RCX: 000000000000001f [ven mag 6 15:09:05 2022] RDX: 0000000000000000 RSI: 0000000040260673 RDI: 0000000000000000 [ven mag 6 15:09:05 2022] RBP: ffff8da6162b9500 R08: 000015e3d49b3927 R09: 000015e3bc46d468 [ven mag 6 15:09:05 2022] R10: 00000000000011ac R11: 00000000000015d9 R12: ffffffffb4dae780 [ven mag 6 15:09:05 2022] R13: 000015e3d49b3927 R14: 0000000000000005 R15: 0000000000000000 [ven mag 6 15:09:05 2022] ? cpuidle_enter_state+0xb7/0x350 [ven mag 6 15:09:05 2022] cpuidle_enter+0x29/0x40 [ven mag 6 15:09:05 2022] do_idle+0x1ef/0x2b0 [ven mag 6 15:09:05 2022] cpu_startup_entry+0x19/0x20 [ven mag 6 15:09:05 2022] secondary_startup_64_no_verify+0xb0/0xbb [ven mag 6 15:09:05 2022] ---[ end trace 17d8be5b9f9a838a ]--- I'm available for some debugging session to find out what seems a driver bug. Cheers. For completeness, note that when the disconnection happens the status leds turn off too. I experience this issue as well, but there is a nuance in my experience compared to what Ive read above; with kernel 5.4.0-113-generic it happens less frequently than with kernel 5.15.0-33-generic. with 5.4 I get this in kern.log, the link comes back up by itself a second after : kernel: [ 761.308784] ax88179_178a 4-2:1.0 enx7cc2c635515e: unregister 'ax88179_178a' usb-0000:00:14.0-2, ASIX AX88179 USB 3.0 Gigabit Ethernet kernel: [ 761.308852] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0002: -19 kernel: [ 761.308856] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to write reg index 0x0002: -19 kernel: [ 761.348397] ax88179_178a 4-2:1.0 enx7cc2c635515e (unregistered): Failed to write reg index 0x0002: -19 kernel: [ 761.348399] ax88179_178a 4-2:1.0 enx7cc2c635515e (unregistered): Failed to write reg index 0x0001: -19 kernel: [ 761.348399] ax88179_178a 4-2:1.0 enx7cc2c635515e (unregistered): Failed to write reg index 0x0002: -19 kernel: [ 761.977682] ax88179_178a 4-2:1.0 eth0: register 'ax88179_178a' at usb-0000:00:14.0-2, ASIX AX88179 USB 3.0 Gigabit Ethernet, 7c:c2:c6:35:51:5e kernel: [ 761.992305] ax88179_178a 4-2:1.0 enx7cc2c635515e: renamed from eth0 kernel: [ 762.483439] ax88179_178a 4-2:1.0 enx7cc2c635515e: ax88179 - Link status is: 1 kernel: [ 764.915376] ax88179_178a 4-2:1.0 enx7cc2c635515e: ax88179 - Link status is: 1 with 5.15 when I generate some network traffic, it will constantly go down/up with more log entries : kernel: [14889.794566] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0000: -19 kernel: [14889.794581] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0001: -19 kernel: [14889.794588] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0009: -19 kernel: [14889.794594] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x000a: -19 kernel: [14889.794600] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0004: -19 kernel: [14889.794638] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0000: -19 kernel: [14889.794646] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0001: -19 kernel: [14889.794652] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0009: -19 kernel: [14889.794659] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x000a: -19 kernel: [14889.794664] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0004: -19 kernel: [14889.867328] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0000: -19 kernel: [14889.867335] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0001: -19 kernel: [14889.867336] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0009: -19 kernel: [14889.867338] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x000a: -19 kernel: [14889.867339] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0004: -19 kernel: [14889.867345] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0000: -19 kernel: [14889.867348] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0001: -19 kernel: [14889.867350] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0009: -19 kernel: [14889.867351] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x000a: -19 kernel: [14889.867353] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0004: -19 kernel: [14889.867355] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0000: -19 kernel: [14889.867357] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0001: -19 kernel: [14889.867359] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0009: -19 kernel: [14889.867360] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x000a: -19 kernel: [14889.867362] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0004: -19 kernel: [14889.867365] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0000: -19 kernel: [14889.867366] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0001: -19 kernel: [14889.867368] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0009: -19 kernel: [14889.867369] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x000a: -19 kernel: [14889.867370] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0004: -19 kernel: [14889.931192] usb 4-2: USB disconnect, device number 27 kernel: [14889.931351] xhci_hcd 0000:00:14.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state. kernel: [14889.931494] ax88179_178a 4-2:1.0 enx7cc2c635515e: unregister 'ax88179_178a' usb-0000:00:14.0-2, ASIX AX88179 USB 3.0 Gigabit Ethernet kernel: [14889.931504] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to write reg index 0x0002: -19 kernel: [14889.931508] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to write reg index 0x0001: -19 kernel: [14889.931512] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to write reg index 0x0002: -19 kernel: [14889.931562] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to read reg index 0x0002: -19 kernel: [14889.931565] ax88179_178a 4-2:1.0 enx7cc2c635515e: Failed to write reg index 0x0002: -19 kernel: [14890.231400] usb 4-2: new SuperSpeed USB device number 28 using xhci_hcd kernel: [14890.254695] usb 4-2: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 1.00 kernel: [14890.254706] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel: [14890.254710] usb 4-2: Product: AX88179 kernel: [14890.254712] usb 4-2: Manufacturer: ASIX Elec. Corp. kernel: [14890.254715] usb 4-2: SerialNumber: 007CC2C635515E kernel: [14890.597289] ax88179_178a 4-2:1.0 eth0: register 'ax88179_178a' at usb-0000:00:14.0-2, ASIX AX88179 USB 3.0 Gigabit Ethernet, 7c:c2:c6:35:51:5e kernel: [14890.610171] ax88179_178a 4-2:1.0 enx7cc2c635515e: renamed from eth0 kernel: [14891.024391] ax88179_178a 4-2:1.0 enx7cc2c635515e: ax88179 - Link status is: 1 kernel: [14893.584304] ax88179_178a 4-2:1.0 enx7cc2c635515e: ax88179 - Link status is: 1 kernel: [14893.627579] ax88179_178a 4-2:1.0 enx7cc2c635515e: Error submitting the control message: status=-19 kernel: [14893.627585] ax88179_178a 4-2:1.0 enx7cc2c635515e: Error submitting the control message: status=-19 It is observable on 5.17.11 and doesn't look related to running a heavy load, it seems to happen in time intervals that vary between devices. I tested 2 adapters, one tended to disconnect every few hours, the other one disconnects once in a day. Also, device has a problem coming back up after it disconnects and toggles a bit: [100037.225952] usb 4-1: USB disconnect, device number 2 [100037.226439] ax88179_178a 4-1:1.0 enxf8e43b80d139: unregister 'ax88179_178a' usb-0000:00:14.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet [100037.226450] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to write reg index 0x0002: -19 [100037.226455] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to write reg index 0x0001: -19 [100037.226458] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to write reg index 0x0002: -19 [100037.226510] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to read reg index 0x0002: -19 [100037.226513] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to write reg index 0x0002: -19 [100037.531496] usb 4-1: new SuperSpeed USB device number 3 using xhci_hcd [100037.703722] usb 4-1: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 2.00 [100037.703726] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [100037.703727] usb 4-1: Product: AX88179A [100037.703728] usb 4-1: Manufacturer: ASIX [100037.703728] usb 4-1: SerialNumber: 0080D139 [100038.394197] ax88179_178a 4-1:1.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0040: -32 [100038.704714] ax88179_178a 4-1:1.0 eth0: register 'ax88179_178a' at usb-0000:00:14.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet, f8:e4:3b:80:d1:39 [100038.773929] ax88179_178a 4-1:1.0 enxf8e43b80d139: renamed from eth0 [100039.396235] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to read reg index 0x0040: -32 [100042.822300] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 1 [100043.023352] IPv6: ADDRCONF(NETDEV_CHANGE): enxf8e43b80d139: link becomes ready [100043.462257] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 0 [100047.174276] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 1 [100047.814228] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 0 [100051.722093] usb 4-1: USB disconnect, device number 3 [100051.722398] ax88179_178a 4-1:1.0 enxf8e43b80d139: unregister 'ax88179_178a' usb-0000:00:14.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet [100051.722411] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to write reg index 0x0002: -19 [100051.722416] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to write reg index 0x0001: -19 [100051.722419] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to write reg index 0x0002: -19 [100051.722474] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to read reg index 0x0002: -19 [100051.722478] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to write reg index 0x0002: -19 [100052.039253] usb 4-1: new SuperSpeed USB device number 4 using xhci_hcd [100052.212508] usb 4-1: New USB device found, idVendor=0b95, idProduct=1790, bcdDevice= 2.00 [100052.212520] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [100052.212524] usb 4-1: Product: AX88179A [100052.212527] usb 4-1: Manufacturer: ASIX [100052.212530] usb 4-1: SerialNumber: 0080D139 [100052.900188] ax88179_178a 4-1:1.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0040: -32 [100053.212308] ax88179_178a 4-1:1.0 eth0: register 'ax88179_178a' at usb-0000:00:14.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet, f8:e4:3b:80:d1:39 [100053.262050] ax88179_178a 4-1:1.0 enxf8e43b80d139: renamed from eth0 [100053.911274] ax88179_178a 4-1:1.0 enxf8e43b80d139: Failed to read reg index 0x0040: -32 [100057.286499] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 1 [100057.485854] IPv6: ADDRCONF(NETDEV_CHANGE): enxf8e43b80d139: link becomes ready [100057.926160] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 0 [100061.638255] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 1 [100062.278259] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 0 [100065.990274] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 1 [100066.502252] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 0 [100069.958248] ax88179_178a 4-1:1.0 enxf8e43b80d139: ax88179 - Link status is: 1 I too have the exact same issue on kernel 5.18.16-arch1-1. It seems loosely related to network load as it craps out even when lightly browsing, but consistently when I put some load on it. The same device on Windows 11 keeps chugging along even under load, so it is likely the driver at fault. Since I can get the device to stop working pretty consistently and within seconds, I might be able to debug this and hack on it a bit. But I could use some pointers as to how to go about this. Yes Ger, I observe the same issue (also running Arch). I found https://github.com/nothingstopsme/AX88179_178A_Linux_Driver which seems to contains quite a few fixes for the instabilities. Unfortunately it does not compile against 5.16 or even 5.18 kernels and the the author did not yet respond to my issue about getting his fixes upstream into the kernel - see https://github.com/nothingstopsme/AX88179_178A_Linux_Driver/issues/1 The latest ax_usb_nic driver seems to solve the stability issue for me. I was able to run the adapter a few days without disconnections, and it also does not crash under heavy load (iperf3 bidirectional test). The new driver can be downloaded at https://www.asix.com.tw/en/support/download Choose AX88179A (not AX88179) when you download the driver, and the version I downloaded was v1.0.0 release on 2022-07-26 (ASIX_USB_NIC_Linux_Driver_Source_v1.0.0_20220726.tar.bz2). The driver is intended for the newer AX88179A chip but it also works for the older AX88179 chip. I can directly compile it on kernel 5.15 (Ubuntu 22.04) without any additional modification. The compiled driver ax_usb_nic.ko works much better in terms of stability compared to the older ax88179_178a driver. One minor issue with the newer ax_usb_nic driver is that it does not support jumbo frames due to a minor bug. It can be easily fixed by adding a line "axdev->netdev->max_mtu = 4088;" to ax88179_bind() in ax88179_178a.c and then you can use MTU up to 4088. I can confirm this problem is still present. I'm on Fedora 5.19.11-300.fc37.x86_64 but the issue persists on the same kernel in F36 and the 5.19 version of Pop_OS. I have previously tried all kernels from 5.15 and up of these two distributions, as well as the current 5.15 on Ubuntu. The problem persists: ~~~ Oct 03 10:51:19 kepler kernel: ax88179_178a 2-2.2:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -32 . . . Oct 03 10:51:22 kepler kernel: ax88179_178a 2-2.2:2.0 enp0s20f0u2u2c2: Failed to write reg index 0x001f: -32 . . . Oct 03 10:51:23 kepler kernel: ax88179_178a 2-2.2:2.0 enp0s20f0u2u2c2: unregister 'ax88179_178a' usb-0000:00:14.0-2.2, ASIX AX88179 USB 3.0 Gigabit Ethernet Oct 03 10:51:23 kepler kernel: ax88179_178a 2-2.2:2.0 enp0s20f0u2u2c2: Failed to read reg index 0x0002: -19 Oct 03 10:51:23 kepler kernel: ax88179_178a 2-2.2:2.0 enp0s20f0u2u2c2: Failed to write reg index 0x0002: -19 Oct 03 10:51:23 kepler kernel: ax88179_178a 2-2.2:2.0 enp0s20f0u2u2c2 (unregistered): Failed to write reg index 0x0002: -19 . . . ~~~ I tried to compile the driver linked by Huan Zhang [here](https://bugzilla.kernel.org/show_bug.cgi?id=212731#c10), but it wouldn't compile and I looked elsewhere. I came across this: https://github.com/nothingstopsme/AX88179_178A_Linux_Driver This compiles perfectly, (make, sudo makeinstall) and after a reboot, the ethernet works fine. Can't we just have that driver in the kernel? Thanks. Can confirm that this issue is still present on Arch Linux 5.15.87-1-lts to this day. [ 596.602123] ax88179_178a 2-2.2:1.0 enp0s20f0u2u2: ax88179 - Link status is: 0 [ 602.878181] audit: type=1130 audit(1673860732.636:323): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' [ 608.122090] ax88179_178a 2-2.2:1.0 enp0s20f0u2u2: ax88179 - Link status is: 1 [ 612.945112] audit: type=1131 audit(1673860742.706:324): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' OP here, and I can say that since kernel 5.18 the ASIX chip works fine out of the box. Hey! It's me the OP! :D But I didn't check the situation with ASIX for a long time and my adapters lie buried somewhere in cardboard boxes... This issue is still present on Ubuntu 5.19.0-35-generic [Fri Mar 24 10:21:15 2023] ax88179_178a 2-1.4:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0006: -32 [Fri Mar 24 10:21:15 2023] ax88179_178a 2-1.4:2.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0005: -32 Switching to the driver at https://github.com/nothingstopsme/AX88179_178A_Linux_Driver resolved the issue for me I saw this on a system with an Ubuntu 5.19.0-45-generic kernel. As well as finding this thread, I have also seen that there is a fix for this issue mentioned here: https://github.com/FreddyXin/ax88179_178a/issues/6 which suggests a module loading order being the cause. The "running" fix there is rmmod ax88179_178a modprobe cdc_mbim and that, and a replug of the adaptor worked for me. A "permanent" fix given there was echo "softdep ax88179_178a pre: cdc_mbim" > \ /etc/modprobe.d/ax88179_178a-fix.conf Note that this is issue appears fixed in 6.0+, I'm successfully using it without issues under Debian 11 with 6.0 and Debian 12 with 6.1. (In reply to Francesco Lovergine from comment #17) > Note that this is issue appears fixed in 6.0+, I'm successfully using it > without issues under Debian 11 with 6.0 and Debian 12 with 6.1. I'm on Linux 6.1.31 (NixOS 23.05) and still see the disconnects, about once a day for the last week. That's not even with heavy load. Prior to that version I was on 5.15.x and also had similar random disconnects. For what it's worth, the running module under 6.1 is now cdc_ether and it works at least with an adapter like: ~~~ Bus 004 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet (In reply to Francesco Lovergine from comment #19) > For what it's worth, the running module under 6.1 is now cdc_ether and it > works at least with an adapter like: > > ~~~ > Bus 004 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit > Ethernet Weird. I have the same VID:PID but the active driver isn't cdc_ether, its ax88179_178a: $ ls -l /sys/class/net/enp0s20u2/device/driver/module lrwxrwxrwx 1 root root 0 Jun 26 12:44 /sys/class/net/enp0s20u2/device/driver/module -> ../../../../module/ax88179_178a (In reply to Kevin Buckley from comment #16) > A "permanent" fix given there was > > echo "softdep ax88179_178a pre: cdc_mbim" > \ > /etc/modprobe.d/ax88179_178a-fix.conf I can confirm that it works: I've been running with it for 5 days without any USB disconnects. Unless anyone has a better idea for a fix, how about applying this patch to Linux? diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c index aff39bf3161d..20ff733c498a 100644 --- a/drivers/net/usb/ax88179_178a.c +++ b/drivers/net/usb/ax88179_178a.c @@ -1915,3 +1915,4 @@ module_usb_driver(ax88179_178a_driver); MODULE_DESCRIPTION("ASIX AX88179/178A based USB 3.0/2.0 Gigabit Ethernet Devices"); MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: cdc_mbim"); (In reply to bjorn.forsman from comment #21) > (In reply to Kevin Buckley from comment #16) > > A "permanent" fix given there was > > > > echo "softdep ax88179_178a pre: cdc_mbim" > \ > > /etc/modprobe.d/ax88179_178a-fix.conf > > I can confirm that it works: I've been running with it for 5 days without > any USB disconnects. Talk about funny timing: After I send that message, I go back to debug some more and find that I got an "USB disconnect" while I was posting. |