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 とすると、面倒なコマンドを打たなくてすみます。 |