KATZLIN'S blog

Contents

無線LANカード WLI-CB-G54 を Linux で使う2007-03-08 23:25

相棒のために軽いモバイルノートPCを新調(といっても中古だけど)したので、それまで彼女が使っていたノートPCが浮いた。いずれは家庭内サーバにでもしようと思っているが、それまでの間にいろんな Linux ディストリビューションをインストールして遊んでみようと思い立った。
で、ただインストールするだけじゃつまらないので、無線LANカードの認識に挑戦してみることにした。

PCのスペックは以下のとおり。

  • 名前:NEC LaVie LL500/2
  • CPU:AMD Duron 896.94MHz
  • RAM:384MB(増設ずみ)
  • HDD:30GB
特徴としては、とにかく重いこと。動作もそうだけど、物理的に重い。据置きならともかく、室内を持ち運ぶのも女性にとっては辛い重さ(だから軽いやつを探していたのだ)。あと、やたらファンがまわりまくる。「なにしろ重くてうるさい」という印象のPCだ。

無線LANカードは、3年くらい前に買ったメルコの WLI-CB-G54。bcm4306 というチップを使っている。Linux 用ドライバはなく、したがって ndiswrapper で Windows 用ドライバを読み込んで使うということになる(という認識でいたが、後述のとおり、そんなことしなくてもいいディストロもでてきた。(よくよくBroadcom 43xxを見たら、カーネル 2.6.17-rc2 以降はドライバが組み込まれてると書いてあった。))。
なお、このカードはもう廃番になっている。型番からみると G54L とか G54S とかいうのが後継機種っぽいが、同じようにして動くのかどうかはしらない。


まずは vine4.0。カーネルは2.6.16だった。
ndiswrapper はデフォルトで入ってるバージョンじゃなくて 1.10 にした。ほかに bcm43xx-fwcutter と、lha をインストール。
ドライバは http://buffalo.jp/php/ldl.php?to=lan/wdrv_830.exe をダウンロード。vista に対応した最新版(9.00)だと bcmwl5.sys が入ってないので不可。この wdrv_830.exe のあるディレクトリに入って、
$ lha x wdrv_830.exe
でwindowsドライバを解凍。
$ cd wdrv_830/cbg54/win2000/
ここに bcmwl5.sys と netcbg54.inf がある。
$ bcm43xx-fwcutter bcmwl5.sys
するとファームウェアがずらずら解凍される。
これを
# cp *.fw /lib/firmware/
でごっそりコピー。もちろん mv でもいい。
# ndiswrapper -i netcbg54.inf
# modprobe ndiswrapper
# /etc/init.d/network restart
でカードのランプが光って動いた。WEP キーなどを設定したら接続も O.K.

続いて SUSE10.2。こちらはカーネル 2.6.18。
ndiswrapper 1.10 を入れようとするも入らない。bcm43xx-fwcutter も入らない。コンパイラがないせいだ。
インストールDVDから gcc と、automake も入れてからコンパイルし、インストール成功。
vine と同様に
$ bcm43xx-fwcutter bcmwl5.sys
# cp *.fw /lib/firmware/
をし、ひきつづき ndiswrapper を入れようとするがダメ。カーネルソースがないとか言ってるので、またまたインストールDVDからインストール。
そこでふと思いつき、DVD に ndiswrapper が入ってないか見てみたら、なんと入ってた。バージョンは1.25。で、早速インストール。
インストール後、コンソールから # ndiswrapper -i ・・・とやろうと思ったが、ndiswrapper なんてものはありませんとか言われる。
えー、インストール失敗かなあと、しばし悩む。
・・・と、ふと見るとカードのパワーランプが光ってる。ifconfig してみたらちゃんと動いてた。なんか拍子抜けした。
画面右下(自分はKDEを使用)のへんな穴ぼこのアイコンが無線LANのマネージャで、こいつでWEPキーとかを設定したらつながっちゃった。つながると穴ぼこは棒グラフに変わった。
余談だが、SUSEはデフォルトだとLANの設定がこのKNetworkManagerになってしまい、コンソールからのifup、ifdownが効かない。suになっても叱られてしまう。

次は Mandriva2007.0。これはカーネル 2.6.17 だった。
手順は SUSE とまるっきり一緒。あっさり動いた。
SUSE は KDE で動かしていたらこの PC ではちょっともっさりしていたが、Mandriva はわりとサクサク動いた。デスクトップのデフォルトの見た目も、SUSE と違ってへんに Windows っぽいところがなくて気に入った。

雑誌の付録についてた momonga linux 3。カーネル 2.6.17。
インストールに4時間もかかった。アプリを全選択したせいかもしれない。なんにしても、「残り95分」と表示されてから3時間かかったのでいらいらした。パーティション構成をおまかせでインストールしたら、いきなり /(root) が lvm でびっくらこいた。
さて、ndiswrapper を make install したらカーネルのコンパイルが必要というワーニングが出て ndiswrapper が入らない。インストールに4時間もかかるんだから、カーネルのコンパイルなんていったい何日かかるか知れたもんじゃない。さすがにそれは面倒なのであっさり断念した。

最後に ubuntu でもやってみた。6.10(edgy) はカーネル 2.6.17。
$ dmesg |grep bcm
してみたら、bcm43xx: Error: Microcode "bcm43xx_microcode4.fw" とか書いてある。ファームウェアがないってことだ。これなら bcm43xx-fwcutter の作業をするだけで動くと予想。
で、早速 make してみるとエラーメッセージの大洪水。ちょっとびっくりした。数分考えた後、ubuntu にはコンパイラがインストールされていないことを思い出した。インストールメディアは SUSE と違って CD なので、ネットにつながないとコンパイラのインストールができない。
内蔵の eth0 は動いているので有線でインストールすることにする。が、またまた例によってカーネルソースがないという。カーネルソースは40MBもあるのでメンドくさい(ウチの環境では20分もかかるという表示が)。諦めかけたが、メインPC(kubuntu6.10)の方で apt-cache で見てみたら、ちゃんと bcm43xx-fwcutter があった!!
bcm43xx-fwcutter は universe のリポジトリなので
$ sudo vi /etc/apt/sources.list(vi はもちろん nano でもなんでも可)
で、universe のとこのコメントアウトをはずし、
$ sudo apt-get update
$ sudo apt-get install bcm43xx-fwcutter
であっという間にインストールできた。あとは定石どおりに、ドライバのあるディレクトリに行って、
$ bcm43xx-fwcutter bcmwl5.sys
$ sudo cp *.fw /lib/firmware/2.6.17-10-generic/ ←ここは上述のディストロと違う
$ sudo /etc/init.d/networking restart ←ここもちょっと違う
でちゃんと動いた。

まだほかにも Asianux とか CentOS とかもダウンロードしてあるのだけど、いい加減飽きたのでここで終了。

コメント

トラックバック

このエントリのトラックバックURL: http://katzlin.asablo.jp/blog/2007/03/08/6654104/tb