Беспроводной адаптер TP-Link TL-WN721N на Ubuntu 10.04

Понадобилось старичка IBM T41 подключить к домашней беспроводной сети. На машинке установлена Ubuntu 10.04LTS. С самой железкой произошла интересная история: пока она была под Windows XP, встроенный беспроводной адаптер не обнаруживался ни под каким соусом. Нет WiFi и все. Bluetooth есть, а Wifi как корова языком слизала. После установки Ubuntu, адаптер Intel PRO/Wireless LAN 2100 3B нашелся, но, разумеется, отказался работать в моей домашней сети, настроенной на 54Mbit. Перевод сети в режим B+G снизил пропускную способность сети примерно вдвое, что меня не устраивает категорически (11Mbit при аплинке 100 Мбит – это несерьезно).

В качестве решения был выбран  USB WiFi донгл. Самый дешевый из лежащих на прилавке, Gembird NICW-U5 (802.11g), не подошел (об этом позже). Пока с ним мучился, в магазине, который у меня по пути с работы домой, разобрали все остальные подходящие адаптеры, только TL-WN721N и остался. Вот его установкой и займемся.

Кстати, достаточно неплохой адаптер, на чипсете Atheros AR9271. Скорость до 150Mbit (802.11b/g/n), одна антенна. Правда, Ubuntu 10.04 его не распознает и не подключает.

Во-первых, понадобится прошивка (firmware), ее можно взять с сайта kernel.org. Полученный файл скопировать в /lib/firmware:

$ sudo cp ar9271.fw /lib/firmware

Во-вторых, понадобится  compat-wireless –  набор девелоперских версий драйверов беспроводных устройств из git-репозитория текущего ядра и стека mac80211. В принципе, это исходники ядра, из которых вырезали все, кроме относящегося к беспроводным сетям. Удобно при компиляции новых модулей WiFi без пересборки всего ядра. Забираем последнюю версию (на сайте включен антихотлинкинг, wget не сможет забрать файл):

$ lynx http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2

Распаковка, компиляция, установка (слегка неоптимальнй вариант):

$ tar jxvf compat-wireless*.tar.bz2
$ cd compat-wireless*
$ make
$ sudo make install
$ sudo make unload
$ sudo make load ath9k_htc

(!) Не факт, что последняя версия вообще скомпилируется. Мне пришлось перепробовать 3 варианта. Пакет недельной давности скомпилировался и собрался без проблем, более старые и более новые вылетали с ошибкой.

Перегружаем систему, все работает.

Уже после того, как я все скомпилировал и запустил, оказалось, что на Ubuntu  compat-wireless есть в репозиториях.

Еще один нюанс, который может сбить с толку: iwconfig показывает, что адаптер работает на скорости 1Mbit, но при этом по тестам скорость соответствует 54Mbit (WiFi AP 54Mbit). И этот параметр в адаптере не меняется.

Весь процесс подробно описан на странице Linux Wireless. По наводке Леонардо Марселино (Leonardo Marcelino),  за что ему спасибо.

8 Comments

systemMarch 8th, 2012 at 14:13

Здравствуйте.
Подскажите пожалуйста, в чём суть. Я слабо разбираюсь в Ubuntu. Версия у меня 10.04.
Это конечная часть лога.
make[3]: *** [/home/system/compat-wireless-2012-03-07/compat/main.o] Ошибка 1
make[2]: *** [/home/system/compat-wireless-2012-03-07/compat] Ошибка 2
make[1]: *** [_module_/home/system/compat-wireless-2012-03-07] Ошибка 2
make[1]: Выход из каталога `/lib/modules/2.6.34-longene-0.3.2/build’
make: *** [modules] Ошибка 2

Плюшевый КрысMarch 8th, 2012 at 14:27

У меня не все и не сразу скомпилировалось, пришлось подбирать рабочую версию пакета.
Или не мучайтесь и возьмите уже скомпилированный модуль из репозитория.

systemMarch 8th, 2012 at 18:27

Извините за вопрос. Как называется модуль?

Плюшевый КрысMarch 8th, 2012 at 22:02

Так и называется: compat-wireless (сюрприз, правда?)
http://wireless.kernel.org/en/users/Download#Getting_compat-wireless_on_Ubuntu

systemMarch 9th, 2012 at 11:38

Зашёл в synaptic и теперь не знаю что устанавливать? Вот ссылка на скриншот – http://www.servimg.com/image_preview.php?i=160&u=15390967
Плюс прошёл по предоставленной вами ссылке и первые 2-е команды прошли успешно, с 3-ей немножко повозился, а после 4-ой выдаёт, не удалось найти пакет linux-backports-modules-wireless-lucid-serve. Нашёл пакет, но архитектура пакета под amd, а у меня intel.

systemMarch 10th, 2012 at 11:48

Объясните пожалуйста, какую версию compat-wireless в синаптике устанавливать? Я и скриншот поэтому выложил. Там ещё кроме версий по два варианта например, compat-wireless-2.6.34-2.6.32-25-generic и generic-pae. Или что делать из-за сообщения не удалось найти пакет linux-backports-modules-wireless-lucid-serve ? Извините за я так понимаю столь наивные вопросы.

Плюшевый КрысMarch 13th, 2012 at 20:09

Так посмотри какое у тебя ядро системы (uname -a), устанавливай подходящую версию модулей.

boorMay 23rd, 2012 at 21:07

Нужно добавить, что обязательно должны быть установлены 2 пакета: linux-headers и build-essential
1. apt-get install linux-headers-generic / apt-get install linux-headers-generic-pae
2. apt-get install build-essential

Leave a comment

Your comment