|
次のページ
前のページ
目次へ
16. トラブルシューティング16.1 モデムが物理的には存在するのに検出できません内蔵モデムを既に取り付けた、あるいは外付けモデムがつながっているシ リアルポートがわからない場合は、次の課題はシリアルポートを検出すること です。 シリアルポートが物理的には存在す るのに検出できません をご覧ください。この節では、モデムが接続してい るシリアルポートを検出することに関して述べます。 ``wvdialconf'' という使用中のシリアルポートからモデムを探し出すプログ
ラムがあります。`` Linux では使えないソフトウェアモデムなどが原因の問題かもしれません。 ソフトウェアモデムの大部分は避ける をご覧 ください。``setserial'' はシリアルポートを検出するために使いますが、ポー トにつながっているモデムの検出はしません。従って、まず ``wvdialconf'' を試すのが最も良い方法です。 ポート上にモデムがあるかどうか確かめるもうひとつの方法は、``minicom''
を起動することです ( 16.2 56k モデムで 56k に近い速度が出ません56k 近い速度で通信するには、回線のノイズが非常に低いことが必要です。 電話回線の品質が非常に悪く、56k よりもずっと遅い (28.8k あるいは更に遅 い) 速度しか得られないことがあります。同一の回線に接続した内線電話は、 問題を引き起こすこともあります。これを確かめるため、(他の人が許してく れるなら)回線に何もつながっていない状態で、回線がビルの中へ引き込まれ ている場所に直接モデムを接続してみるのも良いでしょう。 16.3 アップロード(ダウンロード)したファイルが壊れる、あるいは遅い(PC あるいはモデムで)フロー制御が有効になっていないかもしれません。 (115.2k などの)速い DTE 速度を設定したなら、モデムから PC への流れは正 常に動作するでしょう。しかし、逆方向では電話回線がボトルネックになるの で、多くのデータが正常に送れないかもしれません。従って、多くのエラーと パケット再送が発生します。ファイルを送るのに非常に長い時間がかかる、あ るいは送れないかもしれません。また、ファイルを全く作れない場合もあるで しょう。(モデムのデータ圧縮を使いながら) 大きな無圧縮ファイルやウェブ ページをダウンロードしているとき、フロー制御がないためにダウンロードも うまくいかないこともあります。 16.4 ダイヤルインの際に ``line NNN of inittab invalid'' と出続ける 16.5 ``Id "S3" respawning too fast: disabled for 5 minutes'' と出続ける Id ``S3'' はただの例です。この場合には、 モデムが正しく設定してあることを確認してください。 uugetty を使っているのなら、
16.6 誰かが電話を切ったあとモデムが止まる、あるいは uugetty が再生 成しない DTR 信号が切れたときにモデムがリセットされないと、この現象が起きま
す。Greg Hankins さんはこの現象が起きたとき、RD と SD の LED がおかし
くなるのに気付きました。モデムをリセットする必要があります。多くの
Hayes 互換モデムは 16.7 uugetty がいまだに動作しない
まずは 16.8 以下の節は Serial-HOWTO にも Modem-HOWTO にもあります :16.9 物理的にはシリアルポートがあるのに、検出されません(モデムなどの)装置がシリアルポート上で動作しているなら、明らかにポー トを検出できています。全く動作しないなら、シリアルポートを検出できるよ うに、手当てする必要があります。 BIOS のメニューと出力メッセージを確認しましょう。ISA バス上の PnP シリ
アルポートの場合には、`` [訳注 : JF プロジェクトによる日本語訳 Plug-and-Play-HOWTO ] 16.10 この上なく遅い: テキストがすごく遅れてゆっくり画面に表示されますこれは割込みの設定が間違っているか、衝突しているためでしょう。 初めてモデムや端末、プリンタを使おうとしたときに出会うような現象をいく つか示します。場合によっては、入力した文字が何秒も経たないと表示されな いことがあります。入力した最後の文字しか表示されないこともあります。 また、その文字が単に目に見えない<改行>文字で、カーソルが 1 行下 に移動したことしかわからないこともあります。また別の場合としては、 画面にデータはたくさん表示されるのですが、16 文字ごとのかたまりでしか 表示されないこともあります。そして、あるかたまりの次のかたまりが表示さ れるまでには何秒もの長い待ち時間が続きます。 「input overrun (入力オーバーラン)」のエラーメッセージが表示される(ある いはログに残る)こともあります。 詳しい症状とそれが起こる理由については、Serial-HOWTO の「割込みの問 題に関する詳しい説明」の節を見てください。 プラグ&プレイデバイスがある場合には、Plug-and-Play-HOWTO も見てく ださい。 [訳注 : JF プロジェクトによる日本語訳 Serial-HOWTO および Plug-and-Play-HOWTO ] 本当に割込みの問題かどうかを簡単に調べるには、``setserial'' で IRQ を 0 に設定してください。これにより、ドライバは割込みではなくポーリングを 使うようになります。これで「遅い」問題が解決するようであれば、割込みの 問題が起きています。しかし、ポーリングはコンピュータの資源を大量に消費 して処理速度を低下させることもあります。ポーリングに頼らず、きちんと割 込みの問題を解決すべきです。 割込みの衝突を見つけだすのは容易ではないかもしれません。というのも、
Linux は割込みの衝突を全く許さず、衝突を起こそうとすると
/dev/ttyS?: Device or resource busy エラーを送っ
てくるようです。しかし、``setserial'' が誤った情報を持っていると、本当
の衝突が発生します。このように、``setserial'' を使っただけでは衝突は発
生しないでしょう (``setserial'' の情報に基づく
こういった場合に行うべき作業は、ジャンパや PnP 設定ソフトウェアを使っ
て、ハードウェアに実際に設定されている情報を調べることです。PnP の場合
は、`` 16.11 なぜか遅い: あと数倍は速いはずなのですが考えられる理由の一つは、シリアルポートを使っているデバイス(モデム や端末、プリンタ)が、あなたが考えているほど速く動作していないことです。 56k モデムはほとんど 56k で動作することはなく、そしてインターネットは ときには輻輳を起し、速度を低下させるボトルネックが発生します。 考えられる別の理由は、あなたが使っているシリアルポートが古い(UART
8250, 16450 や初期の 16550)とシリアルドライバが認識していることです。
UART って何ですか?を参照し、`` 16.12 システム起動時の画面で、シリアルポートの IRQ が間違っていると 表示されますLinux カーネルはシステムの起動時に IRQ の検出は全く行いません。 serial モジュールがロードされたときに、シリアルデバイスの検出が行われる だけです。したがって、カーネルが IRQ に関して行う表示は無視してくださ い。なぜなら、この時点では標準の IRQ を決め打ちしているからです。この ようになっているのは、IRQ 検出は当てにならず、間違うことがあるからです。 しかし setserial が起動スクリプトから実行された場合には、setserial は IRQ を変更し、新しい(そして多分正しい)状態を起動画面に表示します。間違っ た IRQ が後で訂正されて画面に表示されなければ、何か問題が起こっていま す。 よって、IRQ 5 に設定されている
と表示されます(古いカーネルでは ``ttyS02 '' のところが ``tty02''
となります)。実際に使う IRQ を Linux に知らせるには、setserial を
使わなければなりません。
16.13 "Cannot open /dev/ttyS?: Permission denied" というエラーが出ます `` 16.14 ttySx について "Operation not supported by device"このエラーは、カーネルがサポートしていないために、setserial や stty 等が要求した操作が行えないという意味です。以前は ``serial'' モジュー ルがロードされてないことが原因の場合が多かったのですが、PnP の登場によ り、このエラーはドライバ(および setserial)が考えているアドレスにモデム (あるいは他のシリアルデバイス)がないことを示すことが多くなりました。こ ういったアドレスにモデムがなければ、そのアドレスに送られた(操作のため の)コマンドは当然ながら処理されません。 シリアルポートのハードウェアの設定は? の節をご覧ください。 ``serial'' モジュールがロードされていないのに、そのモジュールはさっき
ロードしたと `` 16.15 "Cannot create lockfile. Sorry" 何らかのプログラムがポートを「オープン」するとき、ロックファイルが
[訳注 : パーミッションを設定するには JF プロジェクトによる日本語訳 Serial-HOWTO ] 16.16 "Device /dev/ttyS? is locked." (デバイス /dev/ttyS? がロックされています)このメッセージが出た場合にはおそらく、誰か他の人(あるいは他のプロセ
ス)がシリアルポートを使っています。このポートを「使用中」のプロセスを
見つける方法はいくつもあります。一つの方法は、ロックファイル
( 16.17 "/dev/ttyS?: Device or resource busy" モデムで電話をかけようとしたときにDCD あるいは DTR が正常に動作し
ないと、この問題が起こります。DCD は ``resource busy'' は多くの場合、(ttyS2 の場合)「他のデバイスが ttyS2 の割込みを使用中なので、ttyS2 を使うことはできません」という意味です。 ``setserial'' の設定による割込みの衝突の可能性があります。このエラーメッ セージをもっと正確に言うと、「ttyS2 を使えません。setserial のデータが、 他のデバイスが ttyS2 の割込みを使っていると示しています」となるでしょ う。 これには 2 つの可能性があります。ひとつは割込みが実際に衝突している場
合で、これは修正しなければなりません。しかし、setserial が誤った割込み
を設定しているのなら、 16.18 トラブル対処のためのツールトラブルに対処する時に使うとよいプログラムがいくつかあります:
次のページ 前のページ 目次へ |
[ |