-何度も挫折したLinux無線LAN。カーネル2.6.16ぐらいから主要チップについてはドライバが組み込まれるようになったのでだいぶ敷居が下がった。まとめ途中だが、一番楽なのはipw2200搭載無線LAN(Intel Centrino)ということになる。

#contents

*2015年時点の情報 [#i599abf1]

-主要なチップセットであれば、デフォルトドライバーは認識
-wpaを使うにはwpa_supplicantを使った、非常に複雑な手順が必要(いまだに・・・)

**wpa-psk [#ba933260]

-https://bbs.archlinux.org/viewtopic.php?id=156074

update_config=1
ap_scan=2
ctrl_interface=/var/run/wpa_supplicant

network={
	mode=0
	scan_ssid=1
	proto=WPA2
	key_mgmt=WPA-PSK
	pairwise=CCMP
	group=CCMP
	bssid=<M.A.C. of Access Point>
	ssid="<text>"
	psk=<hex_string>
}

*前提 [#j19ba521]

-まずは使用されている無線LANのチップを調べる
-Windowsの様に自動認識でそのまま使えるケースはまれ。ドライバが組み込まれていたとしても対応するファームウェアを落としたりしなければいけないので有線LANをつないでおくこと。もしくはUSBメモリにファームウェアを入れておくといいかもしれない。
-どれだけがんばってもだめなときもある(特に特定のバージョンとかで)そんな時はディストリビューションを変えてみる。

*成功失敗マトリクス [#w0b7e3cd]

**ipw2200 [#a463f30a]

|ディストリビューション|結果|ファームウェアの有無|備考|
|Ubuntu Linux 7.04|○|ファームウェア組込済み||
|Vine Linux 4.1|○|ファームウェア組込済み|ファームウェアがエラーをはく|
|KNOPPIX 5.1.1|○|ファームウェア必要||
|Fedora7 LiveCD|○|ファームウェア必要||

**bcm43xx [#y7378ca0]

無線カードはBuffalo WLI-CB-G54。カーネル組み込みのドライバとファームウェアの相性がよろしくない。一見動いているように見えてsyslogに大量のエラーが出ていたりする。バイナリパッケージにndiswrapperが用意されていればそっちのほうが確実。

|ディストリビューション|結果|ファームウェアの有無|備考|
|Ubuntu Linux 10.04|○||ndiswapperで運用中|
|Ubuntu Linux 7.04|△|ファームウェア必要|bcm43xxfwcutterでファームウェア組み込める。syslogにエラーがときたま出る|
|Vine Linux 4.1|○|ファームウェア必要|ndiswrapperで運用中。|
|KNOPPIX 5.1.1|×|ファームウェア必要|ファーム組み込み失敗|
|Fedora7 LiveCD|×|ファームウェア必要|要求するファームウェアがV4以上なのでファームウェアが見つからず|



*KNOPPIX [#md8fe0fc]

実験対象はknoppix5.1.1。クライアントPCはLet'sNote CF-R3(ipw2200)

**ipw2200 [#t6a0b100]

-ドライバーのロードが行われていることを確認

 dmsg | grep ipw2200
 ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.1.4kmpr
 ipw2200: Copyright(c) 2003-2006 Intel Corporation
 ipw2200: Detected Intel PRO/Wireless 2915ABG Network Connection
 ipw2200: ipw2200-bss.fw request_firmware failed: Reason -2
 ipw2200: Unable to load firmware: -2
 ipw2200: failed to register network device
 ipw2200: probe of 0000:02:04.0 failed with error -5

ファームウェアがないので失敗している(ファームウェアはフリーではないのでしょうがないのだ)自分でとってくる。ドライバーバージョンがV1.1.1(調べるにはmodinfo ipw2200)なのでそれに相当するFirmware v3.0を下記のウェブサイトより取得

 http://ipw2200.sourceforge.net/firmware.php


解凍して/usr/lib/hotblug/firmwareに

 ipw2200-bss.fwをコピー

そのあとモジュールの削除とリロード

 rmmod ipw2200
 modprobe ipw2200
 

モジュールの確認

iwconfigしてみる

でネットワークのESSIDとWEPキーの設定

 iwconfig eth1 essid ESSID
 iwconfig eth1 key restricted s:キー [キーのインデックス] key [キーのインデックス]
 iwconfig eth1 rate 54M
で

 ifup eth1

IPの設定をDHCP任せにしていたらだめだったので手動設定したらついにうまくいった!!!これでもうまくいかない時はnetwork-setupのコマンドを打ち込んで設定してみるべし。

**bcm43xx [#b49f18f2]

bcm43xx_microcode4.fw

上記ファームウェアがないと言われる。ファームウェア(3.104.64.52)を持ってきたがドライバーがエラーを吐いてそれ以上進めなかった。認識すらしてくれないのであきらめた。

 bcm43xx: TODO: Incomplete code in keymac_write() at drivers/net/wireless/bcm43xx/bcm43xx_main.c:1128


*Ubuntu7.0.4日本語ローカライズ版 [#kf288f59]

**ipw2200 [#a7e53fd9]

最初からファームウェアも入っている。後は接続情報さえ入れればOKという一番のハードルの低さ

入れたコマンドは2つだけ。これだと起動毎に入れなければならないのでちゃんと設定する(GUIツールは使わない)

 sudo iwconfig eth1 essid essid
 sudo iwconfig eth1 key restricted s:キー [2] key [2]

-ネットワーク設定ツールではWEPキーのインデックスの設定ができない。このページの一番下の情報を下に設定してみて!

**bcm43xx(WLI-CB-G54) [#fcd63ec4]

このカードのチップはbcm43xxというものでこちらも最近のカーネルではドライバが組み込まれている。あとはファームウェアを取得すればいいのだがbcm43xx-fwcutterを実行するとなんとファームウェアの切りだしまで自動で行ってくれる。

**モジュールの再ロード [#pa306368]

 sudo rmmod bcm43xx
 sudo mobprobe bcm43xx

このコマンドを実行した時点でLANカードのランプが付くはず(付いてなければ dmesgで原因を探ってみ)

**ESSIDとWepキーの指定 [#a76925e5]

GUIツールではキーのインデックスが指定できないのでコマンドラインでやるべし


 sudo iwconfig eth1 essid ESSID
 sudo iwconfig eth1 key restricted s:キー [キーのインデックス] key [キーのインデックス]



 ・パッケージマネージャーにて検索をクリックして「bcm」って入力。
 ・bcm43xx-fwcutterをダブルクリック
 ・ダウンロード→終了→何か作業している→作業終了
 ・再びパッケージマネージャーでbcm43xx-fwcutterを探しだし、
  チェックボックスが□から■になっていることを確認
 ・WLI-CB-G54HPに付いてきたCDを装填して2000用のbcmwl5.sysを探し出し、
  ホームフォルダーにコピー
 ・GONME端末で
   sudo bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys
  を入力(コピペ)
 ・なんか文字が一杯出て終了
 ・システム管理→ネットワークでESSID、WEPキーを設定(WEPキーはASCII)
  パスワードは無しで設定
 ・GONME端末でiwconfigを入力
 ・Bit Rateを確認すると11Mb/sなので
   sudo iwconfig eth1 rate 54M
  以上を入力し再度GONME端末でiwconfigを入力
 ・Bit Rate=54Mb/sを確認
 ・Firefoxを起動して速度を体感

*Fedora7 [#heab2574]

-LiveCDで実験を行った

**bcm43xx(WLI-CB-G54) [#s128f3ae]

bcm43xxに関してはファームウェアがないので認識せず。メルコのサイトからbcmwl5.sysを手に入れ3.100ぐらいのバージョンだったけどこれでも古いといわれた!4.0以上でなければだめだというが、そのバージョンを手に入れるのが難しい。というわけで断念しました。

**ipw2200(Let's note CF-R3) [#i6e271c8]

やっぱりファームウェアを追加して、ESSIDとWEPキーの設定をしてやり、システムネットワーク設定でIPアドレス固定にしてネットワーク再取得しないと駄目。




*VineLinux4.1 [#v87fc763]

**ipw2200 [#t861f232]

なんとファームウェア組み込み済み。ということで接続設定さえしてあげればそのままつながる。

**bcm43xx [#ocd5a1cf]

組み込みのドライバは試していないが、ndiswrapperがRPM(extras)で提供されるようになっているのでこちらで試した。見事成功

***VineLinux4.1でndiswapperを利用して動かす手順 [#sa6de0d8]

-バッファローのページよりドライバをダウンロードしてLinuxに持ってくる。USBメモリを使うのがお勧め。

 lha x wdrv861.exe
 wdrv861b/CBG54/WIN2000/

-ドライバをインストールと確認
 ndiswrapper -i netcbg54.inf
 ndiswrapper -l
 installed drivers:
 netcbg54 driver installed, hardware (14E4:4324) present (alternate driver: bcm43xx)

-動かない上に干渉する標準のドライバをはずす
 rmmod bcm43xx
 blacklist bcm43xx

-ndiswrapperを有効にする
 modprobe ndiswrapper

起動するたびに入力するのは面倒なので,/etc/rc.localの最後に以下の内容を加えます.

  /sbin/modprobe ndiswrapper

*IPアドレスやWEPキーの設定 [#e3bf5f0f]

コマンドラインで無事成功を確認したら、ネットワーク設定スクリプトに書いておく。GUIツールでの設定はWEPキーインデックス(これ設定してない人が多いのか?Web上でほとんど情報が得られなかった)を指定できないのでネットワーク設定ファイルに直接記述するしかない。

**RedHat系(RedHat,Fedora,CentOS,VineLinux) [#t7f8f1bd]

-/etc/sysconfig/network-scripts/ifcfg-eth0

eth0の部分はiwconfigでワイヤレスと認識されているデバイス名に置き換える

 DEVICE=wlan0
 BOOTPROTO=none
 ONBOOT=yes
 IPADDR=192.168.1.102
 NETMASK=255.255.255.0
 GATEWAY=192.168.1.1
 ESSID="ESSID"
 KEY="s:キーの文字列 [キーのインデックス] key [キーのインデックス]"


**Debian系(Debian,Ubuntu) [#j9fa4cc2]

-/etc/network/interfaces

 auto eth1
 iface eth1 inet static
 wireless-essid ESSID
 wireless-key s:WEPキー [WEPキーインデックス] key [WEPキーインデックス]
 address 192.168.1.22
 netmask 255.255.255.0
 gateway 192.168.1.1


-再起動

 /etc/init.d/network restart

*Atheros系 [#ie1014e1]

もうひとつUSB無線LANがある。こいつのチップはAtheros製でmadwifiというプロジェクトがドライバーを提供している(VineLinuxならパッケージもある)。こいつを動かすようにがんばろう。

#counter

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS