最終更新:2022-08-23 (火) 08:05:23 (605d)  

USB/ディスクリプタ
Top / USB / ディスクリプタ

USBデバイスの機能・属性を示すデータの集合体

概要

取得方法

USB/標準ディスクリプタ

親子関係

  • デバイスディスクリプタ
      └コンフィグレーションディスクリプタ
        └インターフェイスディスクリプタ
           └エンドポイントディスクリプタ

デバイスディスクリプタ (bDescriptorType=1) 18バイト固定

コンフィグレーションディスクリプタ (bDescriptorType=2) 9バイト固定

ストリングディスクリプタ (bDescriptorType=3) 可変サイズ

インターフェイスディスクリプタ (bDescriptorType=4) 9バイト

  • デバイスの機能を表すためのディスクリプタ
    • インターフェイス自身の番号
    • USBクラス
    • サブクラス
    • プロトコル情報
    • エンドポイントの数

エンドポイントディスクリプタ (bDescriptorType=5) 7バイト固定

  • エンドポイントのデータ転送種別、転送方向、パケットサイズ、ポーリング時間

USB 2.0で追加

標準以外のディスクリプタ

USB 2.0のECNとかで追加

USB 3.0で追加

  • SUPERSPEED_USB_ENDPOINT_COMPANION?0x30Burst転送最大長

USB/クラスディスクリプタ

HID/ディスクリプタ

  • HID クラスのファンクションには、他の USB ファンクションがもっているディスクリプタ情報に加え下記のディスクリプタが必要。

親子関係

  • デバイスディスクリプタ
      └コンフィグレーションディスクリプタ
        └インターフェイスディスクリプタ
           └HIDディスクリプタ
            |  └レポートディスクリプタ
            |  └フィジカルディスクリプタ
           └エンドポイントディスクリプタ

HIDディスクリプタ (bDescriptorType=0x21)

レポートディスクリプタ

  • HIDデバイスからホストに通知するデータのフォーマットを定義

フィジカルディスクリプタ (オプション)

USB/ベンダディスクリプタ?

取得するためのツール

Windows

Linux

Mac OS X

参考