Не удается контролировать битрейт соединения с помощью iwconfig с Atheros TL-WN821N (AR7010)

Вопрос или проблема

Я пытаюсь уменьшить битрейт подключения на своем usb wifi адаптере Atheros TP-Link TL-WN821N v3 из-за частых проблем с нестабильностью (заявленная скорость подключения падает до 1 Мб/с, и мне приходится физически переподключать адаптер, чтобы восстановить соединение). Я знаю, что это распространенная проблема с этим устройством, и я пробовал все, что мог придумать, чтобы это исправить, включая использование драйверов из linux-backports; компиляцию и установку пользовательской прошивки (следуя инструкциям на https://wiki.debian.org/ath9k_htc#fw-free) и (в качестве последнего средства) использование ndiswrapper.

При использовании ndiswrapper wifi адаптер стабилен и работает в g режиме на 54 Мб/с (в то время как при использовании стандартного модуля ath9k_htc адаптер подключается в n режиме, а битрейт постоянно колеблется). К сожалению, с этой настройкой я вынужден запускать свой процессор, используя только одно ядро, так как использование SMP с ndiswrapper вызывает ошибку ядра в моей системе.

Поэтому я хочу зафиксировать свой битрейт на 54 Мб/с (или меньше, если нужно) для стабильности соединения, используя модуль ath9k_htc.

Я пробовал ‘sudo iwconfig wlan0 rate 54M’; команда выполняется без ошибок, но когда я проверяю битрейт с помощью ‘sudo iwlist wlan0 bitrate’, команда возвращает:

wlan0 неизвестная информация о битрейте. 
          Текущий битрейт: 78 Мб/с

Есть какие-либо идеи? Вот некоторая информация (надеюсь, актуальная) о моей настройке:

Xubuntu (12.04.3) 64bit (ядро 3.2.0-55.85-generic) с использованием Network Manager. Мой маршрутизатор от Virgin Media, VMDG480.

lshw -C network :

  *-network               
       описание: Беспроводной интерфейс 
       физический id: 1 
       информация шины: usb@1:4 
       логическое имя: wlan0 
       серийный номер: 74:ea:3a:8f:16:b6 
       возможности: ethernet physical wireless 
       конфигурация: 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] 
Описание устройства: 
  bLength                18 
  bDescriptorType         1 
  bcdUSB               2.00 
  bDeviceClass          255 Специфический класс поставщика 
  bDeviceSubClass       255 Специфический подкласс поставщика 
  bDeviceProtocol       255 Специфический протокол поставщика 
  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 
  Описание конфигурации: 
    bLength                 9 
    bDescriptorType         2 
    wTotalLength           60 
    bNumInterfaces          1 
    bConfigurationValue     1 
    iConfiguration          0 
    bmAttributes         0x80 
      (Питание от шины) 
    MaxPower              500mA 
    Описание интерфейса: 
      bLength                 9 
      bDescriptorType         4 
      bInterfaceNumber        0 
      bAlternateSetting       0 
      bNumEndpoints           6 
      bInterfaceClass       255 Специфический класс поставщика 
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Описание конечной точки: 
        bLength                 7 
        bDescriptorType         5 
        bEndpointAddress     0x01  EP 1 OUT 
        bmAttributes            2 
          Тип передачи            Bulk 
          Тип синхронизации       None 
          Тип использования         Data 
        wMaxPacketSize     0x0200  1x 512 байт 
        bInterval               0 
      Описание конечной точки: 
        bLength                 7 
        bDescriptorType         5 
        bEndpointAddress     0x82  EP 2 IN 
        bmAttributes            2 
          Тип передачи            Bulk 
          Тип синхронизации       None 
          Тип использования         Data 
        wMaxPacketSize     0x0200  1x 512 байт 
        bInterval               0 
      Описание конечной точки: 
        bLength                 7 
        bDescriptorType         5 
        bEndpointAddress     0x83  EP 3 IN 
        bmAttributes            3 
          Тип передачи            Interrupt 
          Тип синхронизации       None 
          Тип использования         Data 
        wMaxPacketSize     0x0040  1x 64 байта 
        bInterval               1 
      Описание конечной точки: 
        bLength                 7 
        bDescriptorType         5 
        bEndpointAddress     0x04  EP 4 OUT 
        bmAttributes            3 
          Тип передачи            Interrupt 
          Тип синхронизации       None 
          Тип использования         Data 
        wMaxPacketSize     0x0040  1x 64 байта 
        bInterval               1 
      Описание конечной точки: 
        bLength                 7 
        bDescriptorType         5 
        bEndpointAddress     0x05  EP 5 OUT 
        bmAttributes            2 
          Тип передачи            Bulk 
          Тип синхронизации       None 
          Тип использования         Data 
        wMaxPacketSize     0x0200  1x 512 байт 
        bInterval               0 
      Описание конечной точки: 
        bLength                 7 
        bDescriptorType         5 
        bEndpointAddress     0x06  EP 6 OUT 
        bmAttributes            2 
          Тип передачи            Bulk 
          Тип синхронизации       None 
          Тип использования         Data 
        wMaxPacketSize     0x0200  1x 512 байт 
        bInterval               0 
Квалификатор устройства (для другой скорости устройства): 
  bLength                10 
  bDescriptorType         6 
  bcdUSB               2.00 
  bDeviceClass          255 Специфический класс поставщика 
  bDeviceSubClass       255 Специфический подкласс поставщика 
  bDeviceProtocol       255 Специфический протокол поставщика 
  bMaxPacketSize0        64 
  bNumConfigurations      1 
Статус устройства:     0x0000 
  (Питание от шины)
iwlist wlan0 scanning:

wlan0     Сканирование завершено : 
          Ячейка 01 - Адрес: C4:3D:C7:3A:1F:5D 
                    Канал:1 
                    Частота:2.412 GHz (Канал 1) 
                    Качество=37/70  Уровень сигнала=-73 dBm  
                    Ключ шифрования:включен 
                    ESSID:"мой essid" 
                    Битрейты:1 Мб/с; 2 Мб/с; 5.5 Мб/с; 11 Мб/с; 18 Мб/с 
                              24 Мб/с; 36 Мб/с; 54 Мб/с 
                    Битрейты:6 Мб/с; 9 Мб/с; 12 Мб/с; 48 Мб/с 
                    Режим:Мастер 
                    Дополнительно:tsf=00000070cca77186 
                    Дополнительно: Последний маяк: 5588ms назад 
                    IE: Неизвестно: 0007756E69636F726E 
                    IE: Неизвестно: 010882848B962430486C 
                    IE: Неизвестно: 030101 
                    IE: Неизвестно: 2A0100 
                    IE: Неизвестно: 2F0100 
                    IE: IEEE 802.11i/WPA2 Версия 1 
                        Групповая шифра : TKIP 
                        Парные шифры (2) : CCMP TKIP 
                        Наборы аутентификации (1) : PSK 
                    IE: Неизвестно: 32040C121860 
                    IE: Неизвестно: 2D1AFC181BFFFF000000000000000000000000000000000000000000 
                    IE: Неизвестно: 3D1601080400000000000000000000000000000000000000 
                    IE: Неизвестно: DD7E0050F204104A0001101044000102103B00010310470010F99C335D7BAC57FB00137DFA79600220102100074E657467656172102300074E6574676561721024000631323334353610420007303030303030311054000800060050F20400011011000743473331303144100800022008103C0001011049000600372A000120 
                    IE: Неизвестно: DD090010180203F02C0000 
                    IE: WPA Версия 1 
                        Групповая шифра : TKIP 
                        Парные шифры (2) : CCMP TKIP 
                        Наборы аутентификации (1) : PSK 
                    IE: Неизвестно: DD180050F2020101800003A4000027A4000042435E0062322F00
iwconfig:

lo        нет беспроводных расширений. 

wlan0     IEEE 802.11bgn  ESSID:"мой essid"  
          Режим:Управляемый  Частота:2.412 GHz  Точка доступа: C4:3D:C7:3A:1F:5D   
          Битрейт=78 Мб/с   Tx-Power=20 dBm   
          Ограничение повторов: 7   RTS thr:off   Fragment thr:off 
          Управление питанием:off 
          Качество соединения=36/70  Уровень сигнала=-74 dBm  
          Неправильный nwid:0  Неправильное шифрование:0  Неправильный фрагмент:0 
          Чрезмерные повторы передачи:0  Неверные разнообразные:0   Пропущенные маяки:0,

