Установка драйвера для NetGear WNA1100 USB WiFi адаптера
Попросили меня на днях подключить драйвер для WiFi адаптера NetGear WNA1100 USB. Выглядит сей девайс следующим образом (см. картинку).
Интересен он тем, что может работать в режиме Access Point в связке с hostapd. Итак, втыкаем этот девайс в машину и смотрим что адаптер определился:
[root@host src]# lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0846:9030 NetGear, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Если у вас также - значит поехали далее. Устанавливаем linux-headers, build-essential и качаем драйвера:
[root@host ~]# apt-get install linux-headers-$(uname -r)
[root@host ~]# apt-get install build-essential
[root@host src]# cd /usr/src
[root@host src]# wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
Далее распаковываем наше добро, переходим в каталог с распакованными драйверами и даем команду на выбор необходимого модуля. Нас интересует только ath9k_htc.
[root@host src]# tar xf compat-wireless-2.6.tar.bz2
[root@host src]# tar xf linux-headers
[root@host src]# cd compat-wireless-2.6
[root@host src]# ./scripts/driverselect ath9k_htc
Компилируем модули:
[root@host src]# make
[root@host src]# make install
После того как вы успешно откомпилировалось качаем firmware и кладем его в каталог /lib/firmware. (Небольшое замечание: иногда, если исходники ядра уже были и из них собирались модули или ядро, то нужно перейти в каталог с исходниками ядра и дать команду "make modules_prepare").
[root@host src]# wget http://linuxwireless.org/download/htc_fw/1.3/htc_9271.fw
[root@host src]# mv ./htc_9271.fw /lib/firmware
Подгружаем модуль и убеждаемся что все корректно загрузилось:
[root@host src]# modprobe ath9k_htc
[root@host src]# lsmod | grep ath9
ath9k_htc 42366 0
mac80211 286250 1 ath9k_htc
ath9k_common 1371 1 ath9k_htc
ath9k_hw 300480 2 ath9k_htc,ath9k_common
ath 11078 3 ath9k_htc,ath9k_common,ath9k_hw
cfg80211 128110 3 ath9k_htc,mac80211,ath
compat 8652 5 ath9k_htc,mac80211,ath9k_common,ath9k_hw,cfg80211
На этом все! Можно ставить hostapd и заставить wifi адаптер работать в режиме AP. Мой конфиг hostpad выглядит следующим образом:
[root@host ~]# cat /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
logger_stdout=-1
logger_stdout_level=2
ssid=Test
hw_mode=g
ieee80211n=1
ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40]
channel=5
auth_algs=3
max_num_sta=5
wpa=2
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
Интересен он тем, что может работать в режиме Access Point в связке с hostapd. Итак, втыкаем этот девайс в машину и смотрим что адаптер определился:
[root@host src]# lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0846:9030 NetGear, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Если у вас также - значит поехали далее. Устанавливаем linux-headers, build-essential и качаем драйвера:
[root@host ~]# apt-get install linux-headers-$(uname -r)
[root@host ~]# apt-get install build-essential
[root@host src]# cd /usr/src
[root@host src]# wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
Далее распаковываем наше добро, переходим в каталог с распакованными драйверами и даем команду на выбор необходимого модуля. Нас интересует только ath9k_htc.
[root@host src]# tar xf compat-wireless-2.6.tar.bz2
[root@host src]# tar xf linux-headers
[root@host src]# cd compat-wireless-2.6
[root@host src]# ./scripts/driverselect ath9k_htc
Компилируем модули:
[root@host src]# make
[root@host src]# make install
После того как вы успешно откомпилировалось качаем firmware и кладем его в каталог /lib/firmware. (Небольшое замечание: иногда, если исходники ядра уже были и из них собирались модули или ядро, то нужно перейти в каталог с исходниками ядра и дать команду "make modules_prepare").
[root@host src]# wget http://linuxwireless.org/download/htc_fw/1.3/htc_9271.fw
[root@host src]# mv ./htc_9271.fw /lib/firmware
Подгружаем модуль и убеждаемся что все корректно загрузилось:
[root@host src]# modprobe ath9k_htc
[root@host src]# lsmod | grep ath9
ath9k_htc 42366 0
mac80211 286250 1 ath9k_htc
ath9k_common 1371 1 ath9k_htc
ath9k_hw 300480 2 ath9k_htc,ath9k_common
ath 11078 3 ath9k_htc,ath9k_common,ath9k_hw
cfg80211 128110 3 ath9k_htc,mac80211,ath
compat 8652 5 ath9k_htc,mac80211,ath9k_common,ath9k_hw,cfg80211
На этом все! Можно ставить hostapd и заставить wifi адаптер работать в режиме AP. Мой конфиг hostpad выглядит следующим образом:
[root@host ~]# cat /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
logger_stdout=-1
logger_stdout_level=2
ssid=Test
hw_mode=g
ieee80211n=1
ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40]
channel=5
auth_algs=3
max_num_sta=5
wpa=2
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
Комментарии
На этапе закачки драйверов
[root@host src]# wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
появляется проблема: закачивается порядка 150 кбайт (3%), скорость падает до нуля, оставшееся время устремляется в бесконечность. Не подскажете в чем может быть проблема?
Адрес сменился, если перейти по этой ссылке то можно найти правильный адрес.