DWA-125. Помогите настроить точку доступа.

Всем привет!

Есть комп с установленной gentoo (2.6.39 gentoo-r3), USB адаптер Dlink DWA-125 на чипсете Ralink RT2870.
Необходимо настроить это все как точку доступа.
Перечитал инфы... что-то никак не осилю. Подскажите пожалуйста.
Видел подобные темы, читал, внимательно читал ))) Но решения у них так и нет, а рекомендации не помогли.

lsusb

Bus 001 Device 002: ID 07d1:3c16 D-Link System DWA-125 Wireless N 150 Adapter(rev.A2) [Ralink RT2870]

/etc/hostapd/hostapd.conf

interface=wlan0
ssid=any
hw_mode=g
channel=2
wpa=3
wpa_passphrase=11111111111111
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=1
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=1
debug=1
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd-wlan0
ctrl_interface_group=0
accept_mac_file=/etc/hostapd/hostapd.accept
deny_mac_file=/etc/hostapd/hostapd.deny

/etc/conf.d/net

config_eth1=( "10.0.0.1 broadcast 10.0.0.255 netmask  255.255.255.0 " )

config_wlan0="192.168.12.1 netmask 255.255.255.0"
channel_waln0="1"
mode_wlan0="master"
modules_wlan0="!iwconfig !wpa_supplicant"

При запуске hostapd вылетает ошибка:

/etc/init.d/hostapd start

* Starting hostapd ...
rmdir[ctrl_interface]: No such file or directory
 * start-stop-daemon: failed to start `/usr/sbin/hostapd'                                                                                    [ !! ]
 * ERROR: hostapd failed to start

Заранее спасибо.

file /etc/init.d/net.eth1?

file /etc/init.d/net.eth1?

:wq
--
Live free or die

Anarchist написал(а): file

Anarchist написал(а):
file /etc/init.d/net.eth1?

Это вторая сетевая плата, первая получает адрес по DHCP от провайдера (onlime).

/etc/init.d/net.eth1: symbolic link to `net.lo'

по-порядку

1. Поверьте на слово, поиск на форуме функционирует как швейцарские часы.
2. В приведённых конфигах имеется ошибка синтаксиса, специально не скажу в какой строчке (: (читайте п.4).
3. Здесь можете найти рабочие конфиги.
4. Ни слова о том, подхватывает ли ядро девайс или нет, работает ли wi-fi без шифрования, в обычном режиме или нет, хотя бы что ifconfig рассказывает (это в дополнение ко второму пункту).
5. hostapd.conf
6. /etc/conf.d/net

буду честен, я не знаю, почему у меня все работает

1. Как проверить со 100%

1. Как проверить со 100% вероятностью я не знаю.
Единственное что приходит на ум это
dmesg | grep rt28
В ответ получаю:

rt2870sta: module is from the staging directory, the quality is unknown, you have been warned.
usbcore: registered new interface driver rt2870

modprobe rt2870sta ничего не возвращает.

Мне еще раньше показалось, что ядро не подхватило устройство :( А это печально.

iwconfig

wlan0     Ralink STA  ESSID:""  Nickname:""
          Mode:Auto  Frequency=2.412 GHz
          Link Quality=10/100  Signal level:0 dBm  Noise level:-143 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ifconfig wlan0

ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Видимо в конфиги лезть еще рано.
Благодарен за любую помощь. Уже вымучился и не знаю куда копать дальше.

/

sergkzntsv написал(а):
1. Как проверить со 100% вероятностью я не знаю.
Единственное что приходит на ум это
dmesg | grep rt28
В ответ получаю:

rt2870sta: module is from the staging directory, the quality is unknown, you have been warned.
usbcore: registered new interface driver rt2870

modprobe rt2870sta ничего не возвращает.

А должен?
Открой lsmod.

Ещё можно рекомендовать проверку физического наличия:
find /lib/modules | grep rt287

:wq
--
Live free or die

lsmod

lsmod

Module                Size  Used by
rt2870sta             318502  0

find /lib/modules | grep rt287

/lib/modules/2.6.39-gentoo-r3/kernel/drivers/staging/rt2870
/lib/modules/2.6.39-gentoo-r3/kernel/drivers/staging/rt2870/rt2870sta.ko

Да, вообще не

Да, modprobe вообще не должен))

