Oracle® Solaris 11.2 デバイスドライバの記述

印刷ビューの終了

更新: 2014 年 9 月
 
 

インタフェース関連付け記述子を含むデバイス

デバイスにインタフェース関連付け記述子が含まれている場合、次の 3 つのレベルでデバイスツリーを解析できます。

  • 使用可能なベンダー固有またはクラス固有のドライバが存在しない場合は、usb_mid(7D) USB マルチインタフェースドライバは、複合デバイスのデバイスレベルノードにバインドします。

  • インタフェース関連付けノードにクライアントドライバがバインドされます。

  • クライアントドライバが見つからない場合は、usb_ia(7D) USB インタフェース関連付けドライバがデフォルトでバインドされます。その後、このインタフェース関連付けのインタフェースレベルにクライアントドライバをバインドできます。

usb_mid ドライバは、ia ごとに ia (インタフェース関連付け) ノードを 1 つずつ作成します。ia ノードの互換名は一般に usbia で始まります。名前 usb,ia は互換名の後部として任意の ia を表す互換名です。ia ノードには、その ia を要求するドライバがほかに存在しない場合には、usb_ia ドライバがバインドされます。usb_ia ドライバは、インタフェースごとに子ノードを 1 つずつ作成します。ia ノードの子ノードとしてのインタフェースノードは、デバイスノードの子としてのインタフェースノードと同じ特性を持ちます。

使用例 20-4  USB ビデオインタフェース関連付けの互換名
1. 'usbia46d,8c9.5.config1.0' vend 46d, prod 8c9, rev 5, cnfg 1, first_if_in_ia 0
2. 'usbia46d,8c9.config1.0'   vend 46d, prod 8c9, cnfg 1, first_if_in_ia 0
3. 'usbia46d,classe.3.0'      vend 46d, class e, subclass 3, protocol 0
4. 'usbia46d,classe.3'        vend 46d, class e, subclass 3
5. 'usbia46d,classe'          vend 46d, class e
6. 'usbia,classe.3.0'         class e, subclass 3, protocol 0
7. 'usbia,classe.3'           class e, subclass 3
8. 'usbia,classe'             class e
9. 'usb,ia'                   by default

vendor_model_video_usb という名前のベンダー固有、デバイス固有のクライアントドライバを、Example 20–4 に示したベンダー固有、デバイス固有の構成 1、first_if_in_ia 0 互換名にバインドするには、次のコマンドを使用します。

add_drv -n -i '"usbia46d,8c9.config1.0"' vendor_model_video_usb

video_class_usb_ia_driver という名前のクラスドライバを、Example 20–4 に示したより汎用的な class e 互換名にバインドするには、次のコマンドを使用します。

add_drv -n -i '"usbia,classee"' video_class_usb_ia_driver

次の例では、prtconf –D コマンドにより、videoaudioia を含む、Web カメラのデバイスツリーが表示されています。usb_mid ドライバがこのデバイスを管理し、2 つの ia をそれぞれビデオ用とオーディオ用に作成しています。ビデオ ia にビデオドライバ usbvc がバインドされ、オーディオ ia のインタフェースにオーディオドライバがバインドされています。

miscellaneous, instance #28 (driver name: usb_mid)
    video, instance #24 (driver name: usbvc)
    audio, instance #30 (driver name: usb_ia)
        sound-control, instance #38 (driver name: usb_ac)
        sound, instance #47 (driver name: usb_as)