Мой опыт настройки USB-адаптера D-Link DWL-G122 в Ubuntu 7.10 Linux, но думаю что методика применима для большинства дистрибутивов (аналогичным методом точно можно настроить в Ubuntu 7.04)
Предисловие
Будем настраивать соединение Wi-Fi USB-адаптера D-Link DWL-G122 rev.C с точкой доступа в Ubuntu 7.10 Linux
Будем пользоваться windows-драйверами через ndiswrapper. Соответственно предполагается что ndiswrapper уже установлен в системе. Для Ubuntu 7.10 это пакеты ndiswrapper-common и ndiswrapper-utils-1.9 Естественно понадобятся и windows-драйвера.
В рассматриваемом адаптере используется чипсет производства Ralink. Проблема в том, что Linux считает, что он умеет работать с данным чипсетом. Соответственно при загрузке ОС мы с большой долей вероятности в выводе команды 'ifconfig -a' увидим сетевой интерефейс 'rausb0'
Все операции должны выполняться с правами пользователя root
Естественно, я снимаю с себя всякую ответственность за результат Ваших действий в системе :-(
Тактика и стратегия
1. Найти ...
Находим модули ядра, которые нам мешают.
lsmod | grep rt7
lsmod | grep rt2
Вывод данных команд будет зависеть от версии дистрибутива Linux. В моем случае это были rt73usb, rt2x00usb и rt2x00lib
2. ... и обезвредить
modprobe -l
показывает где находятся модули ядра. В моем случае все 3 модуля (rt73usb, rt2x00usb и rt2x00lib) находились в каталоге /lib/modules/2.6.22-14-generic/ubuntu/wireless/rt2x00/
Чтобы данные модули больше не подгружались, их нужно либо удалить, либо переименовать. Я выбрал второе.
cd /lib/modules/2.6.22-14-generic/ubuntu/wireless/rt2x00/
mv rt2x00usb.ko rt2x00usb.ko.old
mv rt2x00lib.ko rt2x00lib.ko.old
mv rt73usb.ko rt73usb.ko.old
Все. После перезагрузки системы эти модули не будут загружены.
3. "Заграница" нам поможет
Сначала проинсталлируем драйвера адаптера. Для этого перейдем в каталог где они лежат и выполним команду:
ndiswrapper -i Dr71WU.inf
где Dr71WU.inf inf-файл драйвера нашего адаптера. Данная команда копирует нужные ей файлы в каталог /etc/ndiswrapper. Оттуда модуль ядра ndiswrapper и будет брать их в дальнейшем.
Теперь скажем ядру что оно должно использовать модуль ndiswrapper, для этого:
modprobe -i ndiswrapper
depmod -a
Теперь проверим что в файле /etc/modprobe.d/aliases отсутствует запись для rausb0
Далее создаем интерфейс wlan0
vi /etc/modprobe.d/ndiswrapper
с такой записью:
alias wlan0 ndiswrapper
Теперь можно перезагрузить систему и если все было правильно, то вывод команды 'ifconfig -a' покажет наличие в системе интерфейса wlan0.
Если этого не произошло, попробуйте еще раз сделать
modprobe -i ndiswrapper
depmod -a
это должно помочь.
4. "Полная тайна вкладов... то есть организации"
Дальше рассказ о том как настроить WPA-шифрование. Для этого в системе должен быть wpa_supplicant (пакет wpasupplicant в Ubuntu 7.10)
Предположения относительно точки доступа:
- SSID = testnet
- сеть "скрытая", т.е. не анонсирует своего имени
- адрес сети 00:11:22:33:44:55
- используются протоколы WPA-PSK, WPA2-PSK, TKIP, AES
- пароль PSK = 1234567890axcvf
- на точке доступа настроена динамическая раздача адресов
Двоичный пароль запрашиваем командой:
wpa_passphrase testnet 1234567890axcvf
и получаем от него нечто вроде:
network={
ssid="testnet"
#psk="1234567890axcvf"
psk=95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa
}
Вариантов два.
Вариант 1
Если беспроводная сеть является постоянной, то в файле /etc/network/interfaces прописываем:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid testnet
wpa-bssid 00:11:22:33:44:55
wpa-scan-ssid 1
wpa-ap-scan 2
wpa-proto WPA RSN
wpa-pairwise TKIP CCMP
wpa-group TKIP CCMP
wpa-auth-alg OPEN
wpa-key-mgmt WPA-PSK
wpa-psk 95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa
Вариант 2
Если беспроводная сеть нужна время от времени,
то ее можно инициализировать следующим способом
wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant.conf -B
Содержимое файла /etc/wpa_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant
ap_scan=2
network={
ssid="testnet"
bssid=00:11:22:33:44:55
scan_ssid=1
proto=WPA RSN
key_mgmt=WPA-PSK
auth_alg=OPEN
pairwise=TKIP CCMP
group=TKIP CCMP
psk=95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa
}
IP-адрес получается динамически, говорим:
dhclient wlan0
Все.
Комментариев нет:
Отправить комментарий