Видимо проблема в том, что

Видимо проблема в том, что ядро не подхватывает устройство.
Нужен совет как поступить в данном случае.

tail -f /var/log/messages

tail -f /var/log/messages подключить-отключить устройство, посмотреть вывод.
Аналогично с udevadm monitor
dmesg на наличие строк ra0, rt2870, firmware, net.
При подключенном устройстве

rmmod rt2870
modprobe rt2870
modinfo rt2870

буду честен, я не знаю, почему у меня все работает

:(

Ситуация следующая:

tail -f /var/log/messages

Выводит только цифру "1" и все.
Подключение/отключение устройства не влияет никак)

udevadm monitor при отключении/включении устройства:

KERNEL[1315300649.062523] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0/queues/rx-0 (queues)
KERNEL[1315300649.062561] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0/queues/tx-0 (queues)
KERNEL[1315300649.062580] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0 (net)
UDEV  [1315300649.063282] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0/queues/rx-0 (queues)
UDEV  [1315300649.063317] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0/queues/tx-0 (queues)
KERNEL[1315300649.080446] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/1-4:1.0 (usb)
KERNEL[1315300649.080490] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/usb_device/usbdev1.3 (usb_device)
KERNEL[1315300649.080518] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4 (usb)
UDEV  [1315300649.081184] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/1-4:1.0 (usb)
UDEV  [1315300649.081763] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/usb_device/usbdev1.3 (usb_device)
UDEV  [1315300651.069848] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0 (net)
UDEV  [1315300651.070498] remove   /devices/pci0000:00/0000:00:10.4/usb1/1-4 (usb)
KERNEL[1315300654.337333] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4 (usb)
KERNEL[1315300654.338551] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/1-4:1.0 (usb)
KERNEL[1315300654.339553] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0 (net)
KERNEL[1315300654.339590] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0/queues/rx-0 (queues)
KERNEL[1315300654.339612] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0/queues/tx-0 (queues)
KERNEL[1315300654.339635] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/usb_device/usbdev1.4 (usb_device)
UDEV  [1315300654.340686] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4 (usb)
UDEV  [1315300654.342156] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/1-4:1.0 (usb)
UDEV  [1315300654.343006] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/usb_device/usbdev1.4 (usb_device)
UDEV  [1315300654.348698] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0 (net)
UDEV  [1315300654.349151] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0/queues/rx-0 (queues)
UDEV  [1315300654.349414] add      /devices/pci0000:00/0000:00:10.4/usb1/1-4/net/wlan0/queues/tx-0 (queues)

dmesg | grep ra0 - нет

dmesg | grep rt28

rt2870sta: module is from the staging directory, the quality is unknown, you have been warned.
usbcore: registered new interface driver rt2870
usbcore: deregistering interface driver rt2870
rt2870sta: module is from the staging directory, the quality is unknown, you have been warned.
usbcore: registered new interface driver rt2870
rt28xx Initialized fail!
rt28xx Initialized fail!
usbcore: deregistering interface driver rt2870
rt2870sta: module is from the staging directory, the quality is unknown, you have been warned.
usbcore: registered new interface driver rt2870

dmesg | grep firmware

usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)
usb 1-4: firmware file rt3070.bin request failed (-2)

dmesg | grep net

audit: initializing netlink socket (disabled)
8139cp: 8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004)
8139too: 8139too Fast Ethernet driver 0.9.28
rtusb_disconnect: unregister usbnet usb-0000:00:10.4-4
rtusb_disconnect: unregister usbnet usb-0000:00:10.4-4
rtusb_disconnect: unregister usbnet usb-0000:00:10.4-4
rtusb_disconnect: unregister usbnet usb-0000:00:10.4-4

rmmod rt2870

ERROR: Module rt2870 does not exist in /proc/modules

Но есть модуль rt2870sta

rmmod rt2870
modprobe rt2870sta

modinfo rt2870sta

