Linuxを初めて触ってから1か月くらい。
何も知らないのに無謀にもいきなりノートPCに無線LANを入れようとしたところ難解すぎて一時はあきらめかけました。
でも10日間PCと格闘した末なんとかようやく繋がりました!!
せっかくなのできちんと手順を記載しておこうと思います。
■使用機器
PC:SOTEC ノートPC WINBOOK WV7150
無線LANルータ:buffalo WHR-G54S
無線LANカード:WLI-CB-G54S
OS:CentOS5
kernel:2.6.18-92.1.10.el5
■LinuxPCへの無線LAN手順
OSインストールしたての状態から順を追って記載します。
yum -y update
⇒OSをインストールしたらyumコマンドで
OSの中身を最新に更新する。
yum -y install kernel kernel-devel
⇒kernel-develをインストール
カーネルソースというもの。
ないとndiswrapperがインストールできない。
yum -y groupinstall "Development Tools"
⇒開発環境をインストール
これも無いとndiswrapperがインストールできず困る。
【ここの部分のみwindowsPCでUSBに入れてLinuxに移動しました】
http://keihanna.dl.sourceforge.net/sourceforge/ndiswrapper/\
ndiswrapper-1.31.tar.gz
⇒ndiswrapperのファイルダウンロード
wdrv-1052.exe
⇒バッファローの無線LANのドライバ。注意点としてはこのファイル展開するとわかりますが何種類もの無線LANドライバが入っているので、今回使用するnetcbg54.inf
だけ取り出す。
【ここまで】
(linux上でも上記はできると思います。特にダウンロードは大丈夫です。ですが、wdrv-1052.exeの展開はなぜかlinuxではできませんでした。
なのでWindowsで展開してからUSBでコピーする手段を取っています。)
mout -t vfat /vfat /dev/sda1 /mnt/usbfm/
⇒USBをマウントしndiswrapperと無線LANドライバファイルを適当なディレクトリに入れておく。
tar xvzf ndiswrapper-1.31
⇒ndiswrapperを展開。
make
⇒ndiswrapperのコンパイル。
make install
⇒インストールする
ndiswrapper -i netcbg54.inf
⇒無線LANのドライバのインストール
lspci
⇒無線LANカードが認識されていることを確認。次のような表示が出る。
(中略)
01:00.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
⇒無線LANはeth1で認識されていたので、viエディタでファイルを以下のように設定
# Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=xx:xx:xx:xx:xx:xx ## MACアドレスが記載されている
MODE=Managed
ESSID=xxxxxxxxxxxxxxxx ## これは自宅の無線アクセスポイントのESSIDをいれる
KEY=s:xxxxxxxxxxxxx ## キーが文字列のときは、先頭に s: をつける。
CHANNEL=x ## 通信するチャンネル
USERCTL=no
PEERDNS=no
IPV6INIT=no
RATE=Auto
※バッファローの無線LANはデフォルトはAOSS機能でKEYが自動設定されてしまって
いるので、肝心のKEY等々の値がわかりません。
一度、バッファローのAOSS機能を無効にし、手動で設定しましょう。
そして、その値を上記に入れます。
# wget
http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o# wget ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/bcm43xx-fwcutter-006-1.el5.kb.i386.rpm
# rpm -ivh bcm43xx-fwcutter-006-1.el5.kb.i386.rpm
# bcm43xx-fwcutter -w /lib/firmware/ wl_apsta-3.130.20.0.o
⇒さーてここからが正念場。上記のコマンドをやらないとなぜか
エラーでつながりません。
http://d.hatena.ne.jp/kenrouse/20080630のサイトを参照してようやくコマンドを発見しました。
(サイトより抜粋)
http://linuxwireless.org/en/users/Drivers/b43#fw-bcm43xx ここによると、bcm43xx-fwcutter というツールを使って、ファームウェアを切り出すらしい。
bcm43xx-fwcutter は、ここから rpm をダウンロードして使ってみた。
http://rpm.pbone.net/index.php3/stat/4/idpl/5781424/com/bcm43xx-fwcutter-006-1.el5.kb.i386.rpm.html # rmmod bcm43xx
# rmmod ieee80211softmac
# rmmod ipw2100
# rmmod ieee80211
# rmmod ieee80211_crypt
# modprobe bcm43xx
⇒で、極めつけがこれ。
bcm43xx 関連のカーネルモジュールを取り外し、
最後にbcm43xxをmodprobeするのですが、これも
さんざいろいろなサイトを見て統合的にコマンドを
判断してこのコマンドを見つけました。
rmmod bcm43xxだけ当初コマンド打ってましたが
それだとエラーが出てしまうのです。
(参考サイト)
http://bbs.fedora.jp/read.php?FID=9&TID=4475で、LEDのランプがつき、めでたくつながります。
あとは起動時に自動的につながるように
/etc/rc.d/rc.localのファイル内に
modprobe bcm43xx
を記載して終了。
正直ここまでくるのがむちゃくちゃ大変で、途中で挫折しかかりましたが、なんとかやれたので一安心です。
Linuxの技術は奥がとても深く、沢山の勉強が必要ですが
頑張っていきたいと思います。
(番外編)
無線LANがつながったあと、WindosVistaのPCにlinuxPCから
pingを打ってみたところ全然応答がない。。
なんでと調べたところVistaはデフォルトpingに応答しない
仕様となっているそうです。
http://it.kndb.jp/entry/show/id/1101このサイトを参考に設定変更し、ようやくping通りました。
これで家のNW構築は完璧です!!
■個人的に使えたコマンド
・PCI接続確認
lspci
・USBマウント
mout -t vfat /vfat /dev/sda1 /mnt/usbfm/
・インターフェースステータス
ifconfig -a
・システムメッセージ確認
dmesg
・カーネルバージョン確認。
uname -r
■参考URL
http://bbs.fedora.jp/read.php?FID=9&TID=4475http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q149472174http://d.hatena.ne.jp/kenrouse/20080630http://www.mland.jp/memo/FC5_WLI-CB-G54HP.txthttp://fedorakenken.at-ninja.jp/node62.htmlhttp://www.plato-labs.com/linux/cat25/http://stonefield.cocolog-nifty.com/higurashi/2006/10/fc5lan_f8e1.htmlhttp://bbs.fedora.jp/read.php?FID=8&TID=2802http://d.hatena.ne.jp/urapico/20080105/1199499449http://d.hatena.ne.jp/kopug/20070819/1187534058http://matanet.ath.cx/vmwareplayer/http://linux-security.jp/index.php?id=57http://www.atmarkit.co.jp/flinux/rensai/linuxtips/785ndiswrapper2.html