lwfinger/rtl8852au

TX20U Plus appears to become unresponsive when given a workout

Opened this issue · 1 comments

Hi there, just bought a TP-Link TX20U Plus (USB ID 2537:013f) and trying to get it running with this driver (on Ubuntu 23.10 using dkms), though noticing weird behaviour:

  • status LED never lights up,
  • systemd seems to trip over systemd-networkd-wait-online.service on startup when it is plugged in,
  • appears to choke and becomes unresponsive when you pump traffic through it, and won't work again without a reboot.

I'm just giving a gloss here because at this juncture I'm trying to determine if it's the hardware itself that's a dud.

For one, is there a reason, while using this driver, to expect the status light not to come on? Because it never has.
Also, when it finally boots, I see an error on the console index 9 is out of range for u8 [8]. Is that normal?

Note: I am using this device with hostapd on an old Dell laptop, if that makes any difference, but I tried it on a new Framework laptop as well and it behaved the same (i.e., no status LED).

Any insight is appreciated; if it's not obviously a hardware issue I can go dig out the logs. Thanks in advance.


Updated with kernel log excerpt:

2024-04-14T07:42:26.972699-04:00 deuce kernel: [  197.926894] ================================================================================
2024-04-14T07:42:26.972752-04:00 deuce kernel: [  197.927056] UBSAN: array-index-out-of-bounds in /var/lib/dkms/rtl8852au/1.15.0.1/build/phl/hal_g6/mac/mac_ax/trx_desc.c:184:3
2024-04-14T07:42:26.972783-04:00 deuce kernel: [  197.927182] index 9 is out of range for type 'u8 [8]'
2024-04-14T07:42:26.977130-04:00 deuce kernel: [  197.927243] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G           OE      6.5.0-27-generic #28-Ubuntu
2024-04-14T07:42:26.977165-04:00 deuce kernel: [  197.927254] Hardware name: Dell Inc. Inspiron 1420                   /0DT492, BIOS A00 05/23/2007
2024-04-14T07:42:26.977172-04:00 deuce kernel: [  197.927259] Call Trace:
2024-04-14T07:42:26.977179-04:00 deuce kernel: [  197.927266]  <IRQ>
2024-04-14T07:42:26.977187-04:00 deuce kernel: [  197.927274]  dump_stack_lvl+0x48/0x70
2024-04-14T07:42:26.977193-04:00 deuce kernel: [  197.927297]  dump_stack+0x10/0x20
2024-04-14T07:42:26.977200-04:00 deuce kernel: [  197.927304]  __ubsan_handle_out_of_bounds+0xc6/0x110
2024-04-14T07:42:26.977206-04:00 deuce kernel: [  197.927318]  txdes_proc_data+0x5c7/0x5d0 [8852au]
2024-04-14T07:42:26.977212-04:00 deuce kernel: [  197.927933]  mac_build_txdesc+0x72/0x90 [8852au]
2024-04-14T07:42:26.977218-04:00 deuce kernel: [  197.928478]  rtw_hal_mac_ax_fill_txdesc+0x4c/0x70 [8852au]
2024-04-14T07:42:26.977224-04:00 deuce kernel: [  197.929018]  hal_fill_wd_8852au+0x15/0x30 [8852au]
2024-04-14T07:42:26.977230-04:00 deuce kernel: [  197.929548]  rtw_hal_fill_wd+0x34/0x50 [8852au]
2024-04-14T07:42:26.977238-04:00 deuce kernel: [  197.930104]  _phl_prepare_tx_usb+0x64/0x180 [8852au]
2024-04-14T07:42:26.977244-04:00 deuce kernel: [  197.930636]  _phl_tx_callback_usb+0x233/0x540 [8852au]
2024-04-14T07:42:26.977250-04:00 deuce kernel: [  197.930691]  tasklet_action_common.isra.0+0xfd/0x1e0
2024-04-14T07:42:26.977256-04:00 deuce kernel: [  197.930691]  ? usb_hcd_irq+0x2c/0x50
2024-04-14T07:42:26.977262-04:00 deuce kernel: [  197.930691]  tasklet_hi_action+0x1f/0x30
2024-04-14T07:42:26.977270-04:00 deuce kernel: [  197.930691]  __do_softirq+0xd9/0x346
2024-04-14T07:42:26.977276-04:00 deuce kernel: [  197.930691]  __irq_exit_rcu+0x75/0xa0
2024-04-14T07:42:26.977282-04:00 deuce kernel: [  197.930691]  irq_exit_rcu+0xe/0x20
2024-04-14T07:42:26.977289-04:00 deuce kernel: [  197.930691]  common_interrupt+0xa4/0xb0
2024-04-14T07:42:26.977296-04:00 deuce kernel: [  197.930691]  </IRQ>
2024-04-14T07:42:26.977302-04:00 deuce kernel: [  197.930691]  <TASK>
2024-04-14T07:42:26.977310-04:00 deuce kernel: [  197.930691]  asm_common_interrupt+0x27/0x40
2024-04-14T07:42:26.977316-04:00 deuce kernel: [  197.930691] RIP: 0010:cpuidle_enter_state+0xda/0x730
2024-04-14T07:42:26.977323-04:00 deuce kernel: [  197.930691] Code: e4 03 ff e8 a8 f5 ff ff 8b 53 04 49 89 c7 0f 1f 44 00 00 31 ff e8 66 8d 02 ff 80 7d d0 00 0f 85 61 02 00 00 fb 0f 1f 44 00 00 <45> 85 f6 0f 88 f7 01 00 00 4d 63 ee 49 83 fd 0a 0f 83 17 05 00 00
2024-04-14T07:42:26.977330-04:00 deuce kernel: [  197.930691] RSP: 0018:ffffffff88a03db8 EFLAGS: 00000246
2024-04-14T07:42:26.977337-04:00 deuce kernel: [  197.930691] RAX: 0000000000000000 RBX: ffff8de83c23e528 RCX: 0000000000000000
2024-04-14T07:42:26.977343-04:00 deuce kernel: [  197.930691] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
2024-04-14T07:42:26.977350-04:00 deuce kernel: [  197.930691] RBP: ffffffff88a03e08 R08: 0000000000000000 R09: 0000000000000000
2024-04-14T07:42:26.977357-04:00 deuce kernel: [  197.930691] R10: 0000000000000000 R11: 0000000000000000 R12: ffffffff88cd2720
2024-04-14T07:42:26.977363-04:00 deuce kernel: [  197.930691] R13: 0000000000000003 R14: 0000000000000003 R15: 0000002e1559677c
2024-04-14T07:42:26.977370-04:00 deuce kernel: [  197.930691]  ? cpuidle_enter_state+0x33c/0x730
2024-04-14T07:42:26.977379-04:00 deuce kernel: [  197.930691]  cpuidle_enter+0x2e/0x50
2024-04-14T07:42:26.977385-04:00 deuce kernel: [  197.930691]  call_cpuidle+0x23/0x60
2024-04-14T07:42:26.977392-04:00 deuce kernel: [  197.930691]  cpuidle_idle_call+0x11d/0x190
2024-04-14T07:42:26.977398-04:00 deuce kernel: [  197.930691]  do_idle+0x82/0xf0
2024-04-14T07:42:26.977405-04:00 deuce kernel: [  197.930691]  cpu_startup_entry+0x2a/0x30
2024-04-14T07:42:26.977412-04:00 deuce kernel: [  197.930691]  rest_init+0xde/0x100
2024-04-14T07:42:26.977420-04:00 deuce kernel: [  197.930691]  ? acpi_enable_subsystem+0xe6/0x2a0
2024-04-14T07:42:26.977426-04:00 deuce kernel: [  197.930691]  ? static_key_disable+0x1f/0x30
2024-04-14T07:42:26.977433-04:00 deuce kernel: [  197.930691]  arch_call_rest_init+0xe/0x30
2024-04-14T07:42:26.977439-04:00 deuce kernel: [  197.930691]  start_kernel+0x34f/0x440
2024-04-14T07:42:26.977446-04:00 deuce kernel: [  197.930691]  x86_64_start_reservations+0x18/0x30
2024-04-14T07:42:26.977453-04:00 deuce kernel: [  197.930691]  x86_64_start_kernel+0xbf/0x110
2024-04-14T07:42:26.977460-04:00 deuce kernel: [  197.930691]  secondary_startup_64_no_verify+0x190/0x19b
2024-04-14T07:42:26.977466-04:00 deuce kernel: [  197.930691]  </TASK>
2024-04-14T07:42:26.977473-04:00 deuce kernel: [  197.930691] ================================================================================

It is common for the vendor driver to disable the LED as most users do not want to waste the power needed to operate it. This driver differs in that if the LEDs are enabled in file include/autoconf.h, the build fails as many LED definitions are missing.

That "UBSAN: array-index-out-of-bounds" out of bounds message is not usual; however, the kernel only recently began enforcing that kind of check. I have fixed that one.

This driver does nothing with systemd. Perhaps the message is arising from the dkms configuration, which is also not part of this driver.