ipw2200うまくいかねー

カーネルの再構築にも成功したはいいものの、ipw2200の認識がうまくいかない。

ipw2200.oをどこそこに入れろというので入れてもエラー吐くし
modprobeしてももろもろエラー吐くし

さっきついVine3.2アップグレードしたもんだからまたやり直しだし・・・(このせいでエラーメッセージを記録できない、無論私のせい)

長い間探し続けてきてやっと見つけた無線モジュールだから、なんとしてでも使いたい。
3.2用のカーネルソース取ってきて再度コンパイルだな・・

この連休これにずっと費やしてしまった。まだまだ続きそうだ。

Vine Linux 3.1でkernelの再構成(コンパイル)

現在使用しているLinuxマシンは、Fujitsu LOOX S73AWというノートPCです。
CPUに今は亡き(?)Crusoeを使用しており、AirH”を搭載しています。

通常、VineをインストールしただけではCrusoe特有の省電力機能Longrunが使えず、使用するためにはkernelの再構成が必要とのこと。

あわせて、AirH”なんぞ使用してないので、背面にあるminiPCIモジュールをAirH”のものから無線LANモジュール(Intel 2200BG)に変更しました(アンテナはAirH”のをそのままつけています。アンテナの使用上感度は悪いそうですが、代えのアンテナはないので)。

これもまた、動作させるにはkernelの再構成が必要です。

情報があるんだかないんだかよくわからない状況でしたが、なんとかメドが立ったのでここに記録します。

基本的には、便利なaptを使います。

# apt-get install kernel-source kernel-headers kernel-doc

linuxのソースがあるディレクトリに移動します。

# cd /usr/src

次にkernelのconfigを行いますが、configの方法には4種類あり、

  • config:従来の方法。一つ一つ確認しながら設定していく。面倒。
  • menuconfig:コンソール上でメニュー形式のような形態で設定していく方法。リモート上からできて楽。
  • xconfig:GUI上で設定する方法。見やすく設定しやすいがXwindowが起動している必要があり、リモートでは行えない(VNCで無理やりっていう方法はあるでしょうけども)。
  • .config編集:上記のツールに頼らず直接編集する方法。神向け。

というわけで、ここではmenuconfigを使って設定しますが、このままの状態だと設定するためのツール一式がないのでmenuconfigが起動できません。

以下のコマンドを入力してツールをインストールします。

# apt-get script install-devel.lua

さっそくmenuconfigしてもよいのですが、今までの設定を引き継いだほうが問題がおきにくいので以下のコマンドで対応します。

# cp linux-2.4.27/configs/kernel-2.4.27-i586.config linux-2.4.31/.config
※linux-2.4.27は現在のソース。
※Crusoeはi586らしいのでそのconfigを持ってきます。i686のでもOKらしい。
# cd linux-2.4.31
# make oldconfig
※新しい項目は確認メッセージが出ますが、ほとんどSATA関係なのでEnterを押して飛ばします。

展開したソースに移動してmenuconfigします。変更部位は以下のとおり。

# make mrproper ※make前のお約束
# make menuconfig
Processor type and features —>
(Crusoe) Processor family ※586/K5うんたらを変更
<*> /dev/cpu/*/msr – Model-specific register support ※Longrun関係
<*> /dev/cpu/*/cpuid – CPU information support ※Longrun関係
Cryptographic options —>
[*] Cryptographic API ※これにチェックを入れると以降の選択肢が出る
<*> ARC4 cipher algorithm (NEW) ※2200BG関係
Library routines —>
<*> CRC32 functions ※2200BG関係
<*> Hotplug firmware loading support (EXPERIMENTAL) ※2200BG関係

ほかに変更はありません。ESCを2回押してYesを押して保存します。
ちなみに、manuconfigにあるチェックの種類は、*(kernelに組み込む)、M(モジュール、必要時に呼び出す)となっています。

