構文
/usr/sbin/ioscan [-N]
[-k|-u] [-e]
[-d driver | -C class] [-I instance] [-H hw_path]
[ -f[-n] | -F[-n] ]
[devfile]
/usr/sbin/ioscan [-b] -M driver -H hw_path [-I instance]
/usr/sbin/ioscan -t
/usr/sbin/ioscan -P property [-d driver | -C class] [-I instance] [-H hw_path] [devfile]
/usr/sbin/ioscan -m lun [-F] [-d driver | -C class] [-I instance] [-H lun hw_path] [devfile]
/usr/sbin/ioscan [-F] -m dsf [devfile]
/usr/sbin/ioscan -m hwpath [-F] [-H hw_path]
/usr/sbin/ioscan -s
/usr/sbin/ioscan -r -H hw_path
/usr/sbin/ioscan -B
/usr/sbin/ioscan -U
/usr/sbin/ioscan -a [-F]
説明
ioscan は、適切なシステムハードウェア、使用可能な
I/O システムデバイス、またはカーネルの I/O システムデータ構造を走査して、その結果をリストします。
システム上の各ハードウェアモジュールに対して、 ioscan は、デフォルトで、そのハードウェアモジュールのハードウェアパス、
そのハードウェアモジュールのクラス、そしてその簡単な説明を表示します。
ioscan はデフォルトでは、システムを走査して、見つかったレポート可能なハードウェアをすべてリストします。レポートされるハードウェアの種類は、
プロセッサ、メモリー、インタフェースカード、および I/O デバイスを含むことができます。
ハードウェアの走査によってドライバをアンバインドしたり、 実際のシステムハードウェアに一致させるために、その他のドライバをそれぞれの場所にバインドしたりする場合があります。走査することができないエンティティはリストされません。 ioscan はデフォルトでは、従来のビューを使ってリストを表示します
(intro(7) を参照)。
ioscan コマンドは -N オプションが使われているかどうかによって、柔軟なビューまたは従来のビューでシステムをスキャンし、見つかったレポート可能なすべてのハードウェアをリストします。 ioscan が、指定したオプションと引き数に基づくハードウェアをまったく見つけられなかった場合、スキャンによってエラーが発見されなかったため、何の情報も出力せず、戻り値 0 で終了します。
ioscan はオプションを使って、以下も実行できます。
ioscan -N は、従来のビューの代わりに柔軟なビューを使って出力を表示します (intro(7) を参照)。
ioscan -M は、指定のソフトウェアドライバをカーネル
I/O システムに組み込むことを強制し、ソフトウェアドライバがバインドされることを強制します。
これは、システムが自動的に認識されないデバイスを認識するのに利用することが
できます。 たとえば、まだデバイスがシステムに接続されていなかったり、障害のあるデバイス上で診断を実行する必要があったりという理由で、自動的に認識することができないデバイスをシステムに認識させることができます。
ioscan -b を -M オプションと一緒に使うと、オンラインバインディングをまず試行します。
ドライバがオンラインバインディングをサポートしない場合、バインディングは次回ブート時に遅延されます。
遅延バインディング処理に指定されるハードウェアパスは、 UNCLAIMED
状態の DEVICE タイプのノードの LUN ハードウェアパスである必要があります。
ioscan -t は、システムハードウェアが最後に走査された日付と時刻を表示します。
注記: -t オプションは、このコマンドの他のオプションと同時に指定することはできません。
ioscan -P property は、ノードのプロパティを表示します。
ioscan -m lun は、LUN ハードウェアパスと lunpath ハードウェアパスの間のマッピングを表示します。
ioscan -m dsf は、従来のデバイス特殊ファイルと一貫性のあるデバイス特殊ファイルとの間のマッピングを表示します
(intro(7) を参照)。
ioscan -m hwpath は、(従来の) ハードウェアパス、lunpath
ハードウェアパス、および LUN ハードウェアパスの間のマッピングを表示します。
ioscan -s は、システムに存在する遅延エントリをリストします。
ioscan -r は、デバイス lunpath
上の遅延バインディングアクションを戻します。
ioscan -B は、保留中の遅延バインディングすべてをリストします。
ioscan -U は、INTERFACE 型の要求されていないノードすべてを走査します。
ioscan -a は、ハイパースレッド機能を持つプロセッサのスレッド
0 についての情報を表示します。
セキュリティに関する制限
通常、ioscan にはスーパーユーザー権限が必要です。
非ルートユーザーは、以下のオプションを使うことができます。
| -k | | カーネル ハードウェアツリーの表示のみが許されます。 |
| -m | | マッピング機能を使います。 |
| -P | | ノードのプロパティを表示します。 |
| -B | | 保留中の遅延バインディングをリストします。 |
ドライババインディングおよび実際のハードウェアスキャンは、ルートに制限されています。
オプション
ioscan には、以下のオプションがあります。
| -a | | ハイパースレッド機能を持つプロセッサのスレッド '0'
についての情報を表示します。 -F オプションと一緒に使うと、コマンドはコロン (:)
で区切られたフィールドのコンパクトなリストを生成します。これは awk を使って、自分用のリストを作成する場合に便利です。 フィールドには、 socket、core、thread があります。 |
| -b | | ハードウェアパスへのドライバのバインディングを次回のシステムブート時まで遅延させます。 -M および -H オプションと一緒に使う必要があります。 |
| -B | | 保留中の遅延バインディングをすべてリストします。 |
| -C class | | 出力リストを、指定した class に属するデバイスのものに制限します。 -d と一緒には使用できません。 |
| -d driver | | 出力リストを、指定した driver に制御されるデバイスのものに制限します。 -C と一緒には使用できません。 |
| -e | | 以下のようにデバイスパスを表示します。 Integrity サーバーでは、 EFI (Extensible Firmware Interface)
デバイスパスが使用可能であれば、そのパスを表示します。 PA-RISC ハードウェアでは、 -N オプションと一緒に使用するとき、PA
デバイスパスが使用可能であれば、そのパスを 16 進数および 10 進数形式で、コンマ
(,) で区切って表示します。 これは、 hpux のコマンドプロンプトから -a オプションをつけて
ISL からブートするときに使用する形式です (hpux(1M) を参照)。 同じ形式は、ブートコンソールハンドラー
(BCH) ブートプロンプトの lunpath ハードウェアパスに入力するときに使用できます。 |
| -f | | 詳しいリストを生成します。モジュールのクラス、インスタンス番号、ハードウェアパス、ドライバ、ソフトウェアの状態、ハードウェアの型、そして簡単な説明がつきます。 |
| -F | | フィールド (以下の『フィールド』 を参照)
のコンパクトなリストを作成します。各フィールドはコロン (:)
で区切られます。 このオプションは -f オプションより優先されます。 |
| -H hw_path | | 走査と出力のリストを、指定のハードウェアパスに接続されたデバイスに
限定します。ハードウェアパスは、バスパスでなければなりません。 バスより下のレベルで走査すると、ハードウェアが走査されず、不正確な結果を出す可能性があります。 たとえばパスをターゲットレベルで指定をすると、接続されているデバイスの状態が常に NO_HW として返されます。
デバイスの状態は、 NO_HW ノード上のバスノードから ioscan を再び実行することによって、復元されます。 このオプションは -M とともに使われた場合、
ソフトウェアモジュールをバインドするハードウェアパスを指定します。 |
| -I instance | | -d あるいは -C とともに指定した場合、
走査と出力のリストを指定のインスタンスに制限します。 -M とともに使われた場合、
バインドの希望するインスタンス番号を指定します。 -d、-C、または -M オプションのいずれかと一緒に使う必要があります。 |
| -k | | 実際のハードウェアの代わりにカーネルの I/O システムデータ構造を走査し、
結果をリストします。 ドライバのバインドやアンバインドは実行されません。 -d、-C、-I、および -H オプションを、リストを制限する目的で使うことができます。
このオプションを -u とともに指定することはできません。このオプションはスーパーユーザーの権限を必要としません。 |
| -m keyword | | 指定したキーワードに応じたマッピング情報を表示します。 ioscan はハードウェアを走査せずにカーネル
I/O データ構造から情報を取得します。 キーワードは以下のいずれか 1 つとすることができます。 | lun | | LUN と lunpath のマッピングを表示します。 -d、-C、-I、および -H オプションを使ってリストを制限できます。
柔軟なビューから引き数を渡す必要があります。 -F オプションを使って、フィールドのコンパクトなリストを生成できます。各フィールドはコロン
(:) で区切られます。 フィールドには、 クラス、インスタンス番号、LUN ハードウェアパス、ドライバ、ソフトウェアの状態、ハードウェアのタイプ、ブロックメジャー番号、キャラクタメジャー番号、稼動状態、簡単な説明、lunpath があります。 LUN に対応するデバイス特殊ファイルが、別の行に表示されます。 | | dsf | | 従来の特殊ファイルと一貫性のある特殊ファイルの間のマッピングを表示します。
従来の特殊ファイルか一貫性のある特殊ファイルのいずれかを引き数として指定できます。
何も指定しない場合、キャラクタ型特殊ファイルのすべての有効なマッピングが表示されます。 -F オプションを使って、フィールドのコンパクトなリストを生成できます。各フィールドはコロン
(:) で区切られます。 フィールドには、 一貫性のある特殊ファイル、従来の特殊ファイル があります。 一貫性のある特殊ファイルに対して複数の従来の特殊ファイルをマッピングすると、
空白文字で区切られます。 | | hwpath | | 従来のハードウェアパス、lunpath ハードウェアパス、および
LUN ハードウェアパスの間のマッピングを表示します。 -H オプションを使ってリストを制限できます。 -H で指定する引き数は、従来のハードウェアパス、lunpath
ハードウェアパス、または LUN ハードウェアパスとすることができます。
指定するハードウェアパスは、対応する他の 2 つがある場合、並べて表示されます。 -F オプションを使って、フィールドのコンパクトなリストを生成できます。各フィールドはコロン (:)
で区切られます。これは awk を使って、自分用のリストを作成する場合に便利です。
フィールドには、 LUN ハードウェアパス、lunpath ハードウェアパス、従来のハードウェアパス があります。 lunpath ハードウェアパス にマッピングする 従来のハードウェアパス が複数ある場合、これらは最終フィールド内で空白文字で区切られます。
たとえば、lunpath ハードウェアパスと 2 つの従来のハードウェアパスがマッピングする場合、2 つの従来のハードウェアパスは最終フィールド内で空白文字で区切られます。マッピングが複数ある場合、別の行に表示されます。
たとえば、1 つの LUN ハードウェアパスが 2 つの lunpath ハードウェアパスとマッピングして、それぞれが 1 つの従来のハードウェアパスにマッピングする場合などがあります。 |
|
| -M driver | | -H オプションによって指定されたハードウェアパスでバインドするソフトウェアドライバを指定します。 -H と同時に指定する必要があります。 |
| -n | | デバイスファイル名を出力リストに追加します。 /dev ディレクトリおよびそのサブディレクトリ内の特殊ファイルだけがリストされます。 -f または -F のいずれかのオプションと一緒に使う必要があります。 |
| -N | | システムハードウェアの柔軟なビューを表示します (intro(7) を参照)。
ドライバクラス、従来のハードウェアパス、デバイスの説明を通常含む大容量記憶装置の項目の場合、このオプションを使うと、 ioscan は
lunpath のクラス、lunpath ハードウェアパス、および そのマッピング先の
LUN を出力します。 さらに、出力には LUN ハードウェアパスでの大容量記憶装置の項目と、予期されるドライバクラスと説明が追加されます。
したがって、それぞれの大容量記憶装置は ioscan 出力中に、
1 つは LUN ハードウェアパスに対して、もう 1 つは各 lunpath ハードウェアパスに対しての、最低 2 つのエントリがあることになります。 -n オプションと一緒に使うと、 ioscan は一貫性のある特殊ファイルのみを出力します。 |
| -P property | | ノードのプロパティを柔軟なビューで表示します。 このオプションは -C、-d、-I および -H オプションと結合できますが、渡されるパラメータは柔軟なビューに属している必要があります。
有効なプロパティを以下に示します。 bus_type、cdio、is_block、is_char、is_pseudo、b_major、c_major、minor、class、driver、hw_path、id_bytes、instance、module_name、sw_state、hw_type、description、health、error_recovery |
| -r | | 指定したハードウェアパスの遅延バインディングを削除します。 -H オプションと一緒に使う必要があります。 hw_path は柔軟なビューに属する必要があります。 |
| -s | | システムに存在する遅延 I/O ノードエントリをリストします。
これらのエントリは、システム I/O 構成ファイルにエントリを持つノードに対応しますが、対応するデバイスは検出されません
(ioconfig(4) を参照)。 |
| -t | | システムハードウェアを最後に走査した日付と時刻を表示します。
このオプションを使った場合の ioscan コマンドの出力は、次のようになります Fri Nov 22 11:22:21 2005 |
| -u | | 実際のハードウェアの代わりに使用可能な I/O システムデバイスを走査します。
利用可能な I/O デバイスとは、 カーネルにありインスタンス番号をアサインされているドライバを持つものです。 -d、-C、-I、および -H オプションを、リストを制限する目的で使うことができます。 -u オプションを -k とともに指定することはできません。 |
| -U | | INTERFACE 型の要求されていないノードの走査を 柔軟なビューで開始します。 |
-d および -C オプションを指定すると、I/O
システムのサブセットのリストを得ることができますが、走査はシステム全体に対して行われます。 -I とともに -d または -C を指定するか、または -H または devfile を指定すると、 ioscan は走査とリストの出力の両方を、指定されたハードウェアサブセットに限定して行います。
フィールド
-F オプションを使って、各フィールドがコロン
(:) で区切られた、コンパクトなリストを作成できます。 awk を使って、自分用のリストを作成する場合に便利です。
フィールドには、そのモジュールの以下のものが含まれます。 バスタイプ、cdio、is_block、is_char、is_pseudo、ブロックメジャー番号、キャラクタメジャー番号、マイナー番号、クラス、ドライバ、ハードウェアパス、識別バイト、インスタンス番号、モジュールパス、モジュール名、ソフトウェアの状態、ハードウェアのタイプ、簡単な説明、カードのインスタンス および EFI デバイスパス または PA デバイスパス。
-N オプションを -F オプションとともに指定した場合、 health プロパティがリストの最後に追加されます。 フィールドがない場合は、コロンが連続して置かれ、そのフィールドの位置だけを示します。
フィールドは下記のように定義されます。
| bus type | | ノードに関連づけられているバスのタイプ。 |
| cdio | | コンテキスト依存 I/O モジュールに関連づけられた名前。 |
| is_block | | デバイス ブロックメジャー番号が存在するかどうかを表すブール値。 このフィールドには、 T あるいは F が表示されます。 |
| is_char | | デバイス キャラクタメジャー番号が存在するかを表すブール値。 T あるいは F が表示されます。 |
| is_pseudo | | 疑似ドライバを表すブール値。 このフィールドには、 T あるいは F が表示されます。 |
| block major | | デバイスのブロックメジャー番号 -1 で、デバイスのブロックメジャー番号が存在しないことを表します。 |
| character major | | デバイスのキャラクタメジャー番号 -1 で、デバイスのキャラクタメジャー番号が存在しないことを表します。 |
| minor | | デバイスのマイナー番号。 |
| class | | ディレクトリ /usr/conf/master.d にあるファイルで定義されているデバイスカテゴリで、 lsdev (lsdev(1M) を参照) によるリスト出力と一貫性があります。
例として、 disk、printer、および tape があります。 |
| driver | | ハードウェアのコンポーネントを制御するドライバの名前。
そのハードウェアコンポーネントをコントロールするドライバが利用可能でない場合、
疑問符 (?) が出力に表示されます。 |
| hw path | | ハードウェアのコンポーネントを表す、数文字列。バスアドレス、デバイスアドレス
の順に記録されます。 典型的には、イニシャル番号のあとに (/)
がつき、 これで、バスコンバーターを表現します (使用中のマシンにより要求される場合)。
そして、それに続く番号はピリオド (.) で区切られます。
各番号はそのデバイスへのパス上のハードウェアのコンポーネントの位置を表します。 |
| identify bytes | | モジュールあるいはデバイスから返された識別用バイト。 |
| instance | | デバイスあるいはカードに関連しているインスタンス番号。
あるクラス内のカードあるいはデバイスにアサインされた、ユニークな番号です。
ドライバのバインド時に、 そのハードウェアのコンポーネントに対するドライバが利用可能でない場合は、
あるいは、エラーが起こった場合は、 カーネルはインスタンス番号をアサインせず、
(-1) がリストされます。 |
| module path | | ソフトウェアのコンポーネント。ピリオド (.)
によって分離されます。 |
| module name | | そのノードをコントロールしているソフトウェアコンポーネントのモジュール名。 |
| software state | | ソフトウェアバインディングの結果。 | CLAIMED | | ソフトウェアのバインドに成功 | | UNCLAIMED | | 所定のソフトウェアが見つからない | | UNUSABLE | | 指定のアドレスにあるハードウェアは、回復不能なエラー条件によって使用できない。システムのリブートによってこの条件が解除できる | | SUSPENDED | | 関連づけられたソフトウェアとハードウェアがサスペンド状態にある | | DIFF_HW | | 見つかったソフトウェアが所定のものではない | | NO_HW | | 指定のアドレスにあるハードウェアは、応答しなくなった | | ERROR | | 指定のアドレスにあるハードウェアは、応答はしているが、エラー状態にある | | SCAN | | このノードについて走査が実行中である |
|
| hardware type | | ハードウェアコンポーネントのエンティティ識別子。次の文字列のうちの 1 つが設定されます。 | UNKNOWN | | 関連するハードウェアがない、あるいはハードウェアのタイプが未知 | | PROCESSOR | | ハードウェアコンポーネントがプロセッサ | | MEMORY | | ハードウェアコンポーネントがメモリー | | BUS_NEXUS | | ハードウェアコンポーネントがバスコンバーターかバスアダプタ | | VIRTBUS | | ハードウェアコンポーネントが仮想 (ソフトウェアで制御される)
バス | | INTERFACE | | ハードウェアコンポーネントがインタフェースカード | | DEVICE | | ハードウェアコンポーネントがデバイス | | TGT_PATH | | ハードウェアコンポーネントがターゲットパス | | LUN_PATH | | ハードウェアコンポーネントが LUN パス |
|
| description | | デバイスの説明。 |
| card instance | | ハードウェア インタフェースカードのインスタンス番号。 |
| EFI device path または PA device path |
| | | Integrity サーバーハードウェアでは、このフィールドには
EFI デバイスパスが入ります。 PA-RISC ハードウェアでは、このフィールドは
16 進数および 10 進数形式の PA デバイスパスで、コンマ (,)
で区切って表示します。 |
| health | | このノードを管理するサブシステムによって定義される、ノードの状態
(ドライバなど)。 以下のいずれか 1 つの文字列です。 | online | | ノードはオンラインで機能している | | offline | | ノードはオフラインでアクセス不能 | | limited | | ノードはオンラインだが、一部のリンク、パス、および接続がオフラインであるため、パフォーマンスが低下している | | unusable | | 手動による介入が必要なエラー条件が発生している (認証の失敗、ハードウェア障害など) | | testing | | ノードは診断中である | | disabled | | ノードは無効になっているか、または一時停止している | | standby | | ノードは機能しているが、使われていない (スタンバイノード) |
|
戻り値
ioscan は、次の値を返します。
| 0 | | 正常終了した場合 |
| 1 | | エラーが発生した場合 |
| 2 | | ドライバが機能をサポートしない場合 |
例
次の例は、システムハードウェアを走査して、ディスク デバイスクラスに所属するデバイスをすべてリストします。
ドライバ tape2 をハードウェアパス 8.4.1 で強制バインドします。
lun と lunpath のマッピングを表示します。
disk のクラス名を持つすべてのノードの health プロパティを柔軟なビューに表示します。
すべてのノードのリストを柔軟なビューに表示します。
参照
kcmodule(1M), lsdev(1M), ioconfig(4), intro(7)