filename:       /lib/modules/2.6.39-gentoo-r3/kernel/drivers/staging/rt2870/rt2870sta.ko
version:        2.1.0.0
license:        GPL
description:    RT2870/RT3070 Wireless Lan Linux Driver
author:         Paul Lin <paul_lin@ralinktech.com>
firmware:       rt3071.bin
firmware:       rt3070.bin
firmware:       rt2870.bin
srcversion:     93C0C58E1A016FE5BD4DC9F
alias:          usb:v0411p015Dd*dc*dsc*dp*ic*isc*ip*
....
alias:          usb:v148Fp2770d*dc*dsc*dp*ic*isc*ip*
depends:        usbcore,crc-ccitt
staging:        Y
vermagic:       2.6.39-gentoo-r3 SMP mod_unload modversions 686
parm:           mac:rt28xx: wireless mac addr (charp)

Ну, почти всё в порядке,

Ну, почти всё в порядке, firmware не цепляется.

usb 1-4: firmware file rt3070.bin request failed (-2)
ERROR: Module rt2870 does not exist in /proc/modules

Как предложение, пересобрать ядро, не забыв удалить остатки предыдущей сборки и затерев содержимое /lib/modules. После чего попробовать найти искомый firmware в net-wireless/rt73-firmware.

буду честен, я не знаю, почему у меня все работает

Решено :)

Большое спасибо, mib, Anarchist и конечно же Gremlin_86.

Косяк был мой - не поставил галку при сборке ядра напротив USB драйвера.
Ядро пересобрал, все работает отлично.

Выкладываю конфиги для тех, кто просил, тем кто не нашел решения и тех, кто, возможно,будет искать ))

Настройка DWA-125 (Ralink2870):

Предварительно в ядре нужно поставить галку о поддержке нашего драйвера.
Включаем следующие пункты:

device drivers->network device support-> wireless LAN
В нём модулем ralink driver support, а в нём Ralink rt27xx/rt28xx/rt30xx (usb) support и там галка на rt2800usb - include support for unknown (USB) devices

modprobe rt2870usb

Учитывая, что br0 - это мост (кабель и wi-fi).

nano /etc/conf.d/hostapd

INTERFACES="br0"
CONFIGS="/etc/hostapd/hostapd.conf"

nano /etc/hostapd/hostapd.conf

interface=wlan0              # Интерфейс, на который подключен адаптер
bridge=br0                   # Интерфейс. В нашем случае это тот же мост.
driver=nl80211               # Драйвер
ssid=GentooAP                # SSID (имя) сети
channel=11
hw_mode=g
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2                        # Уровень шифрования
#wpa_passphrase=Наш пароль   # Нужно закомментировать след строку и раскомментировать эту, если хотим просто использовать пароль.
wpa_psk_file=/etc/hostapd/hostapd.wpa_psk # используем эту строчку, если вместо пароля хотим задать авторизацию по MAC+PASS.
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
#accept_mac_file=/etc/hostapd/hostapd.accept # Список MAC, которым разрешено подключаться.
#deny_mac_file=/etc/hostapd/hostapd.deny      # Список MAC, которым запрещено подключаться.

nano /etc/hostapd/hostapd.wpa_psk

00:80:56:67:d4:dc Наш пароль_1 на доступ к сети
18:14:56:d9:67:76 Наш пароль_2 на доступ к сети
00:45:ed:d4:67:c4 Наш пароль_3 на доступ к сети

nano /etc/conf.d/net

config_eth1=( "null") config_wlan0=( "null" ) bridge_br0=( "eth1" ) 
config_br0=( "10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255" )

Хотелось бы увидеть/услышать критику в сторону безопасности.
Заранее благодарен.
Всем еще раз спасибо!

Незнаю тонкостей реализации

Незнаю тонкостей реализации Host AP, но TKIP потенциально небезопасен, лучше AES. Также, для атакующего не большой проблемы вычислить ssid и подменить mac - пусть они не дают чувства ложной безопасности. Если паранойя зашкаливает, то WPA2-EAP твой друг. Только сначала стоит подумать о том, есть ли что защищать с такой силой?

А как насчет n? Не удалось

А как насчет n? Не удалось завести? или данный девайс не поддерживает?

TKIP и n не дружат. Тоесть, в

TKIP и n не дружат. Тоесть, в указанной конфигурации n невозможен в принципе.

А что-то я не понял. что это

А что-то я не понял, что это за модуль rt2870usb ? нет такого. Видимо имется ввиду rt2800usb, с ним работает.
Теперь бы только параноидальное шифрование настроить, например wpa2-eap.

Нашлось несколько ссылок на эту тему, надо аккумулировать.

