debian (etch) で wireless lan with WLI-USB-KB11

debian(etch)で無線LAN設定のメモ。

debianはパッケージ管理したがりやさんなので、ほかのディストリビューションとはインストールの仕方がちょっと違う。

私が使っているカーネルは、2.6.18-5-686。

まずはどのモジュール/ドライバを使うか検索してきめとく。

今回は一時期せとせ用ネット対戦のために流行った、バッファロ製WLI-USB-KB11を使うため、

linux-wlan-ngを選択。この中のprism2_usbは公式の動作確認リストにはのっていないが、とりあえず動作する。アダプタ情報の取得に失敗しているっぽい。

linux-wlan-ng

linux-wlan-ng-doc

linux-waln-ng-source

をapt-get install する。

ここで入ったのは、

linux-wlan-ng 0.25

linux-wlan-ng{,-doc}に入ってるインストラクション

/usr/share/doc/linux-wlan-ng/README.Debian.gz

/usr/share/doc/linux-wlan-ng-doc/README.gz

に従えばよい。

linux-waln-ng-sourceをインストールすると、依存関係で同時にインストールされるm-aを実行。手順に従いモジュールをコンパイル。


あーーーー。

設定、かいてたのに、全部消えた。orz.

時間をかけて書いて、送信って押すと、再認証ページが出てきてエラー。あせって戻るってやっても戻ってこないという。オフラインにして戻ればよかったのかもな・・。


ここでコンパイルのために、g++などをインストールすることになるのですが、パッケージ管理システムはそのとき同時に2.6.18-7-686のカーネルソース(29Feb2008時点でのlinux-kernel-headers)もインストールしています。

コンパイル時には、そのカーネルソースを使っているようで、そのせいか無線LANアダプタはうまく動きませんでした。

この作業中に、パケ管理システムはカーネルアップグレードもしてきました。

カーネルアップグレードに入る前に拒否したのですが、-1が返ったにもかかわらず、udevなどを削除され、カーネルもアップグレードされました。

そのため/var/log/dpkg.logをみつつ、カーネルはもとにもどしました。

パケ管理システムでg++をインストールするには、linux-kernel-headersも入ってしまうので、それは仕方なくいれることにしました。

そこで、m-aでコンパイルするのはあきらめて、linux-wlan-ngからソースをもらってきて手動インストールすることにしました。使用したのはver. 0.28です。

インストラクションに従ってコンパイルインストールします。

必要なのはusbのモジュールだけですので、ほかはnoと指定します。

ここでは、もちろん2.6.18-5-686のカーネルヘッダを指定します。

udevが起動していますので、usb無線LANアダプタを差すと、自動で設定が行われます。

/etc/wlan/の設定はどうやらよんでくれていない模様です。

そのためには、/etc/init.d/wlan startかな。

ifconfig wlan0

iwconfig wlan0

で状況がみれます。後者は、wireless-toolsパッケージ。

うまく行かない場合はdmesgで状況を確認してください。

wlan0が見つからない場合は、lsmod |grep prism2_usbをして、モジュールが読まれているか確認してください。

moduleは読み込まれるけど、直後にmoduleがderegisterされる場合は、/etc/modprobe.d/aliasesや、/etc/modprobe.confに

alias wlan0 prism2_usb

を追加してみてください。

deregisterを指示しているのはおそらくnetwork-managerですから、それをapt-get removeしてもいいでしょう。

さて、ここでessidなど設定を変えたいと思い、iwconfigを使用すると、うまく動きません。

Error for wireless request “Set ESSID” (8B1A) :

SET failed on device wlan0 ; Operation not supported.

代わりにwlanctl-ngを使って設定を行います。

/etc/wlan/の設定を読むようにするのがクールですが、簡単に設定できるように作られたスクリプトが動かないときは、自分で低レベル側をいじった方が、スクリプトを理解するよりも便利です。

wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable

wlanctl-ng wlan0 lnxreq_autojoin ssid=’<your ssid>’ authtype=sharedkey

wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11PrivacyInvoked=true

wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKey0=<your wep like xx:xx:xx:xx:xx>

wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKeyID=0

うまく設定されたら、あとは、dhclient wlan0なりなんなりして、接続してください。

man wlanctl-ngよりも、wlanctl-ng –helpや、wlanctl-ng commandsの方が詳しいです。

 

Amazonで最大1500ポイントがもらえる無料体験 [12/12まで]

現在Amazonでaudible(オーディブル)の無料体験キャンペーンが行われており、プライム会員なら最大3000ポイント、会員でない方でも最大1500ポイントがもらえます。

「花火」などの小説や、英語教材などから好きなものを選んで聴くだけですので、チェックしてみてはいかがでしょうか。

 

 こんな記事も読まれています

コメントを残す