sitelogo

By

Тестирование дальнобойных WiFi адаптеров в Linux

За определенное время у меня собралась небольшая коллекция WiFi адаптеров, на троих из которых имеются разъемы для подключения внешней антенны. А ещё у меня есть два типа антенн — несколько штук классических всенаправленных и одна направленная панельная. Также у меня есть некоторый опыт использования этих адаптеров в Linux. Надеюсь, это поможет кому-нибудь сделать правильный выбор при покупке. Хотя, я считаю, что ни один адаптер из описываемых трёх не оказался лишним, и в каждой конкретной ситуации выручает.

Тестирование проводилось в максимально одинаковых условиях: на одной и той же версии ядра, в одно и то же вечернее время (точнее, это у меня заняло около часа), адаптеры располагались в тех же положениях. Надо отметить, что вечерем WiFi ловится хуже, чем утром или днём — наверное, сказывается влияние света на радиоволны ну или может быть, вечером приходит много людей с работы и засирают эфир.  У меня есть две тачки, одна из которых — Rikomagic MK802IV в качестве роутера под Arch Linux (об этом позже, если кто отпишется в комментариях — выложу прошиву раньше) и ноутбук. К сожалению, протестировать все три адаптера на роутерном компьютере у меня не получилось, так как на нем работает древняя версия ядра Linux 3.0.36. На этом ядре чипсет Realtek RTL8187 не дружит с утилитой airmon-ng. Хотя именно на нём различия были видны чётче. Поэтому я провел тестирование на ноутбуке с Linux 3.17.4.

three-adapters

Выше представлены:

  1. Адаптер Alfa AWUS036H с чипсетом RTL8187L. Оригинальный. Мне было лень его вскрывать и фотографировать, я это сделал первым делом при его покупке, к тому же, адаптер куплен в рекомендованном источнике — интернет-магазине Дальрадио.
  2. Адаптер Alfa AWUS036NHA с чипсетом Atheros AR9271. Куплен в магазине Eurodk.
  3. TP-Link TP-WN7200ND с чипсетом Ralink RT3070. Куплен в местном супермаркете DNS. Раскопать его на полках прочего ширпотреба было непросто. Прямо в магазине гуглил на планшете все имеющиеся адаптеры в поисках нужного мне чипсета.
  4. Обычная всенаправленная антенна-стандартник 5 dBi, входящая в комплект всех трех адаптеров.
  5. Всенаправленная антенна побольше, вроде, на 8 dBi, если не больше. Сантиметров эдак на тридцать. Куплена в комплекте с Дальрадио.
  6. Направленная панельная антенна Alfa — та, что прямоугольная.

Тестировались все из представленных антенн и адаптеров, а также замерялась скорость закачки с одной и той же точки с маленькой всенаправленной антенной — так можно лучше оценить влияние помех от других станций на скорость.

Alfa AWUS036NHA

Адаптер практически не работает в Linux 3.0.x из-за багов в драйвере, из-за которых выходная мощность адаптера всё время держится на нуле и уровень сигнала позволяет отходить от него не дальше трех метров. В Linux 3.17.4 ситуация кардинально изменилась, и теперь этот адаптер стал рекордсменом по скорости приема данных, стабильности линка и защищенности от помех. Правда, проблемы со стабильностью всё еще имеются: иногда под нагрузкой на ARM машине адаптер «вылетает» с ошибкой «DMA failed to stop in 10 ms». [update] Как оказалось, этот адаптер имеет плохую реализацию USB. Возможно, адаптер можно заставить игнорировать ошибки с помощью «костылей» в драйвере, но пока проблема решается с помощью короткого USB кабеля.

Скорость закачки оказалась на уровне 6 мбит (750 кбит) — выше, чем у двух других адаптеров, позволяющая почти полностью загадить весь канал. Значит, данный адаптер умеет держать максимально возможную стабильную скорость с больших расстояний.

awus036nha-short awus036nha-long awus036nha-directed

На левой картинке короткая всенаправленная антенна: поймано 46 точек.

На средней картинке длинная всенаправленная антенна: поймано 50 точек.

На правой картинке направленная антенна без её перемещения: поймано 54 точки.

