WLI2-PCI-G54をFreeBSDで使う


-currentでないとndis(4)は使えません。
昨夜、ごりごりとcvsupさせたので、朝からbuildworldしました。んで、
まず、melcoのdriverのcdからWLI2-PCI-G54のinfを探す。
と、net2pg54.infに書いてあってその下の行にbcmwl5.sysを使うっぽい
ことが書いてある。
というわけで、
# ndiscvt -s bcmwl5.sys -i net2pg54.inf -o /root/ndis_driver_data.h
としてやって、ndiscvtを使って、FreeBSD用のデータファイルに変換します。
出来上がったndis_driver_data.hを/sys/modules/if_ndis/ に置いてやり、
loadble moduleを作り、ロードしてやります。
# mv /root/ndis_driver_data.h /sys/modules/if_ndis/
# cd /sys/modules/if_ndis/
# make
# ls *.ko
if_ndis.ko*
# kldload ./if_ndis.ko
んで、dmesgを見ると
ndis0: mem 0xed200000-0xed201fff irq
17 at device 8.0 on pci0
ndis0: [GIANT-LOCKED]
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: xx:xx:xx:xx:xx:xx
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
認識されてます。素晴らしい!
# ifconfig ndis0
ndis0: flags=8802 mtu 1500
ether xx:xx:xx:xx:xx:xx
media: IEEE 802.11 Wireless Ethernet autoselect
status: no carrier
ssid “”
channel -1 authmode OPEN powersavemode OFF powersavesleep 100
rtsthreshold 2312 protmode CTS
wepmode OFF weptxkey 1
んで、ifconfigしてみる。
# ifconfig ndis0 192.168.11.1 255.255.255.0 ssid ほげ channel 10 wepmode mixed wepkey ほげ
動いた。
が、しかし…
# ifconfig ndis0 192.168.11.1 255.255.255.0 ssid ほげ channel 10 wepmode mixed wepkey ほげ mediaopt hostap
ifconfig: SIOCSIFMEDIA (mediaopt): Device not configured
がーん。アクセスポイントにはできないっぽい
# wicontrol ndis0
NIC serial number: [ ]
Station name: [ ほげ ]
SSID for IBSS creation: [ ほげ ]
Current netname (SSID): [ ほげ ]
Desired netname (SSID): [ ほげ ]
Current BSSID: [ 00:00:00:00:00:00 ]
Channel list: [ ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff 3fff ]
IBSS channel: [ 10 ]
Current channel:[ 10 ]
Comms quality/signal/noise: [ 0 0 0 ]
Promiscuous mode: [ Off ]
Intersil-Prism2 based card: [ 1 ]
Port type (1=BSS, 3=ad-hoc): [ 1 ]
MAC address: [ ほげ ]
TX rate (selection): [ 0 ]
TX rate (actual speed): [ 11 ]
RTS/CTS handshake threshold: [ 2312 ]
Create IBSS: [ Off ]
Access point density:[ 1 ]
Power Mgmt (1=on, 0=off): [ 0 ]
Max sleep time: [ 100 ]
WEP encryption: [ On ]
TX encryption key: [ 1 ]
Encryption keys:[hogehoge][ ][ ][ ]
なんでだろ、man wiとかすると
Create a host-based access point with WEP enabled (Prism only):
ifconfig wi0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \
wepmode on wepkey 0x1234567890 media DS/11Mbps \
mediaopt hostap
Create a host-based wireless bridge to fxp0 (Prism only):
Add BRIDGE to the kernel config.
ifconfig wi0 inet up ssid my_ap media DS/11Mbps mediaopt hostap
sysctl net.link.ether.bridge.enable=1
sysctl net.link.ether.bridge.config=”wi0 fxp0″
sysctl net.inet.ip.check_interface=0
と書いてあるのが問題かなぁ。
http://arkiv.netbsd.se/?list=freebsd-current&a=2004-05&mid=238068
http://lists.freebsd.org/pipermail/freebsd-current/2004-May/thread.html#28024
ここらへんを見てみると、EnableSoftAPがミソっぽい。
ので、ndis_driver_data.hを書き換えてみるけどだめぽ
ということで、クライアントには使えるけれども、アクセスポイントにはできませんでした。(泣)
これ以上は面倒なので、素直にPrismのカード買ってこようかな。。。
ちなみに起動時に勝手に起きてくるようにするには、
/boot/localer.confに
ndis_load=”YES”
if_ndis_load=”YES”
と書いておくらしいんですが、未調査です。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>