ノートPC(redhat9)にPCカードを挿して使用しています。
ブート時にpcmciaで今の所、問題無く、認識されています。
# /etc/rc.d/init.d/pcmcia start
や
# /etc/rc.d/init.d/pcmcia stop
で
PCカードの起動・停止が出来ます。
日常、PCカードの稼動状況を詳細に記録したいのですがデバックモードというのが
ブート後、
# cardmgr -v
を実行すれば/var/lib/pcmcia/stub
に記述されるのでしょうか?
特に変化が内容なのですが。
PCカードのデバッグモードでのログの取り方をご教示ください。
cardmgrは随分(4年くらい)前にノートPCが壊れてから使ってないので詳しくはあり
ませんが、# cardmgr -v はデバッグモードではなく単に詳細表示モードです。
PCカード稼動状況の詳細ってのが今1つ判りませんけど、/var/lib/pcmcia/stub
にはカードとデバイスに関する情報が入るので、内容に変化は無いなずです。
PCカードのどういうログを取りたいのか不明ですが以下のURL等を参照してはいかがでしょう。
http://www.linux.or.jp/JM/html/pcmcia-cs/man8/cardmgr.8.html
http://www.linux.or.jp/JM/html/pcmcia-cs/man8/cardctl.8.html
ご回答誠にありがとうございます。
> PCカードのどういうログを取りたいのか不明ですが
突然、外部ホストからpingが届かなくなったりして
From bbb.bbb.bbb.bbb icmp_seq=1 Time to live exceeded
From bbb.bbb.bbb.bbb icmp_seq=2 Time to live exceeded
From bbb.bbb.bbb.bbb icmp_seq=3 Time to live exceeded
トラブったマシンを見てみると固まったいて、
/var/log/messages、/var/log/secureは途中で突然ログが切れてしまってました。
しかも、リブートするとカード認識時に
Oct 19 10:57:28 host1 pcmcia: ++ eval echo '$PCMCIA'
Oct 19 10:57:28 host1 pcmcia: +++ echo
Oct 19 10:57:28 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$PCIC'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$PCIC_OPTS'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$CORE_OPTS'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$CARDMGR_OPTS'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$SCHEME'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: + '[' -f /etc/pcmcia.conf ']'
Oct 19 10:57:29 host1 pcmcia: + '[' -f /etc/sysconfig/pcmcia ']'
Oct 19 10:57:29 host1 pcmcia: + . /etc/sysconfig/pcmcia
Oct 19 10:57:29 host1 pcmcia: ++ PCMCIA=yes
Oct 19 10:57:29 host1 pcmcia: ++ PCIC=yenta_socket
Oct 19 10:57:29 host1 pcmcia: ++ PCIC_OPTS=
Oct 19 10:57:29 host1 pcmcia: ++ CORE_OPTS=
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$ENV_PCMCIA'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$ENV_PCIC'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$ENV_PCIC_OPTS'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$ENV_CORE_OPTS'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$ENV_CARDMGR_OPTS'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ eval echo '$ENV_SCHEME'
Oct 19 10:57:29 host1 pcmcia: +++ echo
Oct 19 10:57:29 host1 pcmcia: + V=
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: + '[' yes -a yes '!=' yes ']'
Oct 19 10:57:29 host1 pcmcia: + EXITCODE=1
Oct 19 10:57:29 host1 pcmcia: + '[' yenta_socket = '' ']'
Oct 19 10:57:29 host1 pcmcia: ++ uname -r
Oct 19 10:57:29 host1 pcmcia: Starting PCMCIA services:
Oct 19 10:57:29 host1 pcmcia: ++ cut -d. -f1-2
Oct 19 10:57:29 host1 pcmcia: + kernel=2.4
Oct 19 10:57:29 host1 pcmcia: + '[' yenta_socket = i82365 -a 2.4 = 2.4 ']'
Oct 19 10:57:29 host1 pcmcia: + '[' 1 -lt 1 ']'
Oct 19 10:57:29 host1 pcmcia: + action=start
Oct 19 10:57:29 host1 pcmcia: + echo -n 'Starting PCMCIA services:'
Oct 19 10:57:29 host1 pcmcia: + '[' -d /var/lib/pcmcia ']'
Oct 19 10:57:29 host1 pcmcia: + SC=/var/lib/pcmcia/scheme
Oct 19 10:57:29 host1 pcmcia: + RUN=/var/lib/pcmcia
Oct 19 10:57:29 host1 pcmcia: + '[' -L /var/lib/pcmcia/scheme -o '!' -O /var/lib/pcmcia/scheme ']'
Oct 19 10:57:29 host1 pcmcia: + '[' '!' -f /var/lib/pcmcia/scheme ']'
Oct 19 10:57:29 host1 pcmcia: + '[' '' ']'
Oct 19 10:57:29 host1 pcmcia: + grep -q pcmcia /proc/devices
Oct 19 10:57:29 host1 pcmcia: + '[' 1 -ne 0 ']'
Oct 19 10:57:29 host1 pcmcia: + '[' -d /lib/modules/preferred ']'
Oct 19 10:57:29 host1 pcmcia: ++ uname -r
Oct 19 10:57:29 host1 pcmcia: + PC=/lib/modules/2.4.20-8/pcmcia
Oct 19 10:57:29 host1 pcmcia: ++ uname -r
Oct 19 10:57:29 host1 pcmcia: + KD=/lib/modules/2.4.20-8/kernel/drivers/pcmcia
Oct 19 10:57:29 host1 pcmcia: + '[' -d /lib/modules/2.4.20-8/pcmcia ']'
Oct 19 10:57:29 host1 pcmcia: + '[' -d /lib/modules/2.4.20-8/kernel/drivers/pcmcia ']'
Oct 19 10:57:29 host1 pcmcia: + /sbin/modprobe pcmcia_core
Oct 19 10:57:29 host1 pcmcia: + /sbin/modprobe yenta_socket
Oct 19 10:57:29 host1 pcmcia: + /sbin/modprobe ds
Oct 19 10:57:30 host1 pcmcia: + '[' -s /var/run/cardmgr.pid ']'
Oct 19 10:57:30 host1 pcmcia: + '[' -r /var/lib/pcmcia/stab ']'
Oct 19 10:57:30 host1 pcmcia: + cat /var/lib/pcmcia/stab
Oct 19 10:57:30 host1 pcmcia: + cleanup
Oct 19 10:57:30 host1 pcmcia: + read SN CLASS MOD INST DEV EXTRA
Oct 19 10:57:30 host1 pcmcia: + '[' Socket '!=' Socket ']'
Oct 19 10:57:30 host1 pcmcia: + read SN CLASS MOD INST DEV EXTRA
Oct 19 10:57:30 host1 pcmcia: + '[' 0 '!=' Socket ']'
Oct 19 10:57:30 host1 pcmcia: + /etc/pcmcia/network stop eth0
で止まってしまいます。
因みにブート後、
# /etc/rc.d/init.d/pcmcia start
Starting PCMCIA services:
で止まった状態でCtrl-Cを押し、
# /etc/rc.d/init.d/pcmcia stop
という作業を数回繰返すと復活します。
このような、トラブルの発端はPCカードの何らかの障害ではなかろうかと思いまして、
PCカードのトラブルが発生したらその状況をログれるようにしたいのです。
> 以下のURL等を参照してはいかが
> でしょう。
> http://www.linux.or.jp/JM/html/pcmcia-cs/man8/cardmgr.8.html
> http://www.linux.or.jp/JM/html/pcmcia-cs/man8/cardctl.8.html
ありがとうございます。
# cardmgr
を実行するだけで詳細なログが取れるのですかね。
# cardmgr
を実行すると最初だけ、/var/log/messagesに
カードのstatusが表示された丈でした。
これで、何か障害が発生した時に、何らかのエラーが出力されるようになるんですかね?
> このような、トラブルの発端はPCカードの何らかの障害ではなかろうかと思いまして、
早期判断は禁物です。PCカードスロットの障害かも知れませんし、意外なところ
でapm機能での障害かも知れません。
apm機能とpcmciaドライバの関係については以下のURLを参照の事。
http://www.linux.or.jp/JF/JFdocs/Battery-Powered-3.html
> # cardmgr
> を実行すると最初だけ、/var/log/messagesに
> カードのstatusが表示された丈でした。
> これで、何か障害が発生した時に、何らかのエラーが出力されるようになるんですかね?
/var/log/messagesでも無理でしょうね。そもそもcardmgrにハード障害による
エラー出力機能なんて無いんじゃないでしょうか。
PCカードの障害かどうかは上記にも書きましたが早期判断せず、tcpdumpコマン
ドや/var/log/messagesの内容やapm&pcmciaの関係、さらにLinuxバージョン
の相違等、色々と検証して最終的な判断を下したほうが宜しいでしょう。
もっとも、ノートPCがサーバ運用中なら早期にPCカードを違うものに換えて様子
をみる…と言う手っ取り早い方法も可です。
もし換えても障害が起きるようなら、少なくともPCカードではない他の原因と言
う事が判明しますからね。