Вывод: самый стабильный из известных мне адаптеров, при условии использования последнего Mainline Linux и короткого USB кабеля. Уверенно держит линк при достаточно большом удалении от точки доступа, обеспечивает высокую скорость.

Alfa AWUS036H

Тот самый «легендарный» адаптер, про который так усердно слагают байки, мол, до сих пор не придумали лучше. Данный обзор показывает, что на конец 2014 года это уже не так. Чувствительность адаптера в airodump-ng оказалась на уровне вышеописанного AWUS 036NHA, только этот не поддерживает режим N. Кроме того, замечено, что адаптер показывает завышенные уровни сигнала: для одной и той же точки показывается значение примерно на 20-30 dB выше, но тем не менее стабильность линка и скорость оставляют желать лучшего. Проблемы начинаются уже с точками, уровень сигнала которых ниже -55…-60dB, в то время как другие адаптеры могут держать линк вплоть до -90dB.

Драйверы в Linux для этого чипсета не из лучших: на 3.0.36 адаптер не умеет работать в режиме точки доступа и мониторинга, в 3.14 были потери пакетов при работе с расстояния в 1 метр, да и в 3.17.4 данный адаптер показал не слишком высокую скорость, возможно, баг сохранился. В старых версиях Linux адаптер работает даже лучше, то есть возможно, что что-то в драйверах просто поломали (там есть две разновидности чипсетов: B и L, возможно, меняя одну версию, поломали другую). Ради этого адаптера мне пришлось поставить себе Windows 7, где он показал схожие результаты, за исключением более высокой скорости приема из-за нормально работающего rate control.

Скорость передачи адаптера оказалась менее 800 кбит (100 кбайт). И то, с некоторой натяжкой, если за 2-3 секунды скорость и доходила до этого уровня, то в остальное время она могла опускаться до нуля вплоть до переассоциации с точкой доступа. В чём-таки здесь проблема — мне не известно, грешу на баги в драйверах или на брак. С направленной антенной на старом ядре, если выставить iwconfig wlan0 rate 1M fixed, то есть зарезать исходящий линк до минимальной скорости, мне удавалось выжать из адаптера скорость порядка 4-х мегабит.

awus036h-short awus036h-long awus036h-directed

Слева скриншот с маленькой всенаправленной антенной: 51 точка.

В центре скриншот с длинной антенной: 46 точек. Кстати, с этой антенной адаптер работает еще хуже, чем с короткой. Ассоциация происходит очень долго, с неудачными попытками, а связь крайне нестабильна. Это показывает, насколько плохо адаптер справляется с зашумленным эфиром и как антенна влияет на радиомодуль.

Справа направленная антенна: 47 точек. По скорости приема и стабильности линка данная антенна демонстрировала лучшие результаты с удаленными точками.

В общем, я бы рекомендовал данный адаптер лишь для вардрайвинга, с этим у него проблем не имеется. Для нормального, годного серфинга без матерных слов, нужен адаптер, способный работать в режиме N. Кроме того, данный адаптер плохо работает в режиме зашумленного эфира — видимо, в те времена это не было большой проблемой. Спасает только направленная антенна, гасящая помехи, которые так не любит адаптер.

TP-Link TP-WN7200ND

Этот адаптер показал весьма достойные результаты. Самое главное, что в нем располагается чипсет RT3070, который имеет превосходную поддержку в Linux. Какую бы версию ядра я не использовал, везде этот адаптер работал во всех режимах, вардрайвинг на нём также работает, но по всей видимости хуже, чем представленный выше Realtek. Кроме того, имеется поддержка режима N. Чувствительность этого адаптера, судя по количеству найденных точек, оказалась самой высокой. Но вот скорость приема оказалась 4,4 мегабита (550 кб\с), что немного ниже адаптера на Atheros, адаптер теряет больше пакетов. Ассоциация с точкой держится довольно стабильно. В качестве точки доступа данный адаптер очень хорош — через толстую метровую кирпичную стену уровень сигнала упал лишь на одно деление.

tp7200wn-short tp7200wn-long tp7200wn-directed

Слева, как всегда, идет короткая антенна: 57 точек.

В центре длинная антенна: 53 точки.

