[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:17965] Re: pon が働かない時があります。
菊地です。
white@xxxxxxxxxxxxxxxx
white wrote:
>
> 菊地です。
> white@xxxxxxxxxxxxxxxx
>
> white wrote:
> >
> > 菊地と申します。
> > white@xxxxxxxxxxxxxxxx
> >
> > slinkを使っています。
> > カーネルの再構築をして、その後で、ponが働かなくなる場合が生じる
> > ようになりました。カーネルは2.0.36です。
> > osを起動直後は確実にponが働きます。しかし、どうも、ある程度時間を経てか
> > ら、その間に別のソフトも使って、その後にponが働かない場合が多い気がしま
> > す。osの再起動という前に、モデム単体の電源を一度、切って、入れ直しても、
> > 状況は変わりません。もちろん、回線は正常な状態です。
> > そういう時は再度、os を立ち上げ直せば、その直後は問題無しに、働きます。
> > インストール時のカーネルの時は、
> > ponが働かなくなるというような事はありませんでした。
>
> このメール送信後にslinkの完全な再インストールまでやってみました。インス
> トールの状態では、確かに、起動後どれだけ時間が経っても、pon は正常に働き
> ました。そして、カーネルの再構築後には、起動直後なら、正常に働くが、少な
> くとも9分後では、働かなくなります。その間はユーザーからはslinkに対して
> 何もしない状態で、ただ、放っておくだけです。
>
> 過去ログも調べました。今回の私のように、起動直後は問題なくて、時間が経つ
> と、働かなくなるという件があることにはありました。しかし、その場合の原因
> は
> ppp-pamパッケージをインストールしていなかったことによるものだったそうで
> す。これは私の場合には当てはまりません。困りました。何とか助言を頂けない
> でしょうか。
何人かの方から助言をいただき、ありがとうございます。その助言からヒントを
いただき、解決できたと思います。
以下に原因等を書きます。
まず、問題解決のきっかけになったのが、
"K.Watanabe" wrote:
>
> 渡辺です。
>
> いまひとつ状況がわからないのですが、チェックすべき所を
> 思い付くだけ挙げておきます。
>
> 1.カーネルを再構築するときに make-kpkg を使いましたか。
>
> | Sep 19 00:48:05 debian syslogd 1.3-3#31: restart.
> | Sep 19 00:48:05 debian kernel: klogd 1.3-3#31, log source = /proc/kmsg
> | started.
> | Sep 19 00:48:05 debian kernel: Cannot find map file.
> | Sep 19 00:48:05 debian kernel: Loaded 246 symbols from 15 modules.
>
> /boot/System.map-2.0.36 が見付かっていないように見えます。
> make-kpkg を使ってビルドして、dpkg でインストールしたなら、
> こういうことにはならないと思いますが。
でした。
make-kpkgは使いませんでした。通常の一般的なカーネルの構築法でおこなって
いました。ただし、そのやり方に問題があったということでした。
基本的には、トッパンのLinux入門とLinuxネットワークを参考にしていました。
Linuxネットワーク中に重要なことが書かれていました。
p72より、「カーネルのバージョンを上げた場合は、モジュール類は新しいディ
レクトリ /lib/modules/version ディレクトリにインストールされますが、同じ
バージョンではカーネルの設定を変えてコンパイルした場合は、古いモジュール
があるディレクトリと同じディレクトリに新しいモジュールがインストールさ
れ、モジュールの依存関係が混乱する場合があります。同じバージョンのカーネ
ルを作り直す場合は、"make modules_install" の前に
# rm -rf /libmodules/`uname -r`/*
を実行して、古いモジュールを削除してから新しいモジュールをインストールし
ます。」
これをやっていなかったことが原因でした。実際に、
起動直後
debian:/# lsmod
Module Pages Used by
serial 8 0 (autoclean)
ncr53c8xx 11 0
loop 2 0
sound 24 0
dummy 1 0
ne2k-pci 1 0
8390 2 [ne2k-pci] 0
bsd_comp 1 0
ppp 5 [bsd_comp] 0
slhc 2 [ppp] 0
lp 2 0
psaux 1 1
smbfs 6 0
vfat 4 2
fat 6 [vfat] 2
nls 1 [vfat fat] 0
autofs 2 1
三分後
debian:/# lsmod
ncr53c8xx 11 0
loop 2 0
sound 24 0
dummy 1 0
ne2k-pci 1 0
8390 2 [ne2k-pci] 0
bsd_comp 1 0
ppp 5 [bsd_comp] 0
slhc 2 [ppp] 0
lp 2 0
psaux 1 1
smbfs 6 0
vfat 4 2
fat 6 [vfat] 2
nls 1 [vfat fat] 0
autofs 2 1
を見るとわかるように、serialは、カーネルの再構築の.config にはモジュール
化とは記述していなかったはずなのに、起動直後に、
serial 8 0 (autoclean)
とkerneldによって、自動的にロードされている状態になっていました。そし
て、三分後には、それが自動的に削除されています。」こうなると、ponを実行
しても、serialがロードされることはなく、接続できない、という状況。もちろ
ん、そもそも、.configで、serialをモジュール化と記述していなのに、起動時
に、kerneldによって、自動的にロードされている事自体、おかしいです。これ
が上記の「混乱」なのでしょう。
そこで、
make modules_install
の前に
# rm -rf /libmodules/`uname -r`/*
を実行して、古いモジュールを削除してから新しいモジュールをインストールし
ました。すると、今度は正常に、起動から、時間が経過しても、ponによって接
続が可能となりました。
対策後 起動直後
debian:/# lsmod
Module Pages Used by
ncr53c8xx 11 0
loop 2 0
sound 24 0
dummy 1 0
ne2k-pci 1 0
8390 2 [ne2k-pci] 0
bsd_comp 1 0
ppp 5 [bsd_comp] 0
slhc 2 [ppp] 0
lp 2 0
psaux 1 1
vfat 4 2
fat 6 [vfat] 2
nls 1 [vfat fat] 0
のように、起動直後に、serialがロードされている事もなくなりました。
後、もう一つ、今回のことで、気が付きました。
System.mapです。
これが所定の位置におかれていなかったというこです。
トッパンのLinux入門とLinuxネットワークを参考にしていましたが、Linux入門
のp147では、
「loadlinを使っている場合
# cd /usr/src/linux
# make zImage
これで、/usr/src/linux/arch/i386/boot/zImageにあたらしいカーネルができま
すので、これをloadlinで指定した古いカーネルと置き換えてください」
となっています。これに従うと、System.mapのことが全く抜けてしまいます。
# cd /usr/src/linux
# make zlilo
でやれば、
/
に
System.map も
vmlinuz も
置かれます。System.mapはここにあれば、起動時にカーネルは発見できるようで
す。
もちろん、debianを使っているのであれば、
make-kpkg
を使えば良いのでしょうが、まだ、理解していなかったし、一般的な方法という
のも、知っておきたかったので、一般的な方法を今回は取りました。
それから、kerneldをつかっているのですから、手動で、モジュールをロードす
る必要がないものもありますが、今は、とりあえず、手動でロードしています。
これで、解決できました。助言をくださったみなさんありがとうごさいました。
もし、よろしければ、System.mapとはどういうものであるのかを調べるには、ど
こを知らべればよいのかを教えてください。
ついでに、気になったことがありましたので、書いておきます。
結局、今は、カーネルの2.0.38を一般的な構築法によって、slinkに入れていま
すが、その過程で、気になったことがありました。
それは、
make xconfig
がおかしかったことです。
最終的に、Save it Exit を実行すると、xterm上に警告のようなメッセージが出
ていました。最初はそれに気が付かなくて、
make modules_install
depmod -a
を実行後に、実際にできたモジュールを確認すると、モジュールを指定したはず
のものがないということがありました。原因を探っている内に、Save it Exitを
実行すると、xterm上に警告のようなメッセージが出ていることを発見しまし
た。試しに、make menuconfigで、同じ指定をして、みたところ、問題なく、指
定のモジュールができるようになりました。make xconfig の実行にはwish が必
要であると、本にかいてあるのですが、今の私のslinkには入っているようでし
た。これは、wishのバージョンの問題でしょうか。
何かお気づきの事がありましたら、書いてください。
この件のxterm上に表示されるメッセージを
別の件名 「make xconfigで失敗します」
の中に書いておきます。
この件は特に、困っている
ということではありませんが。
以上です。