![WiFi 比使用 ath9k 的 Windows 慢一个数量级](https://linux22.com/image/206556/WiFi%20%E6%AF%94%E4%BD%BF%E7%94%A8%20ath9k%20%E7%9A%84%20Windows%20%E6%85%A2%E4%B8%80%E4%B8%AA%E6%95%B0%E9%87%8F%E7%BA%A7.png)
我在 Ubuntu 22.04 上使用 AR9485WB-EG 无线卡,传输速度非常糟糕 — 从 0.3 到 12 Mbps,而在相同硬件和测试条件下运行的 Windows 7 则为 30 到 50 Mbps。在 Windows 中速度提高了 3 倍到 160 倍...
与此同时,我的手机在相同条件下的速度为 60 Mbps。
经过多天多次测试,结果始终一致。我使用互联网速度测试服务,但我确保通过同一 WiFi 接入点进行的有线测量始终稳定为 95 Mbps。
该卡正在使用ath9k
。
能否使该卡正常工作?
sudo dmesg -t --level=alert,crit,err,warn
MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
#3
pmd_set_huge: Cannot satisfy [mem 0xf8000000-0xf8200000] with a huge-page mapping due to MTRR override.
ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ACPI Error: Needed type [Reference], found [Integer] 00000000b4ad9c1e (20210730/exresop-66)
ACPI Error: AE_AML_OPERAND_TYPE, While resolving operands for [Store] (20210730/dswexec-431)
No Local Variables are initialized for Method [_PDC]
Initialized Arguments for Method [_PDC]: (1 arguments defined for method invocation)
Arg0: 00000000aafce792 <Obj> Buffer(12) 01 00 00 00 01 00 00 00
ACPI Error: Aborting method \_PR.CPU0._PDC due to previous error (AE_AML_OPERAND_TYPE) (20210730/psparse-529)
device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.
platform eisa.0: EISA: Cannot allocate resource for mainboard
platform eisa.0: Cannot allocate resource for EISA slot 1
platform eisa.0: Cannot allocate resource for EISA slot 2
platform eisa.0: Cannot allocate resource for EISA slot 3
platform eisa.0: Cannot allocate resource for EISA slot 4
platform eisa.0: Cannot allocate resource for EISA slot 5
platform eisa.0: Cannot allocate resource for EISA slot 6
platform eisa.0: Cannot allocate resource for EISA slot 7
platform eisa.0: Cannot allocate resource for EISA slot 8
efifb: Ignoring BGRT: unexpected or invalid BMP data
ata2.00: failed to resume link (SControl 30)
ata2.01: failed to resume link (SControl 30)
ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042F conflicts with OpRegion 0x0000000000000400-0x000000000000044F (\GPIS) (20210730/utaddress-204)
ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042F conflicts with OpRegion 0x0000000000000400-0x000000000000047F (\PMIO) (20210730/utaddress-204)
ACPI Warning: SystemIO range 0x0000000000000540-0x000000000000054F conflicts with OpRegion 0x0000000000000500-0x000000000000057F (\GPIO) (20210730/utaddress-204)
ACPI Warning: SystemIO range 0x0000000000000540-0x000000000000054F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GP01) (20210730/utaddress-204)
ACPI Warning: SystemIO range 0x0000000000000530-0x000000000000053F conflicts with OpRegion 0x0000000000000500-0x000000000000057F (\GPIO) (20210730/utaddress-204)
ACPI Warning: SystemIO range 0x0000000000000530-0x000000000000053F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GP01) (20210730/utaddress-204)
ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052F conflicts with OpRegion 0x0000000000000500-0x000000000000057F (\GPIO) (20210730/utaddress-204)
ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GP01) (20210730/utaddress-204)
lpc_ich: Resource conflict(s) found affecting gpio_ich
at24 0-0050: supply vcc not found, using dummy regulator
at24 0-0052: supply vcc not found, using dummy regulator
kauditd_printk_skb: 29 callbacks suppressed
================================================================================
UBSAN: invalid-load in /build/linux-MLl0vf/linux-5.15.0/net/mac80211/status.c:1164:21
load of value 255 is not a valid value for type '_Bool'
CPU: 3 PID: 0 Comm: swapper/3 Not tainted 5.15.0-33-generic #34-Ubuntu
Hardware name: ASUSTeK COMPUTER INC. K55A/K55A, BIOS K55A.204 03/13/2012
Call Trace:
<IRQ>
show_stack+0x52/0x58
dump_stack_lvl+0x4a/0x5f
dump_stack+0x10/0x12
ubsan_epilogue+0x9/0x45
__ubsan_handle_load_invalid_value.cold+0x44/0x49
ieee80211_tx_status_ext.cold+0x4e/0x5f [mac80211]
ieee80211_tx_status+0x72/0xa0 [mac80211]
ath_txq_unlock_complete+0x12d/0x160 [ath9k]
ath_tx_edma_tasklet+0xef/0x4c0 [ath9k]
? del_timer_sync+0x6c/0xb0
ath9k_tasklet+0x14e/0x290 [ath9k]
tasklet_action_common.constprop.0+0xc0/0xf0
tasklet_action+0x22/0x30
__do_softirq+0xd9/0x2e3
irq_exit_rcu+0x8c/0xb0
common_interrupt+0x8a/0xa0
</IRQ>
<TASK>
asm_common_interrupt+0x1e/0x40
RIP: 0010:cpuidle_enter_state+0xd9/0x620
Code: 3d f4 4b 9e 5b e8 07 ae 6c ff 49 89 c7 0f 1f 44 00 00 31 ff e8 58 ba 6c ff 80 7d d0 00 0f 85 5d 01 00 00 fb 66 0f 1f 44 00 00 <45> 85 f6 0f 88 69 01 00 00 4d 63 ee 49 83 fd 09 0f 87 e3 03 00 00
RSP: 0000:ffffaf9e800b7e28 EFLAGS: 00000246
RAX: ffff9d9a56fb0f00 RBX: ffffcf9e7fd80000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000000
RBP: ffffaf9e800b7e78 R08: 0000000ecbd14cf1 R09: 0000000000026160
R10: 0000000000000006 R11: 071c71c71c71c71c R12: ffffffffa5cd36c0
R13: 0000000000000002 R14: 0000000000000002 R15: 0000000ecbd14cf1
? cpuidle_enter_state+0xc8/0x620
cpuidle_enter+0x2e/0x40
cpuidle_idle_call+0x13e/0x1e0
do_idle+0x83/0xf0
cpu_startup_entry+0x20/0x30
start_secondary+0x12a/0x180
secondary_startup_64_no_verify+0xc2/0xcb
</TASK>
================================================================================
答案1
根据 Artem S. Tashkinov 的建议,更新内核似乎已经解决了这个问题。现在速度快了 10 倍,与 Windows 相当。
作为常规 Ubuntu 更新的一部分,从 5.15.0-33 更新到 5.15.0-35 似乎已经解决了该问题。
ath9k
上面提到了三个https://launchpad.net/ubuntu/+source/linux/5.15.0-35.36+22.10.1,但我不确定这些项目与问题的相关性如何。