go back top

prismチップの無線LANを使いたい。

linuxカーネルを作り直す。


無線LANカード
IO-DATAのprism3チップのWN-B11/PCMH

環境
os:Debian GNU/Linux 3.0 sid(unstable)(woodyでも確認済み)
machine:Thinkpad s30

内蔵nic(intel e100)がeth0となるので、カーネルの再構築時に prism3 用の PCMCIA サポートをさせるために
Network device support → Wireless LAN (non-hamradio)の所で
Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)とHermes PCMCIA card support を選択する。
そしたら、pcmciaの無線 LAN のインタフェースがeth1になり、あとはIPとかをちゃちゃっと設定するだけ。

追伸:
2chにこのやり方を書き込んだら他のページでも利用されているので、うかつに変なことを書けないなと思った今日この頃(intelのことをinterのままになってたりしてるし)



2003年11月11日追記:
linuxカーネルデフォルトのドライバではscpが出来ないなど、どうも調子が悪い。そこで、linux-wlan-ngを使用してみた。
以下がそのときのメモ。(杉山さんサンクス)

Debian sidで無線LANの設定

まずは、カーネルを作り直す。

cd /usr/src/kernel-source-2.4.22
make menuconfig

以下の設定に気をつける。

Generar Setup -> PCMCIA/Cardbus support ->
<*> PCMCIA/CardBus support
[*] CardBus support
[ ] Databook TCIC host bridge support
[*] i82092 compatible bridge support
[*] i82365 compatible bridge support

とする。

次に一応これも入れとく(入れなくていいと思う)

Network device support -> Wireless LAN(non-hamradio) ->
[*] Wireless LAN (non-hamradio)
< > STRIP (Metricom starmode radio IP)
< > AT&T WaveLAN & DEC RoamAbout DS support
< > Aironet Arlan 655 & IC2200 DS support
< > Aironet 4500/4800 series adapters
< > Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards
<*> Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)

--- Wireless Pcmcia cards support
<*> Hermes PCMCIA card support
< > Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards

あとは、

make dep;make;make install;make modules;make modules_install

でカーネルとモジュールの入れ直しは終了。



次に、linux-wlan-ng-0.2.1-pre9.tar.gzを落としてくる。
linux-wlan-ngのダウンロード

tar -zvxf linux-wlan-ng-0.2.1-pre9.tar.gz
make config
make all
make install

でインストール完了。



次に、/etc/pcmcia/wlan-ng.conf にLANカードの情報を書かないとだめかなと思っていたが、書かなくてもいけたので、うまくいかなかった人は、書いてくださいな。

cardctl ident
Socket 0:
product info: "IO DATA", "WNB11PCMH", "Version 01.02", ""
manfid: 0x028a, 0x0002
function: 6 (network)

こんな感じでカードの情報が取ってこれるので以下のような感じで書いてやる。

card "IO DATA WN-B11/PCMH"
version "IO DATA", "WNB11PCMH"
bind "prism2_cs"



次に/etc/wlan/の中のwlan.confの編集。

SSID_wlan0="ssid名を入れる"
また、ここのssid名は

/etc/wlan/wlancfg-ssid名

みたいに使用します。よって、このファイルを作成するにはwlancfg-DEFAULTをssid名が入った名前にcpして、あとは以下の部分を変更してください。(SSID_wlan0の記述が空だったら自動で持ってきて、wlancfg-ssid名のファイルを見に行くことも確認。でも、dhcpcdでIPを起動時に取得できない。)

lnxreq_hostWEPEncrypt=true # true|false
lnxreq_hostWEPDecrypt=true # true|false
dot11PrivacyInvoked=true # true|false

#wepが128bitだったらtrueに、それ以外はfalseに。(256bitはlinuxでは出来ない) PRIV_KEY128=true # keylength to generate

#wepキーを16進数で入れる
dot11WEPDefaultKey0=00:11:22:33:44:55:66:7788:99:11:22:33

#使用するチャンネル
CHANNEL=6

注意事項としては、
dot11WEPDefaultKeyが128bitの場合は、PRIV_KEY128をtrueにして、dot11WEPDefaultKey0に16進数で入力してください。(ASCIIはうまく動かないみたい。)



次に、起動時にwlan0のインターフェイスでDHCPでIPをもらうために
apt-get install dhcpcdをインストールして、

/etc/network/interfacesを編集する。
auto wlan0
iface wlan0 inet dhcp

また、pumpというDHCPクライアントがある。このコマンドの使い方は、
pump -i wlan0
とコマンドを打つと、DHCPをもらうことが出来る。

通信もとても安定しています。なるべくこのやり方でやるのがおすすめかも。


2003/11/11 Akihiro Kamada wrote