由于经常出现不稳定问题(报告的连接速度降至 1Mb/s,我必须重新连接适配器才能重新获得连接),我正尝试降低 Atheros TP-Link TL-WN821N v3 usb wifi 适配器的连接比特率。我知道这是此设备的常见问题,我尝试了所有能想到的方法来修复它,包括使用来自 linux-backports 的驱动程序;编译和安装自定义固件(按照https://wiki.debian.org/ath9k_htc#fw-free) 并且(作为最后的手段)使用 ndiswrapper。
使用 ndiswrapper 时,wifi 适配器稳定,以 54Mb/s 的速度在 g 模式下运行(而使用默认的 ath9k_htc 模块时,适配器以 n 模式连接,比特率不断波动)。不幸的是,使用此设置,我必须仅使用一个核心来运行我的处理器,因为使用 ndiswrapper 的 SMP 会导致我的系统出现内核错误。
因此,为了实现连接稳定性,我想使用 ath9k_htc 模块将比特率锁定为 54Mb/s(如果需要,可以更低)。
我已尝试“sudo iwconfig wlan0 rate 54M”;该命令运行时没有错误,但是当我使用“sudo iwlist wlan0 bitrate”检查比特率时,命令返回:
wlan0 unknown bit-rate information.
Current Bit Rate:78 Mb/s
有什么想法吗?以下是有关我的设置的一些信息(希望相关):
Xubuntu (12.04.3) 64 位 (内核 3.2.0-55.85-generic) 使用网络管理器。我的路由器来自 Virgin Media,型号为 VMDG480。
lshw -C network :
*-network
description: Wireless interface
physical id: 1
bus info: usb@1:4
logical name: wlan0
serial: 74:ea:3a:8f:16:b6
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=ath9k_htc driverversion=3.2.0-55 firmware=1.3 ip=192.168.0.9 link=yes multicast=yes wireless=IEEE 802.11bgn
lsusb -v:
Bus 001 Device 003: ID 0cf3:7015 Atheros Communications, Inc. TP-Link TL-WN821N v3 802.11n [Atheros AR7010+AR9287]
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
idVendor 0x0cf3 Atheros Communications, Inc.
idProduct 0x7015 TP-Link TL-WN821N v3 802.11n [Atheros AR7010+AR9287]
bcdDevice 2.02
iManufacturer 16 ATHEROS
iProduct 32 UB95
iSerial 48 12345
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 60
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 6
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
iwlist wlan0 scanning:
wlan0 Scan completed :
Cell 01 - Address: C4:3D:C7:3A:1F:5D
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=37/70 Signal level=-73 dBm
Encryption key:on
ESSID:"my essid"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
24 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=00000070cca77186
Extra: Last beacon: 5588ms ago
IE: Unknown: 0007756E69636F726E
IE: Unknown: 010882848B962430486C
IE: Unknown: 030101
IE: Unknown: 2A0100
IE: Unknown: 2F0100
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: Unknown: 32040C121860
IE: Unknown: 2D1AFC181BFFFF000000000000000000000000000000000000000000
IE: Unknown: 3D1601080400000000000000000000000000000000000000
IE: Unknown: DD7E0050F204104A0001101044000102103B00010310470010F99C335D7BAC57FB00137DFA79600220102100074E657467656172102300074E6574676561721024000631323334353610420007303030303030311054000800060050F20400011011000743473331303144100800022008103C0001011049000600372A000120
IE: Unknown: DD090010180203F02C0000
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00
iwconfig:
lo no wireless extensions.
wlan0 IEEE 802.11bgn ESSID:"my essid"
Mode:Managed Frequency:2.412 GHz Access Point: C4:3D:C7:3A:1F:5D
Bit Rate=78 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=36/70 Signal level=-74 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0,
答案1
我没有这个硬件,所以无法测试,不过,速率似乎由固件决定。有修补的固件这里它应该可以与内核 3.2.0-55.85-generic 以及更高版本的内核兼容。
引用确定性
您可以在 patches/AR9271/firmware/htc_9271.fw 下找到一个使用 MCS3 (26mbit/s) 作为注入速率的预编译固件。将此文件复制到 /lib/firmware 并重新插入卡以使用修改后的固件。如果您想使用不同的注入速率编译固件,您可以查看我提供的补丁。最简单的方法是将列表中的第一行替换为所需注入速率的副本。编译 Linux 固件的说明在固件仓库。
安装固件后,只需重新插入 USB 适配器即可使用它。
资料来源:
https://github.com/qca/open-ath9k-htc-firmware/blob/master/README
編輯:如@pandalion98指出此评论正在讨论的补丁可以找到这里。
答案2
改用 iw:
iw wlan0 set bitrates legacy-2.4 9
在建立连接之前