Построение точки доступа на основе моего маршрутизатора на
FreeBSD
1. попал мне в руки wifi свисток
D-Link DWA-140, а точнее два таких свистка
2. и решил я сделать у себя в хате wifi, практического смысла особо нет, зато есть предмет для $@ли
3. запихал я его в USB и посмотрел
/var/log/messages bsd kernel: ugen4.2: at usbus4
bsd root: Unknown USB device: vendor 0x07d1 product 0x3c09 bus uhub4
оказалось FreeBSD-8.0-R не поддерживает такое устройство
4. очередное изучение сайта
FreeBSD показало, что поддержку устройств на чипах
Ralink RT2700U/RT2800U/RT3000U соорудили в
FreeBSD 8.1-RELEASE под именем
run
5. изучение
их SVN-репозитария показало, что последние на текущий момент исправления в драйвере /sys/dev/usb/wlan/if_run.c были сделаны 2011-01-20, поэтому было решено обновиться до
8.2-RELEASE, что собственно и было вполне успешно сделано, скачав это все svn'ом и выполнив постройку мира
6. понятно, что при построении нового ядра было вставлено
device run; для изучения подробностей
man run и
man wlan будут вполне полезны
7. в
/boot/loader.conf было добавлено
runfw_load="YES"
8. после перезагрузки и втыкания свистка
/var/log/messages показал, что новое ядро успешно распознало его как
run0:
bsd kernel: ugen4.2: at usbus4
bsd kernel: run0: <1.0> on usbus4
bsd kernel: run0: MAC/BBP RT2860 (rev 0x0103), RF RT2820 (MIMO 2T2R), address 00:21:91:99:14:58
bsd kernel: run0: firmware RT2870 loaded
9. создал
/etc/hostapd.conf по многим примерам из интернета:
interface=wlan0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
driver=bsd
debug=4
ssid=my_wifi
wpa=3
wpa_passphrase=PassWord
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
10. для раздачи адресов в wifi с помощью DHCP в
/usr/local/etc/dhcpd.conf вписал мою сетку:
subnet 192.168.11.0 netmask 255.255.255.0 {
........range 192.168.11.2 192.168.11.255;
........option broadcast-address 192.168.11.255;
........option domain-name-servers 192.168.11.1;
........option routers 192.168.11.1;
}
11. для доступности дисков через wifi на прочих устройствах приписал к
/usr/local/etc/smb.conf:
interfaces 192.168.1.1/24 192.168.11.1/24
12. добавления в
/etc/rc.conf по советам из инета:
wlans_run0="wlan0"
create_args_wlan0="wlanmode hostap ssid my_wifi mode 11g channel 7"
ifconfig_wlan0="inet 192.168.11.1 netmask 255.255.255.0 up"
hostapd_enable="YES"
dhcpd_enable="YES"
dhcpd_ifaces="wlan0"
обращаю внимание на
up в конце
ifconfig_wlan0=.... - без него не устанавливались адреса на интерфейс
wlan0
13. в результате всего этого после перезагрузки
ifconfig рассказывает следующее:
run0: flags=8843 metric 0 mtu 2290
........ether 00:21:91:99:14:58
........media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
........status: running
wlan0: flags=8843 metric 0 mtu 1500
........ether 00:21:91:99:14:58
........inet 192.168.11.1 netmask 0xffffff00 broadcast 192.168.11.255
........media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
........status: running
........ssid my_wifi channel 7 (2442 MHz 11g) bssid 00:21:91:99:14:58
........country US authmode WPA1+WPA2/802.11i privacy MIXED deftxkey 2
........TKIP 2:128-bit TKIP 3:128-bit txpower 0 scanvalid 60 protmode CTS wme
........dtimperiod 1 -dfs
14. при установке же
D-Link DWA-140 в WindowsXP конкретно у меня возникли некие странности: стандартный виндовый менеджер беспроводных сетей ничего не показывал и как-то подглюкивал; возможно это из-за SP2 на всех домашних компах, т.к. на работе с SP3 все нормально
15. установка на винду
ftp://ftp.dlink.com/Wireless/dwa140/Drivers/dwa140_drivers_130.zip исправила ситуацию и со свежеустановленным d-link'овским беспроводным менеджером все стало просто замечательно