« | »

2008年12月16日

Stableだよ人生は

はまりにはまっていたLinuxでの無線アクセスポイント作成も、何とか解決した。
そもそもの起こりは、「Prism2.5」のチップを積んだノートPCを、既存ネットワークへのブリッジになる無線LANのアクセスポイントにするつもりでubuntuをインストールしたことに始まる。
インストールの時点では何の問題も無く、すでにデフォルト状態で無線LANのチップはhostapカーネルモジュールによってwifi0とwlan0として認識されている。
wifi0が物理デバイスで、wlan0がアクセスポイントに接続したりアクセスポイントになったりする仮想NICのようなものであろうか。
wireless-tools も既に入っているので、

iwconfig wlan0 essid "ESSID" key "s:key1234567890"
iwconfig wlan0 mode master

とでもすればとりあえずwepのアクセスポイントになるはずが、クライアントからは見えるものの全く繋がらない。
syslogにはカーネルログとして以下のような怪しい出力が…

月 日 時刻 ホスト名 kernel: [ 7076.343573] wifi0: invalid skb->cb magic (0x0000001e, expected 0xf08a36a2)


結局この時点で一週間ほど悩みに悩んで試行錯誤を重ね、「このハードではダメなんや」と殆ど諦めかけたころ、既に別のPCにインストールしていた古い「サーバー版」のubuntuで設定してみるとちゃんと動くことに気づいた。
「悪魔の証明」ではないが、動かない理由を探すより、こいつが動いている理由を探すのははるかに楽である。
デスクトップ版とサーバー版の違いなんか、入ってるソフト以外にカーネルにしかないので、カーネルモジュールやカーネル自体の問題であろうか?
ということで、デスクトップ版のカーネルとカーネルモジュールをaptでもってサーバーのものと入れ替えてみるも動作せず。うーん。
しかし、デスクトップ版が最新版の「Ubuntu 8.10」であるのに引き換え、サーバー版が長期サーポート版の「Ubuntu 8.04 LTS」ということなので、デスクトップ版とサーバー版のカーネルの違いではなく、単純にカーネルのバージョンの違いかもしれない、ということで、デスクトップ版の「Ubuntu 8.04 LTS」を入れてみると何事も無かったように、何の問題も無く動作した…
この二つのカーネルのバージョンの違いは2.6.27と2.6.24である。この微妙なバージョンの差でこれほどの違いがあるのだろうか?
恐らくカーネル自体というよりは、カーネルモジュールであるhostapのバージョンの違いであろう。
で、繋がらない時点では無茶苦茶難しく感じた、iwconfigでWEPなアクセスポイントの設定も、hostapdでのwpa2なアクセスポイントの設定も余裕であった。linuxってスゲーなー
ということで、Linuxというか少なくともカーネルくらいは最新版よりは安定版であるstableの方が無難だとつくづく思った。
人生もカーネルもOSもStableが一番である。
と無理やりまとめてみた。

Trackback URL

Comment & Trackback

No comments.

Comment feed

Comment





XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>