Справа направленная: 49 точек. Весьма странный результат, на самом деле, именно эта антенна с этим адаптером показывала самые лучшие результаты как по поиску точек, так и по уверенности приёма. Ниже представлен скриншот с рекордом: не поворачивая антенну в разные стороны, в дневное время удалось обнаружить почти 80 точек, из которых 3 — открытые, и черт знает у скольки включен WPS, и это вам не Москва…

tplink-directed-3.0.36

Вывод: данный адаптер однозначно должен быть в комплекте линуксоида. Если у вас имеется железка, на которой по каким-то причинам крутится старое ядро Linux, не поддерживающее остальные адаптеры, данный чипсет будет являться выходом из ситуации.

Антенны

Основное предназначение направленных антенн — обеспечить наибольшую дальность передачи сигнала, не прибегая к увеличению подаваемой мощности в передатчик. Желательно иметь их на обеих сторонах, иначе уровень приёма на одной стороне окажется ниже, вследствие возникновения асимметрии. Хотя, направленная антенна может помочь и когда вы знаете точное местонахождение точки доступа, и вам как раз немножко не хватает качества сигнала. Что касается представленной выше антенны — она оправдывает свою стоимость. Четко видно, что сигнал принимается лучше на 30 dBm с той стороны, на которой расположен логотип ALFA.

Стандартные антенны в условиях многоквартирных домов обычно показывают приемлемые результаты. Но именно клиенты с большой мощностью передатчика и всенаправленной антенной создают больше помех другим клиентам. Для точек доступа в условиях многоквартирных домов как правило используют всенаправленные антенны.

Длинная антенна, не смотря её внушительный вид, не показывает хороших результатов при загаженном эфире. Она расстраивает радиомодуль адаптера, а вместе с полезным сигналом ловится также и куча помех. Даже если мы видим, что уровень приема оказался на два десятка dBm выше, чем с маленькой антенной, количество потерянных пакетов из-за помех будет большим, и без матюков играть в онлайн игры не получится. В общем, в условиях многоквартирных домов такая антенна не всегда оказывается целесообразна. Наверное, её было бы эффективнее использовать для точки доступа в каких-нибудь полевых условиях, либо на каком-нибудь корабле в море.

Ситуация с антеннами аналогична ситуации с адаптерами. Никогда не помешает иметь при себе сразу несколько разных антенн, и выбрать подходящую в каждом конкретном случае, если вам часто необходима беспроводная связь.

P.S.

Статью пишу на своём роутерном компьютере RK802IV под Arch Linux, спокойно редактирую картинки в Gimp и забиваю в браузер. К сожалению, пока не удалось прикрутить драйверы для MALI 400, что сдерживает меня от публикации прошивки.



3 Responses to Тестирование дальнобойных WiFi адаптеров в Linux

  1. Anonymous пишет:

    Спасибо за статью. Жалко что раньше не увидел ее. У меня Alfa AWUS036H использую на линуксе. Как я понял у вас такая же проблема — он режет скорость, у меня получился следующий результат вх. выше 1 мб/c исх. — совсем низкая 0.08. В то время встроенный адаптер показывает 15 мб/с 18 мб/c. Может знаете это как нибудь лечится. Или можно смело идти за покупкой TP-WN7200ND???

    • viron пишет:

      Это интереснее спросить у тех, кто хвалит этот адаптер. Скорее всего дело в драйверах, потому что отзывы в основном от тех, кто под виндой. Можете посмотреть различные решения на англоязычных форумах. Обычно отключают автоматический rate control, и вручную подбирают скорость, начиная с одного мегабита: «sudo iwconfig wlan0 rate 1M fixed», кто-то ставит ndiswrapper. Самое интересное, что в багрепортах пишут «под виндой всё работает нормально». Я под линуксом использю TP-WN7200ND, намного меньше проблем.

      • Anonymous пишет:

        Да читал различные отзывы в большинстве — как все хорошо с этим адаптером, пытался различные параметры менять (rate, txpower) результат такой же — чувствительность хорошая, только смысл от нее какой — без нормальной скорости. Для себя понял, что реалтек лучше не брать под линукс, сплошная головная боль…

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

Ваш e-mail не будет опубликован.