VineLinux? 3.1 で ThinkPad? X23 無線LAN

ThinkPad X23
VineLinux 3.1 kernel 2.4.27-0vl7

無線LANモジュールについて

X23の無線LANはMiniPCIモジュールとして搭載されています。lspciを実行すると確認することができます。

# /sbin/lspci -v
...

02:05.0 Network controller: Intersil Corporation Prism 2.5 Wavelan chipset (rev 01)
        Subsystem: Actiontec Electronics Inc: Unknown device 0406
        Flags: bus master, medium devsel, latency 64, IRQ 11
        Memory at f0000000 (32-bit, prefetchable) [size=4K]
        Capabilities: [dc] Power Management version 2

...

残念ながらカーネルにはドライバが入っていません。そこで、linux-wlanプロジェクトのドライバをコンパイルして使用します。

下準備

linux-wlanで配布されているドライバをコンパイルするにはカーネルのソースとpcmcia-csのソースが必要です。VineLinux?の場合、カーネルのソースはapt-getで取得することができます。

# apt-get install kernel-source

カーネルのソースファイルは通常 /usr/src/linux に展開されます。後々、.configファイルが必要となるので、

# uname -rm
2.4.27-0vl7 i686

でカーネルのバージョンを確認した後、

# cd /usr/src/linux
# cp configs/kernel-2.4.27-i686.config ./.config

としてコピーしておきます。

pcmcia-csのソースはapt-getで取得できないので、

# rpm -qa|grep pcmcia-cs
kernel-pcmcia-cs-3.2.7-0vl3

でバージョンを確認した後、同じバージョンのソースファイルをダウンロードします。

# wget http://pcmcia-cs.sourceforge.net/ftp/OLD/pcmcia-cs-3.2.7.tar.gz /tmp

そして、 /usr/src 以下に展開します。

# cd /usr/src
# tar zxf /tmp/pcmcia-cs-3.2.7.tar.gz

最後に、linux-wlanからソースをダウンロードし、展開します。

# wget ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-0.2.0.tar.gz /tmp
# cd /usr/src
# tar zxf /tmp/linux-wlan-ng-0.2.0.tar.gz

コンパイル&インストール

それではコンパイルしていきます。まずはじめにコンフィギュレーションを行います。色々と表示されますが、

# cd /usr/src/linux-waln-ng-0.2.0
# make config
...

Build Prism2.5 native PCI (_pci) driver? (y/n) [n]: y

...

という項目だけ'y'として、後はデフォルト(何も入力せずにEnter)でかまいません。

Configuration successful.

と表示されたら、コンフィギュレーションは成功です。次にコンパイルしてインストールします。

# make all
# make install

設定

まずはモジュールのエイリアスを登録しましょう。

# echo 'alias wlan0 prism2_pci' >> /etc/modules.conf

次に、ネットワークパラメータの設定ファイルを作成します。とりあえず、

# /etc/sysconfig/network-scripts/ifcfg-wlan0
DEVICE=wlan0
BOOTPROT=dhcp
ONBOOT=no

というファイルを作成しましょう。

接続

WEPで暗号化されていないアクセスポイントにつなぐときは、

# /sbin/wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
# /sbin/wlanctl-ng wlan0 lnxreq_autojoin ssid=000000SOSHIKI authtype=opensystem

とします。WEPで暗号化されているアクセスポイントにつなぐときは、

# /sbin/wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
# /sbin/wlanctl-ng wlan0 lnxreq_autojoin ssid=000000SOSHIKI authtype=sharedkey
# /sbin/wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKey0=00:00:00:00:00:00:00:00:00:00:00:00:00
# /sbin/wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11PrivacyInvoked=true
# /sbin/wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKeyID=0

とします。dot11WEPDefaultKey0にはWEPキーを16進数表記にして設定します。文字列から16進数表記に変換するには、

# echo -n 'abcdefghijklm' | hexdump -e '13/1 "%02x:" "\n"' | cut -d ':' -f 1-13

とかしてください。

そして、

# /sbin/ifup wlan0

とすればつながります。

アクセスポイントの検索

アクセスポイントの検索は次のようにします。

# /sbin/wlanctl-ng wlan0 dot11req_scan bsstype=any bssid=ff:ff:ff:ff:ff:ff ssid="" scantype=active channellist=01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e minchanneltime=10 maxchanneltime=100
message=dot11req_scan
  bsstype=any
  bssid=ff:ff:ff:ff:ff:ff
  ssid=''
  scantype=active
  probedelay=no_value
  channellist=01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e
  minchanneltime=10
  maxchanneltime=100
  resultcode=success
  numbss=13

見つかったアクセスポイントの数がnumbssです。各アクセスポイントの状況を確認するには、

# /sbin/wlanctl-ng wlan0 dot11req_scan_results bssindex=0

とします。bssindexには0〜numbss-1までの数字をいれます。

wlanスクリプトの利用

いちいちコマンドで設定するのが面倒な場合は、/etc/wlan/wlan.confに設定することで楽することができます。SSIDが"000000SOHIKI"だとすると、/etc/wlan/wlan.confのSSID_wlan0という項目にSSIDを設定します。

# /etc/wlan/wlan.conf
...

SSID_wlan0="000000SOSHIKI"

...

次に、

# cd /etc/wlan
# cp wlancfg-DEFAULT wlancfg-000000SOSHIKI

とします。SSIDが"000000SOSHIKI"のアクセスポイントに対する接続設定ファイルが、"wlancfg-000000SOSHIKI"となります。このファイルには色々設定項目がありますが、

# wlancfg-000000SOSHIKI
...

# WEPを使用する
lnxreq_hostWEPEncrypt=true
lnxreq_hostWEPDecrypt=true
dot11PrivacyInvoked=true

# WEPが128bitの場合
#PRIV_KEY128=true

# WEPキーの番号
dot11WEPDefaultKeyID=0

# 0番目のWEPキー
dot11WEPDefaultKey0=00:00:00:00:00:00:00:00:00:00:00:00:00

# WEPによる認証が必要
AuthType="sharedkey"

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

...

などを設定して、

# /sbin/service wlan start
# /sbin/ifup wlan0

とすると、面倒なコマンドを打たなくてすみます。


リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Tue, 21 Dec 2004 12:23:07 JST (3600d)