調べたらいろいろ分かってきた。
iwconfig wlanN mode master
- NDISWrapper は× (NDISWrapper の FAQ を参照)。
- b43 も× (Invalid Argument とか言われた)。
- rtXXXX も legacy のドライバでは無理のようだ(パッケージに STA (station)ドライバと記されている)。
で、いろいろ巡っていたら hostapd - Linux Wireless によれば
The mac80211 subsystem moves all aspects of master mode into user space. It depends on hostapd to handle authenticating clients, setting encryption keys, establishing key rotation policy, and other aspects of the wireless infrastructure. Due to this, the old method of issuing 'iwconfig
mode master' no longer works. Userspace programs like hostapd now use netlink (the nl80211 driver) to create a master mode interface for your traffic and a monitor mode interface for receiving and transmitting management frames.
http://linuxwireless.org/en/users/Documentation/hostapd - hostapd - Linux Wireless
つまり、とてつもなく短く要約すると
# iwconfig wlanN mode master
は古い方法なのでもう動かないだろうと書いてある。
そこで登場するのが、上のページに書いてある
hostapd
だ。IEEE 802.11 Authenticator ということらしいが僕にはさっぱり(笑)
Momonga Linux には入っていないので(ディストリビュータから配布は Ubuntu、Debian か BSD でしかない?)、ビルドしてみた。
さすがは Momonga Linux のことだけあって libnl が 1.1 まで上がっている。このバージョンじゃないとビルドできなかったらしいがそんなこと知らずにあっさり通った。
さて、手元の無線は HP 製の(?) Broadcom Corporation BCM4311 802.11b/g WLAN のチップだ。Hewlett-Packard のページでも
無線LAN | 内蔵IEEE 802.11b/g 無線LAN (Broadcom〓、WiFi準拠、オン/オフボタン付き) |
無線LANセキュリティ | 64/128bit WEP, WPA, WPA2, hardware-accelerated AES, 802.1x authentication types EAP-TLS, EAP-TTLS, PEAP-GTC, PEAP-MSCHAPv2, LEAP, EAP-FAST, EAP-SIM |
としか記載されていない。Master Mode が動作するかどうかは定かではない。その一方で Buffalo の PCI 接続のモノで BCM4306 が搭載されたモノは使えたという情報がある(参照: http://wireless.erley.org/ )
とりあえず、
interface=wlan1 driver=nl80211 ssid=test
で
# hostapd ./hostapd.conf
を起動したあと、
# iwconfig wlan1
してみたら Mode は Master になっていた。
wlan1 IEEE 802.11bg Mode:Master Frequency:2.412 GHz Tx-Power=20 dBm Retry min limit:7 RTS thr=2347 B Fragment thr=2346 B Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
これ以外にパソコンが1台しかないので PSP を使ってアクセスポイントを探してみたが見付からなかった。ifconfig で追跡してみたが、検索している間にパケット数は増えなかった。ふーむ。つかえないのかねぇ・・・。
[root@lugia-castle ipv4]# hostapd -dd -B /home/lugia/hostapd.conf Configuration file: /home/lugia/hostapd.conf ctrl_interface_group=0 Opening raw packet socket for ifindex 209 BSS count 1, BSSID mask ff:ff:ff:ff:ff:ff (0 bits) SIOCGIWRANGE: WE(compiled)=22 WE(source)=21 enc_capa=0xf nl80211: Added 802.11b mode based on 802.11g information Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=12 freq=2467 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=13 freq=2472 MHz max_tx_power=20 dBm Allowed channel: mode=1 chan=15 freq=2484 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=12 freq=2467 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=13 freq=2472 MHz max_tx_power=20 dBm Allowed channel: mode=0 chan=15 freq=2484 MHz max_tx_power=20 dBm RATE[0] rate=10 flags=0x2 RATE[1] rate=20 flags=0x6 RATE[2] rate=55 flags=0x6 RATE[3] rate=110 flags=0x6 RATE[4] rate=60 flags=0x0 RATE[5] rate=90 flags=0x0 RATE[6] rate=120 flags=0x0 RATE[7] rate=180 flags=0x0 RATE[8] rate=240 flags=0x0 RATE[9] rate=360 flags=0x0 RATE[10] rate=480 flags=0x0 RATE[11] rate=540 flags=0x0 Passive scanning not supported Flushing old station entries Deauthenticate all stations Using interface wlan1 with hwaddr 00:1a:73:49:1e:cf and ssid 'test' wlan1: Setup of interface done.
それともつかえるのかねぇ・・・
$ iw list Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point
その他の情報
Ubuntu Server で Wireless Access Point を作る (英語)
ブリッジを作成する (Debian なのでそのままでは使えず。) brctl で作って試してみたが、多分、それ以前の問題かも。
対応ドライバリスト (英語) AP (Access Point Infrastructure) のところをみれば良いらしいんだが・・・。
CRDA - Linux Wireless これもいれなくちゃダメ?
RT2X00 での動作実績 不満そうだが動いているらしい。RT3070 を期待している。