Пролог
Жопа, случившаяся за последние полтора года и “крымнаш”, за который еще предстоит расплатиться окончательно доконали ритейл, который начал гнать в магазины откровенное фуфло (то, что подороже уже просто не продать), да и электорат любит “подешевле”, а то, что это потом “аукивается” глючной работой, потерей данных и прочими радостями - никого особо не волнует.
Но если включить “оптимиста” - если дешевые WiFi чипсеты делают, то это кому-нибудь нужно. Возможно, мы просто не умеем их готовить.
Всё, что описано ниже, касается, в первую очередь Linux, ибо в Windows (в 10ке в частности) - многие (или почти все) адаптеры работают вполне сносно.
Акт первый - Realtek 8188xx
Для начала - этот чипсет успешно используется в огромном количестве телефонов и планшетов, причем не самых последних производителей.
Однако, в Linux пользователя неискушенного могут встретить некоторые препятствия. В частности, в ядре нужного драйвера может просто не быть.
Тут на помощь придет очень годная статья, где расписано, какой драйвер когда использовать.
Вторая статья про Raspberry Pi, но всё изложенное справедливо и для обычного компа (за исключением добычи исходников ядра - там всё проще).
Но есть один тонкий момент, которые частенько упускают. Помимо самого драйвера “железке” требуется еще и firmware - некий бинарник, который в устройство нужно сгрузить.
В Debian firmware для Realtek устанавливается просто:
sudo apt-get install firmware-realtek
После этого всё должно заработать “как положено”.
Если firmware ставится вручную, очень важно положить его в директорию /lib/firmware/rtlwifi, а не просто в /lib/firmware.
В противном случае - устройство будет работать чудовищно медленно и сильно греться.
Акт второй - Ralink/Mediatek MT7601U
Кстати, в таких корпусах встречаются ещё и реалтеки.
Во-первых этот чипсет официально поддержан в последних ядрах.
Если же возможности обновить ядро нет, то можно использовать этот драйвер. Но действовать нужно строго по инструкции - вот что пишут читатели.
Акт третий - Ralink RT5370
Слева - направо:
- NONAME адаптер с Ali занедорого
- Tenda W311M “из ритейла”
- Acorp WUD-150NS купленный в лучшие времена
Эти штуки построены на Ralink 5370, который еще был Ралинком, прежде чем стать Mediatek.
В новых ядрах для них есть отдельный драйвер, но лучше использовать драйвер rt2800usb, с некоторыми модификациями, а именно - драйверу нужно подсказать “id” устройства.
Для этого выполним команду:
echo 148F 5370 | sudo tee /sys/bus/usb/drivers/rt2800usb/new_id
Её можно добавить в rc.local, а также лучше отключить powersave:
iw dev wlan1 set power_save off
Если при втыкании адаптера грузится модуль, отличный от rtl2800usb - его нужно смело запихать в blacklist.
Акт четвертый - чудовищный Realtek
До этого момента все проблемы решались драйверами, firmware и настройками.
Так бывает не всегда =).
Есть у меня адаптер производства EDUP, который куплен в Китае довольно давно, поставлялся в качественной упаковке и даже имел диск с драйверами.
Идентифицировался в системе он так:
Bus 001 Device 002: ID 0bda:8179 Realtek Semiconductor Corp.
Драйвер - rtl8192cu, firmware имелось. Но скорость была не больше 1го мегабита согласно speedtest.net…
Не помогало ничего, и в один прекрасный день “от безысходности” он был подключен через удлинитель USB.
Скорость возросла в два раза. Зажимание адаптера в кулак вызвало дальнейшее улучшение результатов.
Пришлось вскрыть устройство и…
Внутри крошечная платка и антенна. Но вот что интересно - антенна выполнена по этой технологии.
Суть в том, что антенна начинает работать только тогда, если соблюдены все размеры и пропорции - а именно - где-то сантиметр на три.
Инженеры EDUP проявили чудеса ловкости и уменьшили антенну пропорционально корпусу - то есть размером с три спичечных головки в ряд…
Ситуацию спас кусок коаксиального кабеля, припаянный параллельно. Корпус рассверлен, а для надежности сделана эпоксидная нашлепка.
Результат - увеличение скорости в десять раз.
Эпилог
Не так страшен черт, как его малюют, хотя времени потраченного на “исследования” до безумия жаль.
Общие рекомендации - если адаптер WiFi используется в каком-нибудь embedded типа Orange Pi - используйте качественный источник питания. Во многих случаях на таких платах питание подается напрямую на USB. Пульсации и пониженное напряжение не добавляют ни скорости, ни стабильности.
Во-вторых - если используете WiFi адаптер в качестве точки доступа - поставьте утилиту haveged - “помогателя” вашему генератору случайных чисел. Скорость тоже возрастет и довольно значительно.
А вообще, просто поинтересуйтесь совместимостью и скоростью Вашего адаптера перед покупкой и не жалейте денег - своё время дороже.
Но будет ещё хуже, так что держитесь там и хорошего настроения…