いよいよ再構成(コンパイル)の開始です。以下のコマンドを入力していきます。結構時間がかかります。

# make dep
# make clean
# make bzImage
# make modules
# make madules_install
# make install

次に、2.4.31で動くようにlilo.confを編集します。基本的には前のコードをコピーして一部編集するだけです。

# vi /etc/lilo.conf
※新しいkernelの記述
image=/boot/vmlinuz-2.4.31
label=linux
read-only
root=/dev/hda2
append=”ide0=ata66 ide1=ata66 apm=power-off acpi=off resume2=swap:/dev/hda3″
※前回設定したkernel
image=/boot/vmlinuz-2.4.27-0vl7.6
label=linux-old
read-only
root=/dev/hda2
append=”ide0=ata66 ide1=ata66 apm=power-off acpi=off resume2=swap:/dev/hda3″
※Vineのインストール直後にあるカーネル
image=/boot/vmlinuz-2.4.27-0vl7
label=linux-old2
initrd=/boot/initrd-2.4.27-0vl7.img
read-only
root=/dev/hda2
append=”ide0=ata66 ide1=ata66 apm=power-off acpi=off resume2=swap:/dev/hda3″
# /sbin/lilo ※保存後に実行

これで新しいkernelの実行準備はできました。再起動してバージョンが変わっているか確認してください。

i586で再構成したのですが、結局i686で動いているようです。動作には支障なさそうなのでいいですが。
longrunと無線LANのインストールは次回。

Vine Linux 3.1でkernelのアップデート

これはイチからの方法ではなくただのアップデートの方法です。

さいしょに、apt-getのお約束を行っておきます。

# apt-get update ※Vineサーバからアプリケーションのリストを取ってくる
# apt-get clean ※マシンの中にある古いアーカイブを消す

次に、kernelをaptでインストールします(aptは実に楽だ・・)。

# apt-get install kernel
※ここでインストールするべきkernelの一覧が出る(ここではkernel#2.4.27-0vl7.6をいれました)。
# apt-get install kernel#2.4.27-0vl7.6

インストールが終了しても古いkernelは残ってるみたいです。
次に、残ってる古いkernelでも動かせるようlilo.confを編集します。同じものをコピーして一部変更するだけです。

# vi /etc/lilo.conf
※11行目あたり、さっきインストールされたkernel
image=/boot/vmlinuz-2.4.27-0vl7.6
label=linux
read-only
root=/dev/hda2
append=”ide0=ata66 ide1=ata66 apm=power-off acpi=off resume2=swap:/dev/hda3″
※古いkernel部分
image=/boot/vmlinuz-2.4.27-0vl7
label=linux-old ※同じ名前だとまずいので変更しておく
initrd=/boot/initrd-2.4.27-0vl7.img
read-only
root=/dev/hda2
append=”ide0=ata66 ide1=ata66 apm=power-off acpi=off resume2=swap:/dev/hda3″

あとは、lilo.conf編集後のお約束。

# /sbin/lilo

再起動して以下のコマンドで確認してください。

# uname -a

「2.4.27-0vl7.6」な文字が出ていれば成功です。
もし動作が不安定になっていれば、古いkernelで起動して、別のkernelをインストールするとかできるみたい(別に動作に支障ないので試してない)。

変なログがでてた

現在、ノートPCにLinuxを入れて、ルータの外部公開設定にして、試しに一日ほうってみたのですが、早速変なログが。

Sep 15 18:51:13 crocell rpc.statd[710]:
gethostbyname error for ^X・^X・^Z・^Z・
%8x%8x%8x%8x%8x%8x%8x%8x%8x%62716x%hn%51859x%hn
\220\220\220\220\・・・(以降同じ数字)

どうやらでかいコードを送ってバッファオーバーランをを誘発させるコードらしい。
みんなも気をつけよう(何を

ほかにもFTPにanonymousでつなごうとしてる輩おるし・・・