У меня нет этого оборудования, поэтому я не могу протестировать, однако, похоже, что скорость определяется прошивкой. Есть исправленная прошивка здесь, которая должна работать с ядром 3.2.0-55.85-generic и, возможно, с более поздними ядрами тоже.

Цитируя befinitiv

Вы находите предварительно скомпилированную прошивку, которая использует MCS3 (26 мбит/с) в качестве скорости инъекции под patches/AR9271/firmware/htc_9271.fw. Скопируйте этот файл в /lib/firmware и повторно вставьте карту, чтобы использовать измененную прошивку. Если вы хотите скомпилировать прошивку с другой скоростью инъекции, вы можете взглянуть на патч, который я предоставил. Самый простой способ – заменить первую строку в списке копией желаемой скорости инъекции. Инструкции по компиляции прошивки для Linux приведены в репозитории прошивки.

После установки прошивки просто повторно подключите USB-адаптер, чтобы использовать его.

Источники:

https://befinitiv.wordpress.com/2015/02/22/finding-the-right-wifi-dongle-and-patching-its-kernel-driver-and-firmware/

https://github.com/qca/open-ath9k-htc-firmware/blob/master/README

Редактировать: Как указывает @pandalion98 в этом комментарии, обсуждаемый патч можно найти здесь.

Используйте iw вместо этого:

iw wlan0 set bitrates legacy-2.4 9

перед установлением соединения

Ответ или решение

К сожалению, управлять битрейтом соединения с помощью iwconfig для вашего адаптера TP-Link TL-WN821N v3 (основанного на чипсете Atheros AR7010) может быть сложно. Это связано с тем, что многие адаптеры, включая ваш, используют драйвер ath9k_htc, которые не всегда поддерживают явное управление битрейтом на уровне, желаемом вами.

Проблема и Решения

Описание проблемы

Вы столкнулись с нестабильностью соединения, когда скорость подключения падает до 1 Мбит/с, и требуется физическое переподключение адаптера. Вы пробовали различные драйверы и подходы, включая использование ndiswrapper, что привело к незначительному улучшению, но с препятствиями в виде ошибок ядра.

Изменение битрейта

Попытка установить битрейт с помощью команды sudo iwconfig wlan0 rate 54M не приводит к ожидаемым результатам, поскольку вы не можете заморозить битрейт в ath9k_htc. Вместо этого советую использовать более современный инструмент — iw.

Использование iw для управления битрейтом

Попробуйте установить битрейт с помощью iw. Введите следующую команду перед подключением к сети:

sudo iw wlan0 set bitrates legacy-2.4 54

Эта команда устанавливает максимум битрейта для сети 2.4 ГГц. Однако важно помнить, что изменение битрейта не всегда гарантирует стабильность соединения, особенно если сигнал от вашего маршрутизатора нестабилен.

Firmware и поддержка

Ваше обращение к альтернативным прошивкам и драйверам имеет смысл. Рассмотрите возможность использования прошивки из репозитория open-ath9k-htc-firmware, как вы уже упомянули. Замена стандартной прошивки на более стабильную версию может значительно улучшить производительность вашего адаптера.

  1. Загрузите прошивку из репозитория.
  2. Скопируйте прошивку в директорию /lib/firmware.
  3. Перезагрузите или перезапустите адаптер командой sudo rmmod ath9k_htc && sudo modprobe ath9k_htc.

Заключение

Чтобы повысить стабильность соединения с вашим адаптером TP-Link TL-WN821N v3, рекомендуем использовать комбинацию:

  • iw для управления битрейтом
  • Нормализированную, исправленную прошивку

Если указанные шаги не решат проблему, возможно стоит рассмотреть приобретение другого адаптера, который будет обеспечивать более надежное соединение и поддержку актуальных стандартов Wi-Fi.

Если возникнут дополнительные вопросы, не стесняйтесь спрашивать!

Оцените материал
Добавить комментарий

Капча загружается...