Попросили меня на днях подключить драйвер для 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
3 комментария:
Спасибо за подробную инструкцию!
На этапе закачки драйверов
[root@host src]# wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
появляется проблема: закачивается порядка 150 кбайт (3%), скорость падает до нуля, оставшееся время устремляется в бесконечность. Не подскажете в чем может быть проблема?
Может у вас место закончилось? =)
http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
Адрес сменился, если перейти по этой ссылке то можно найти правильный адрес.
Отправить комментарий