2013年4月11日木曜日

Thinkpad i1124 + CentOS + WLI-CB-G54 で無線LAN

ethernetを持たないthinkpad i1124を無線LANにつなぐ件。

USB LANアダプタで有線LANにつないでいたんだけど簡易コネクタ?のせいで
ちょっと触っただけで接触不良、接続が切れてしまう。

ハードオフでPCMCIAカードでコネクタ内蔵のカードを買ってきたんだけどどうもうまくいかない。

手持ちの無線LANカードWLI-CB-54があることに気づき、挿してみた。

■まずlspciで認識できているかを調べた

# lspci
~~ 略 ~~
01:00.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)

Broadcom BCM4306として認識されているようだ。

■firmwareの入手

なんやら、firmwareが必要とのことだ。
Windows用のドライバから抜き出すプログラムを使って準備するらしい。
が、ここで問題。 抜き出すプログラムが対応しているWindows用のドライバに相性がある。
適当に入手したやつだとだめだった。

先人のHPにあったものをありがたく頂戴する。

bcm43xx-fwcutter-006.tar.bz2がfirmwareを抜き出すプログラム。makeが必要。
bcmwl5.sysがwindows用のドライバ。

そのページにあるようにbcm43xx-fwcutterで抜き出された*.fwを/lib/firmwareへ移す

# ./bcm43xx-fwcutter bcmwl5.sys 
# mv *.fw /lib/firmware/ 

■ wpa_supplicantの設定

使っているCentOSには入ってた。
デーモンになっていて接続の面倒を見てくれるみたい。

1./etc/sysconfig/wpa_supplicant 下記のようにした。 OTHER_ARGSに -u を設定するとだめだった。 また自分の環境では eth1 として認識されていたためそのように設定した
# Use the flag "-i" before each of your interfaces, like so:
#  INTERFACES="-i eth1 -i wlan0"
# INTERFACES="-i wlan0"
INTERFACES="-i eth1"

# Use the flag "-D" before each driver, like so:
#  DRIVERS="-D wext"
#DRIVERS="-D wext"

# Other arguments
#   -u   Enable the D-Bus interface (required for use with NetworkManager)
#   -f   Log to /var/log/wpa_supplicant.log
#OTHER_ARGS="-w -u -f /var/log/wpa_supplicant.log"
OTHER_ARGS="-w -f /var/log/wpa_supplicant.log"

2. /etc/wpa_supplicant/wpa_supplicant.conf 下記のようにした。CCMPとはAESのことを指すらしい。 ググったものでは ap_scanや、scan_ssidが設定されていたが自分の環境で指定するとだめだった。

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
#ap_scan=0
#network={
#       ssid="any"
#       key_mgmt=NONE
#}

network={
        ssid="STARFLEET"
#       scan_ssid=1
        key_mgmt=WPA-PSK
        proto=WPA WPA2
        pairwise=CCMP TKIP
        group=CCMP TKIP
        psk=パスフレーズ
}

またパスフレーズは下記コマンドで得られる。上記のひな形みたいな感じの出力が得られる。 パスワードも出力してくれるがセキュリティのため上記ファイルには転記しないこと。(パスワードそのものは”必要ない”)

# wpa_passphrase YOUR_SSID YOUR_PASSWORD
network={
        ssid="YOUR_SSID"
        #psk="YOUR_PASSWORD"
        psk=計算してくれたパスフレーズ
}

3.デーモンの設定。 自分のやつはwpa_supplicantがデフォルトで動いてなかったのでchkconfigで設定

# chkconfig wpa_supplicant on          

■ネットワークの設定 ここは普通に。 eth1として認識されているので ifcfg-eth1 に設定。ここらへんはあなたの環境に合わせて。
/etc/sysconfig/network-scripts/ifcfg-eth1 の内容

# MELCO BUFFALO WLI-CB-G54
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.1.0
NETMASK=255.255.255.0
GATEWAY=YOUR.GATEWAY.ADDRESS.DAYO
IPADDR=YOUR.IP.ADDRESS.DAYO
HWADDR=aa:bb:cc:dd:ee:ff

でインターフェース起動
# ifup eth1

またはネットワーク再起動
# service network restart

■LANカードを挿し直す。
たぶん、大丈夫。
さらに念のため再起動して上記の設定が反映されていることを確認。

0 件のコメント:

コメントを投稿