http://uma-wiki.network-mobility.org/index.php5?title=WPA2-PSK_/_WPA2-EAP-TLS_/_WPA2-EAP-TTLS_clients
http://www.codealias.info/technotes/hostapd_radius_server_configuration_howto
http://www.ixbt.com/comm/prac-wpa-eap_3.shtml
http://otvety.google.ru/otvety/thread?tid=3c270b6feae7126b&pli=1

В общем, если кому-то интересно, отпишите - состряпаю пошаговое руководство по настройке этой паранои.

Инструкция по настройке

Инструкция по настройке wpa2-eap-tls.
В данной конфигурации необходимо сгенерировать ssl сертификаты как для сервера так и для каждого клиента в отдельности. Ключи до клиентов доставляются до подключения к сети.
Запустить все это, не включая в мост, у меня не вышло, но я не особо и пытался, ибо не надо. С включением адаптеров на этом чипе в мост есть баг (не помню где вычитал, но это гуглится) поэтому в /etc/conf.d/net надо поиметь что-то типа этого (у меня мост без Wifi состоит из eth1 eth2 eth3):

bridge_br0="eth1 eth2 eth3"
config_br0="192.168.1.1 netmask 255.255.255.0 brd 192.168.1.255"
config_eth1="null"
config_eth2="null"
config_eth3="null"
config_wlan0="null"

hostapd.conf (взято отсюда и допилено под нужды - включено "ieee80211n=1" и WiFi запихан в мост "bridge=br0", есть немного мусора для wpa2-eap)

Правим файл /etc/hostapd/hostapd.eap_user до такого состояния:

* TLS

Файл /etc/hostapd/hostapd.radius_clients, вроде, вообще не нужен (как я понял - используется для предоставления RADIUS услуг другим софтинам), но там я, на всякий случай, изменил пасс у существующих строчек, примерно так:

10.1.2.3        mypass
192.168.1.0/24  mypass
0.0.0.0/0       mypass

Осталось сгенерировать ключи. Очень хорошая статья вот тут http://www.ixbt.com/comm/prac-wpa-eap_3.shtml , делаем по пунктам 1 и 2 - "Создание собственного сертификационного центра" и "Выдача сертификатов".
Единственная неточность: в hostapd.conf указано

# CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
#ca_cert=/etc/ssl/wifi/ca/cacert.pem
ca_cert=/etc/ssl/wifi/anaks-home-ca.crt

# Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
server_cert=/etc/ssl/wifi/certificates/radius.anaks-home.ru.crt

так вот, эти ключи создаются в пунктах 1.2 и 2.2 хоть в статье они и не обозначаются как .PEM или .DER .

Если hostapd ругается на отсутствие каких-то конфигов - пробуем создать их пустыми.

Если что-то нужно уточнить - спрашиваем, настраивал давно, мог что-то упустить.

/

anaksimandr написал(а):
hostapd.conf (взято отсюда и допилено под нужды - включено "ieee80211n=1" и WiFi запихан в мост "bridge=br0", есть немного мусора для wpa2-eap)

Боюсь недолго оно там проживёт.
Поэтому просьба: нашептать не ушко нашей Вике :).

anaksimandr написал(а):
Осталось сгенерировать ключи. Очень хорошая статья вот тут http://www.ixbt.com/comm/prac-wpa-eap_3.shtml , делаем по пунктам 1 и 2 - "Создание собственного сертификационного центра" и "Выдача сертификатов".

А вот это совсем нехорошо.
Тема генерации сертификатов (начиная с Центра Авторизации и далее к серверу и клиенту) раскрыта на http://ru.gentoo-wiki.com/
Потому ссылки на иксбит... неуместны.

:wq
--
Live free or die

Извините, но я на

Извините, но я на ru.gentoo-wiki.com ничего кроме этого не нахожу. А данная статья такому дереву как я помочь не смогла.

/

anaksimandr написал(а):
Извините, но я на ru.gentoo-wiki.com ничего кроме этого не нахожу. А данная статья такому дереву как я помочь не смогла.

А выводы, выводы? :)
Надо совершенствовать. Статью к родной wiki и себя.
И без твоего (как минимум) активного участи сие невозможно.

ЗЫ: Дополнить эту статью с учётом применения описанного на иксбите (с вероятной доработкой моментов, которые ты сразу не понял) можно и нужно.

:wq
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".