В последнее время набирает популярность новый стандарт WiFi - 802.11ac, работающий исключительно в диапазоне 5GHz. Распространённый ныне стандарт 802.11n так же допускает работу в диапазоне 5GHz, однако большинство бюдженых адаптеров этого стандарта поддерживают только 2.4GHz.
В силу пока ещё малой распространнёности устройств с поддержкой диапазона 5GHz он не так сильно зашумлён как 2.4GHz, что может быть полезно в городе (нет помех от соседей). А стандарт 802.11ac позволяет передавать данные с большей скоростью, по сравнению с 802.11n, что как минимум приятно:).
И если замена домашнего роутера на новый не является большой проблемой в силу относительно низкой цены, то замена, например, ноутбука уже сложнее и тут на помощь приходят различные USD-адаптеры вроде D-Link DWA-171.
Адаптер D-Link DWA-171 отличается миниатюрностью, поддержкой всех современных стандартов WiFi (802.11a/b/g/n/ac), пусть и в самой простой конфигурации (одна антенна и ширина канала до 80MHz в 802.11ac, что обеспечивает скорость до 433 мбит/с).
Существует две ревизии этого адаптера: DWA-171 rev A1 на чипе Realtek RTL8811AU и rev B1 на чипе MediaTek MT7610U. Ниже будет показано как настроить работу адаптера ревизии A1 в Ubuntu Linux 14.04 и 16.04.
В Ubuntu 16.04 "из коробки" идёт ядро версии 4.4. В Ubuntu 14.04 по умолчанию используется ядро 3.13, которое лучше заменить на 4.4. Если ваша система не использует UEFI то это можно сделать командой:
apt-get install linux-generic-lts-xenial
На системах с UEFI:
apt-get install linux-signed-generic-lts-xenial
Далее нужно скачать драйвер. Теоретически можно скачать драйвер с сайта D-Link, но он давно не обновляется, поддерживает ограниченное количество ядер и не отличается большой стабильностью. Различные энтузиасты пытаются дорабатывать этот драйвер, добавляя поддержку новых ядер и исправляя ошибки. Результаты их трудов можно найти на github. Неплохая подборка ссылок есть на WikiDevi.
Автор этих строк остановился на варианте от пользователя github с ником ulli-kroll. Склонируем исходные тексты командой:
cd /usr/src && git clone https://github.com/ulli-kroll/rtl8821au.git rtl8821au-1
Для сборки мы будем использовать систему dkms, которая позволяет автоматически пересобирать модули при обновлении ядра. Для этого создаём файл /usr/src/rtl8821au-1/dkms.conf следующего содержания:
PACKAGE_NAME="rtl8821au" PACKAGE_VERSION="1" BUILT_MODULE_NAME[0]="rtl8821au" MAKE="'make'" CLEAN="'make' clean" DEST_MODULE_LOCATION[0]="/updates/dkms" AUTOINSTALL="YES"
Сразу копируем файлы прошивок (firmware) из директории с исходными текстами в системную директорию:
mkdir -p /lib/firmware/rtlwifi cp -n /usr/src/rtl8821au-1/firmware/* /lib/firmware/rtlwifi/.
Добаляем модуль в dkms:
dkms add -m rtl8821au -v 1
Собираем модуль:
dkms build -m rtl8821au -v 1
Устанавливаем его:
dkms install -m rtl8821au -v 1
После этого подключаем модуль и если всё прошло хорошо то в системе появляется новый сетевой интерфейс. Посмотреть список беспроводных интерфейсов можно командой:
cat /proc/net/wireless
Дальше настраиваем соединение любым привычным инструментом.
Из известных ограничений: не поддерживается работа в режиме точки доступа. Для кого-то это может быть критичным.
На этом всё. Приятной работы!