Недавно приобрел себе Trendnet TEW-644UB. Устройство использует чип ralink2670 (на нем основано довольно много устройств, вот список), поэтому проблем с его подключением и настройкой в debian, как я считал, не должно было быть.
Итак, устройство куплено, принесено домой, распаковано и установлено в компьютер.
Был нагуглен мануал по настройке wi-fi соединения в debian.
Приступим:
Все пакеты скачаны, установлены, девайс нашелся, iwconfig показывает нам новый беспроводной интерфейс. Вроде бы все хорошо и можно уже начинать пить кефир.
Однако попытка подключить компьютер к роутеру потерпела неудачу, более того, iwlist wlan0 scan не выдавал никаких результатов. Кефир забыт, начались новые поиски. По итогам была найдена проблема: новые версии ядра debian (и ubuntu тоже) по умолчанию грузят драйвер rt2800usb вместо нужного rt2870sta, из-за чего устройство работает неправильно. Решением было добавление этого модуля в /etc/modprobe.d/blacklist:
Отлично! После перезагрузки видим, что роутер виден при поиске, вот только подключиться к нему нельзя — из коробки шифрование WPA и WPA2 не поддерживается. Не проблема:
Теперь настроим все наше хозяйство:
Файл /etc/network/interfaces. Добавляем туда следующее:
Собственно, автоматическое подключение wlan0 при запуске системы, статическая настройка сети и, самое главное — параметр wpa-conf, указывающий расположение файла с настройками нашего беспроводного соединения.
Рассмотрим его поближе. /etc/wpa_supplicant/wpa_supplicant.conf:
За основу берем файл /usr/share/doc/wpasupplicant/examples/plaintext.conf и читаем man. Итак, для настройки шифрования WPA2 нужно следующее: ssid — название сети, к которой мы хотим подключиться, psk — ключ (указывается либо прямым текстом, либо хешем — для этого используем программку
Все! Настройки закончены, перегружаемся и видим, что соединение установлено, все работает. Только вот почему-то на скорости 54mbps, а не на 150mbps, как хотелось бы… Видимо, по умолчанию n-режим отключен.
Разбираемся дальше. Скачаны исходники ralink2870sta, в readme написано следующее:
Копируем RT2870STA.dat в /etc/Wireless/RT2870STA/RT2870STA.dat и читаем readme дальше. Вот и интересующий пункт:
Редактируем файл, сохраняем, перегружаемся и видим, что подключение опять имеет скорость 54mbps.
dmesg же сообщает интересные вещи:
Т.е. поставщики драйвера немного намудрили. Не беда!
Итак, устройство куплено, принесено домой, распаковано и установлено в компьютер.
Был нагуглен мануал по настройке wi-fi соединения в debian.
Приступим:
aptitude update
aptitude install firmware-ralink wireless-tools
Все пакеты скачаны, установлены, девайс нашелся, iwconfig показывает нам новый беспроводной интерфейс. Вроде бы все хорошо и можно уже начинать пить кефир.
Однако попытка подключить компьютер к роутеру потерпела неудачу, более того, iwlist wlan0 scan не выдавал никаких результатов. Кефир забыт, начались новые поиски. По итогам была найдена проблема: новые версии ядра debian (и ubuntu тоже) по умолчанию грузят драйвер rt2800usb вместо нужного rt2870sta, из-за чего устройство работает неправильно. Решением было добавление этого модуля в /etc/modprobe.d/blacklist:
echo "blacklist rt2800usb" >> /etc/modprobe.d/blacklist
Отлично! После перезагрузки видим, что роутер виден при поиске, вот только подключиться к нему нельзя — из коробки шифрование WPA и WPA2 не поддерживается. Не проблема:
aptitude install wpasupplicant
Теперь настроим все наше хозяйство:
Файл /etc/network/interfaces. Добавляем туда следующее:
auto wlan0
iface wlan0 inet static
address 172.16.0.3
netmask 255.255.255.0
gateway 172.16.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Собственно, автоматическое подключение wlan0 при запуске системы, статическая настройка сети и, самое главное — параметр wpa-conf, указывающий расположение файла с настройками нашего беспроводного соединения.
Рассмотрим его поближе. /etc/wpa_supplicant/wpa_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="nobody"
#psk="passphrase"
psk=05e31b9d1544c68360877425983d85aec46cdebd849961f83e257eca61532fd3
}
За основу берем файл /usr/share/doc/wpasupplicant/examples/plaintext.conf и читаем man. Итак, для настройки шифрования WPA2 нужно следующее: ssid — название сети, к которой мы хотим подключиться, psk — ключ (указывается либо прямым текстом, либо хешем — для этого используем программку
и копируем вывод в наш файл настройки).wpa_passphrase <ssid> [passphrase]
Все! Настройки закончены, перегружаемся и видим, что соединение установлено, все работает. Только вот почему-то на скорости 54mbps, а не на 150mbps, как хотелось бы… Видимо, по умолчанию n-режим отключен.
Разбираемся дальше. Скачаны исходники ralink2870sta, в readme написано следующее:
RT2870 driver can be configured via following interfaces,
i.e. (i)"iwconfig" command, (ii)"iwpriv" command, (iii) configuration file
i) iwconfig comes with kernel.
ii) iwpriv usage, please refer to file "iwpriv_usage.txt" for details.
iii)modify configuration file "RT2870STA.dat" in /etc/Wireless/RT2870STA/RT2870STA.dat.
Копируем RT2870STA.dat в /etc/Wireless/RT2870STA/RT2870STA.dat и читаем readme дальше. Вот и интересующий пункт:
@> WirelessMode=value
value
0: legacy 11b/g mixed
1: legacy 11B only
2: legacy 11A only //Not support in RfIcType=1(id=RFIC_5225) and RfIcType=2(id=RFIC_5325)
3: legacy 11a/b/g mixed //Not support in RfIcType=1(id=RFIC_5225) and RfIcType=2(id=RFIC_5325)
4: legacy 11G only
5: 11ABGN mixed
6: 11N only
7: 11GN mixed
8: 11AN mixed
9: 11BGN mixed
10: 11AGN mixed
Редактируем файл, сохраняем, перегружаемся и видим, что подключение опять имеет скорость 54mbps.
dmesg же сообщает интересные вещи:
[ 10.584155] <-- RTMPAllocTxRxRingMemory, Status=0
[ 10.585882] -->RTUSBVenderReset
[ 10.586007] <--RTUSBVenderReset
[ 10.874039] --> Error 2 opening /etc/Wireless/RT3070STA/RT3070STA.dat
[ 10.874042] 1. Phy Mode = 0
[ 10.874044] 2. Phy Mode = 0
[ 10.903181] RTMPSetPhyMode: channel is out of range, use first channel=1
[ 10.913054] 3. Phy Mode = 0
[ 10.917313] MCS Set = 00 00 00 00 00
[ 10.926551] <==== RTMPInitialize, Status=0
[ 10.928068] 0x1300 = 000a4200
[ 14.217511] fuse init (API version 7.13)
[ 14.793973] DRS: unkown mode,default use 11N 1S AP
[ 14.793978] DRS: unkown mode (SupRateLen=0, ExtRateLen=0, MCSSet[0]=0x0, MCSSet[1]=0x0)
Т.е. поставщики драйвера немного намудрили. Не беда!
mv /etc/Wireless/RT2870STA/RT2870STA.dat /etc/Wireless/RT3070STA/RT3070STA.dat
и снова ребут. Все, девайс подключился на скорости 107mbps и отлично работает. Осталось только смотать все лишние провода и убрать компьютер подальше (: