いくつかの診断ルーチンが診断ルーチン Forth モニターで使用できます。これらのオンボードテストでは、ネットワークコントローラ、フロッピーディスクシステム、メモリー、装着されている SBus カード、SCSI デバイス、システムクロックなどのデバイスの機能を確認できます。ユーザーがインストールするデバイスは、そのファームウェアに自己診断機能があればテストできます。
以下の表に診断テスト用コマンドの一覧を示します。device-specifier は、デバイスパス名またはデバイスの別名を意味します。
表 2-4 診断テストコマンド
コマンド |
説明 |
---|---|
probe-scsi |
組み込み SCSI バスに接続されているデバイスを確認します。 |
probe-scsi-all [device-path] |
システムの、指定したデバイスツリーノードの下にインストールされているすべての SCSI バスに対して probe-scsi を実行します。(device-path を指定しないと、ルートノードが使用されます。) |
test device-specifier |
指定したデバイスの自己診断テストを実行します。例を示します。 test floppy: フロッピーディスクドライブが接続されている場合、テストします。 test /memory: NVRAM 変数 selftest-#megs で指定される M バイト数をテストします。または diag-switch? が true の場合は全メモリをテストします。 test net: ネットワーク接続をテストします。 |
test-all [device-specifier] |
指定したデバイスツリーノードの下の (組み込みセルフテスト方法を備える) すべてのデバイスをテストします。(device-specifier を指定しないと、ルートノードが使用されます。) |
watch-clock |
時計機能をテストします。 |
watch-net |
ネットワークの接続を監視します。 |
組み込み SCSI バスに接続されているデバイスの機能を確認するには、次のように入力します。
ok probe-scsi Target 1 Unit 0 Disk SEAGATE ST1480 SUN04246266 Copyright (C) 1991 Seagate All rights reserved Target 3 Unit 0 Disk SEAGATE ST1480 SUN04245826 Copyright (C) 1991 Seagate All rights reserved ok |
システムに接続されているすべての SCSI バスをテストするには、次のように入力します。
ok probe-scsi-all /iommu@f,e0000000/sbus@f,e0001000/esp@3,200000 Target 6 Unit 0 Disk Removable Read Only device SONY CD-ROM CDU-8012 3.1d /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000 Target 1 Unit 0 Disk SEAGATE ST1480 SUN04246266 Copyright (C) 1991 Seagate All rights reserved Target 3 Unit 0 Disk SEAGATE ST1480 SUN04245826 Copyright (C) 1991 Seagate All rights reserved ok |
応答は SCSI バスに接続されているデバイスによって異なります。
インストールされている 1 つのデバイスをテストするには、次のように入力します。
ok test device-specifier |
これにより、指定したデバイスノードの (selftest という名前の) デバイステスト方法が実行されます。応答はデバイスノードの自己診断テストの方法によって異なります。
インストールされているデバイスのグループをテストするには、次のように入力します。
ok test-all |
デバイスツリーのルートノードの下のすべてのデバイスがテストされます。応答は、各デバイスの自己診断テストの方法によって異なります。test-all コマンドに device-specifier オプションを使用すると、指定したデバイスツリーノードの下のすべてのデバイスがテストされます。
フロッピーディスクドライブのテストは、フロッピーディスクドライブが正しく機能するかどうかを調べます。このテストを実行するには、フロッピーディスクドライブにフォーマット済みの高密度 (HD) ディスクをセットしておかなければなりません。
フロッピーディスクドライブをテストするには、次のように入力します。
ok test floppy Testing floppy disk system. A formatted disk should be in the drive. Test succeeded. ok |
このテストが失敗した場合は、エラーメッセージを参照してください。
フロッピーディスクを取り出すには、次のように入力します。
ok eject-floppy ok |
このコマンドが失敗する場合は、紙クリップを伸ばしてディスクスロットの近くの小さな穴に差し込んで、フロッピーディスクを取り出せます。
メモリーテストルーチンを使用すると、システムは NVRAM のシステム変数 selftest-#megs で指定した M バイト数のメモリーをテストします。(NVRAM のシステム変数についての詳細は、第 3 章「システム変数の設定」を参照してください。) デフォルトでは 1 M バイトのメモリーがテストされます。ハードウェア診断スイッチ (システムにある場合) 、NVRAM のシステム変数 diag-switch? のどちらかが有効にしてある場合は、全メモリーがテストされます。
メモリーをテストするには、次のように入力します。
ok test /memory Testing 16 megs of memory at addr 4000000 11 ok |
上記の例で、最初の数値 (4000000) はテストの基底アドレスであり、その次の数値 (11) はテストされる M バイト数です。
PROM がシステムをテストするにはしばらく時間がかかります。システムがこのテストに失敗した場合は、エラーメッセージが表示されます。
Ethernetコントローラのテストボード上の Ethernet コントローラをテストするには、次のように入力します。
ok test net Internal Loopback test - (result) External Loopback test - (result) ok |
システムはテストの結果を示すメッセージを表示して応答します。
システムが Ethernet に接続されていない場合は、このテストの外部ループバック部分が失敗します。
クロック機能をテストするには、次のように入力します。
ok watch-clock Watching the'seconds' register of the real time clock chip. It should be ticking once a second. Type any key to stop. 1 ok |
数値が 1 秒毎に 1 つずつ増えていきます。テストを停止するには任意のキーを押します。
ネットワーク接続を監視するには、次のように入力します。
ok watch-net Internal Loopback test - succeeded External Loopback test - succeeded Looking for Ethernet packets. '.' is a good packet. 'X' is a bad packet. Type any key to stop ....................X.....X............... ok |
システムはネットワークトラフィックを監視し、エラーのないパケットを受け取るたびに " . " を、また、ネットワークハードウェアインタフェースによって検出できるエラーがあるパケットを受け取るたびに X をそれぞれ表示します。
一部の OpenBoot 2.x システムにはこのテストワードがありません。