Я пытаюсь уменьшить скорость соединения на моем USB-адаптере Wi-Fi Atheros TP-Link TL-WN821N v3 из-за частых проблем с нестабильностью (зарегистрированная скорость соединения падает до 1 Мбит/с, и мне приходится физически переподключать адаптер, чтобы восстановить соединение). Я знаю, что это распространенная проблема с этим устройством, и я перепробовал все, что только мог придумать, чтобы исправить ее, включая использование драйверов из linux-backports; компиляцию и установку пользовательской прошивки (следуя инструкциям наhttps://wiki.debian.org/ath9k_htc#fw-free) и (в крайнем случае) с помощью ndiswrapper.
При использовании ndiswrapper адаптер Wi-Fi работает стабильно и в режиме g на скорости 54 Мбит/с (тогда как при использовании модуля ath9k_htc по умолчанию адаптер подключается в режиме n, и скорость передачи данных постоянно колеблется). К сожалению, при такой настройке мне приходится запускать процессор, используя только одно ядро, поскольку использование SMP с ndiswrapper приводит к ошибке ядра в моей системе.
Поэтому я хочу зафиксировать битрейт на уровне 54 Мбит/с (или ниже, если необходимо) для стабильности соединения, используя модуль ath9k_htc.
Я попробовал «sudo iwconfig wlan0 rate 54M»; команда выполняется без ошибок, но когда я проверяю скорость передачи данных с помощью «sudo iwlist wlan0 bitrate», команда возвращает:
wlan0 unknown bit-rate information.
Current Bit Rate:78 Mb/s
Есть идеи? Вот некоторая информация (надеюсь, релевантная) о моей настройке:
Xubuntu (12.04.3) 64bit (kernel 3.2.0-55.85-generic) с использованием Network Manager. Мой маршрутизатор от 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 и, возможно, с более поздними ядрами.
Цитатаbefinitiv
Вы найдете предварительно скомпилированную прошивку, которая использует MCS3 (26 Мбит/с) в качестве скорости инъекции в patches/AR9271/firmware/htc_9271.fw. Скопируйте этот файл в /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
перед установлением соединения