我が家のLinuxのサーバであるFMV-7090MT4には、PCカードスット×1とCFカードスロット×1が付いている。PCカードはEthernetカードを入れてあり、CFカードにはPSPとDSのために WLI2-CF-S11 をhostap 機能でAP(アクセスポイント)化してある。サーバのHDDがポシゃったため、再インストールしてから構築する時にメモが無く苦労したので、ここに残しておく。
- カーネルの再構築:
drivers/net/wireless/hostap/hostap_cs.c の 810行目あたりに以下を追加する。もしかしたらソースに記載しなくてもいいのかもしれないけれど良くわからないので追加した。当然ながら、hostap と、wireless lan 自体を使えるようにしておくことPCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI2-CF-S11", 0x2decece3, 0x3beea320),
- hostapd のコンパイル:
ドライバは hostp にてコンパイルすること。 - hostpad の設定
以下のとおり、hostapd.conf を設定した。interface=wlan0 driver=hostap logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=0 dump_file=/tmp/hostapd.dump ctrl_interface=/var/run/hostapd ssid=##SSID ignore_broadcast_ssid=2 country_code=JP ieee80211d=1 hw_mode=b channel=2 beacon_int=100 dtim_period=2 max_num_sta=255 rts_threshold=2347 fragm_threshold=2346 macaddr_acl=1 accept_mac_file=/usr/local/hostapd/etc/mac.accept # ← 当然PSP,DSの無線LANのMACアドレスを記載しておく deny_mac_file=/usr/local/hostapd/etc/mac.deny auth_algs=3 wep_default_key=0 wep_key0=##WEPのキー
- wlan0の設定
/etc/sysconfig/network-scripts/ifcfg-wlan0 の内容が dhcp で取得する内容となっていたので、静的に割当てるように変更する。# BUFFALO WLI2-CF-S11 DEVICE=wlan0 BOOTPROTO=static ONBOOT=yes IPADDR=##IPアドレス NETMASK=##サブネットマスク HWADDR=##MACアドレス
- hostapd の起動
起動は起動スクリプトから行なうこと!(ここで大分ハマった)。
起動スクリプトでは起動だけでなく、iwconfig により、wep keyの設定を行なっている。そのため、hostapd を単体で起動させても wep キーが設定されず、うまく繋らない。 - iptablesの設定
wlan0 はDS,PSPのネット接続が目的であるため wep という脆弱な暗号化しかかけられない。そのため、iptables でネットに出ていく方向のみ許可するようなルールを追加しておく