USB Map

USBポートと接続機器をマッピング

USBMap は、USB ホストコントローラ、USB ハブ、および接続されている USB デバイスに関する基本情報を一覧表示する、SerialTool の機能です。

さらに、システムレジストリおよび USB リクエストを通して、デバイス自身から詳細情報を取得します。 USBMap のメインウィンドウは 2 つのペインに分かれており、左側のペインには接続構造に基づいたツリービューが表示され、任意の USB デバイスを選択できます。右側のペインには、選択された USB デバイスに関連する USB データ構造が表示されます。
これらの構造には、Device/Configuration/Interface/Endpoint ディスクリプタや、デバイスの現在のコンフィグレーションが含まれます。

USBMap は Windows、macOS、Linux に対応しており、PC 上のさまざまなポートにどの USB デバイスが接続されているかを確認するのに非常に便利です。ホストコントローラインターフェイス(USB, Firewire)USB ハブ外付け USB ハブ、汎用デバイス、そして シリアルポート を区別して表示することができます。 シリアルポートについては、特定の USB-シリアルコンバータに対して、どのシリアルポートが利用可能かを確認することもでき、一つの USB–シリアルデバイスが複数のシリアルポートを生成するような場合に、どのポートがどのデバイスに対応しているかを判別するのに非常に役立ちます。

USBMap が提供する詳細情報は、接続されている USB デバイスの特性を分析したい開発者や技術者にとって不可欠です。詳細レベルは OS によって異なる場合がありますが、USBMap は常にデバイスに対して徹底的かつ正確な解析を行います。

USBMap の大きな特徴は、通常は各 OS 上で開発者向けツールとして提供されるこのような機能が、SerialTool に統合されており、追加パッケージやツールをインストールすることなく利用できる点です。これにより、直接的でシンプルなアクセスが可能になります。

表示された情報は、クリップボードへ直接コピーできるほか、USB ポートマップを ASCII 形式でエクスポートすることもでき、解析結果の共有やドキュメント化を容易にします。

注意 1: USBMap は接続されている USB デバイスを表示し、仮想シリアルポート(存在する場合)は表示しません。
注意 2: このユーティリティの一部機能は SerialTool の無料版では制限される場合があります。今すぐ SerialTool PRO 版を入手してください!



USBMap - 接続されている USB ポートのスキャン

複数シリアルポートを持つ USB シリアルコンバータの例

ここでは、Nanjing Qinherg Electronics Co. 製の CH347 USB シリアルコンバータの例を示します。1 本の USB 接続で 2 つのシリアルポートを生成します。

Screenshot of USBMap displaying detailed information about a USB device

USBMap - 複数シリアルポートを持つ USB シリアルコンバータの詳細


[Port12] : USB Composite Device
Type: Serial Port
[Multiple Serial Port 1]Serial Port Number: COM9
[Multiple Serial Port 1]Device Description: USB-HiSpeed-SERIAL-B CH347
[Multiple Serial Port 1]Friendly Name: USB-HiSpeed-SERIAL-B CH347 (COM9)
[Multiple Serial Port 1]Manufacturer: wch.cn
[Multiple Serial Port 1]Location Path: PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(12)#USBMI(2)
[Multiple Serial Port 1]USB Parent: USB\VID_1A86&PID_55DA\0123456789
[Multiple Serial Port 1]Driver Key: {4d36e978-e325-11ce-bfc1-08002be10318}\0011
[Multiple Serial Port 1]Hardware ID: USB\VID_1A86&PID_55DA&REV_0441&MI_02
Type: Serial Port
[Multiple Serial Port 2]Serial Port Number: COM10
[Multiple Serial Port 2]Device Description: USB-HiSpeed-SERIAL-A CH347
[Multiple Serial Port 2]Friendly Name: USB-HiSpeed-SERIAL-A CH347 (COM10)
[Multiple Serial Port 2]Manufacturer: wch.cn
[Multiple Serial Port 2]Location Path: PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(12)#USBMI(0)
[Multiple Serial Port 2]USB Parent: USB\VID_1A86&PID_55DA\0123456789
[Multiple Serial Port 2]Driver Key: {4d36e978-e325-11ce-bfc1-08002be10318}\0012
[Multiple Serial Port 2]Hardware ID: USB\VID_1A86&PID_55DA&REV_0441&MI_00

Is Port User Connectable: yes
Is Port Debug Capable: no
Companion Port Number: 22
Companion Hub Symbolic Link Name: USB#ROOT_HUB30#4&3783c1a5&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Protocols Supported:
USB 1.1: yes
USB 2.0: yes
USB 3.0: no

---===>Device Information<===---
English product name: "USB Dual_Serial"

ConnectionStatus:
Current Config Value: 0x01
-> Device Bus Speed: High
(is not SuperSpeed or higher capable)
Device Address: 0x29
Open Pipes: 6

===>Device Descriptor<===
bLength: 0x12
bDescriptorType: 0x01
bcdUSB: 0x0200
bDeviceClass: 0xEF
-> This is a Multi-interface Function Code Device
bDeviceSubClass: 0x02
-> This is the Common Class Sub Class
bDeviceProtocol: 0x01
-> This is the Interface Association Descriptor protocol
bMaxPacketSize0: 0x40
= (64) Bytes
idVendor: 0x1A86
= Nanjing Qinherg Electronics Co., Ltd.
idProduct: 0x55DA
bcdDevice: 0x0441
iManufacturer: 0x01
English (United States) "wch.cn"
iProduct: 0x02
English (United States) "USB Dual_Serial"
iSerialNumber: 0x03
English (United States) "0123456789"
bNumConfigurations: 0x01

---===>Open Pipes<===---

===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81
-> Direction: IN - EndpointID: 1
bmAttributes: 0x03
-> Interrupt Transfer Type
wMaxPacketSize: 0x0040
= 1 transactions per microframe, 0x40 max bytes
bInterval: 0x01

===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x02
-> Direction: OUT - EndpointID: 2
bmAttributes: 0x02
-> Bulk Transfer Type
wMaxPacketSize: 0x0200
= 0x200 max bytes
bInterval: 0x00

===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x82
-> Direction: IN - EndpointID: 2
bmAttributes: 0x02
-> Bulk Transfer Type
wMaxPacketSize: 0x0200
= 0x200 max bytes
bInterval: 0x00

===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x83
-> Direction: IN - EndpointID: 3
bmAttributes: 0x03
-> Interrupt Transfer Type
wMaxPacketSize: 0x0040
= 1 transactions per microframe, 0x40 max bytes
bInterval: 0x01

===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x04
-> Direction: OUT - EndpointID: 4
bmAttributes: 0x02
-> Bulk Transfer Type
wMaxPacketSize: 0x0200
= 0x200 max bytes
bInterval: 0x00

===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x84
-> Direction: IN - EndpointID: 4
bmAttributes: 0x02
-> Bulk Transfer Type
wMaxPacketSize: 0x0200
= 0x200 max bytes
bInterval: 0x00

Windows が提供する情報の構造

シリアルポートの詳細:

USB ポート (Port12) は USB Composite Device としてデバイスを扱うために使用されます。これは、デバイスが複数のインターフェイスを持ち、異なる通信チャネルを扱えることを意味します。
デバイスが生成する各仮想シリアルポートには、それぞれ個別の識別情報があります。

- COM9 : "USB-HiSpeed-SERIAL-B CH347"
- COM10 : "USB-HiSpeed-SERIAL-A CH347"

各シリアルポートには次の情報があります:

システム上でポートを識別しやすくするための フレンドリ名 (Friendly Name)
デバイスが物理的にどこに接続されているかを示す Location Path
デバイス固有であり、OS がハードウェアの種類と必要なドライバーを特定するのに役立つ Driver Key と Hardware ID

接続と転送方式:

このデバイスは USB 1.1 および USB 2.0 をサポートしていますが、USB 3.0 には対応していません。これは "Protocols Supported" セクションに示されています。 各ポートは、シリアルデータの効率的な転送のために、大容量データ用の Bulk エンドポイントと、高速で周期的な信号用の Interrupt エンドポイントの両方を使用します。

デバイスディスクリプタ:

ディスクリプタのセクションには、USB デバイスの種類、機能クラス(たとえば通信機器のための Communications クラス (CDC Control - Universal Serial Bus device class ))、およびインターフェイス構成に関する詳細が含まれます。 また、このデバイスが必要とする最大電流(この例では 200 mA)や、各インターフェイスおよびエンドポイントに関連する値など、完全なコンフィグレーション情報も表示されます。

複数のシリアルポートを生成できる能力:

このデバイスは、1 本の物理 USB 接続から複数のシリアルポートを生成することができます。複数のシリアルチャネルを持つ装置(マルチコントロールインターフェイスや、複数の通信経路を必要とする機器など)を扱う場合に特に便利です。

USBMap での有用性:

USBMap を使用すると、作成された各ポートの詳細を正確に確認でき、各仮想シリアルポートを、それを提供している物理デバイスに簡単に関連付けることができます。これは、複雑なシステム内で複数のコンバータやシリアルポートを区別したい場合に特に役立ちます。 USBMap では、各デバイスにどのポート(または複数ポート)が対応しているかを確認でき、その情報をドキュメント化や診断用にエクスポートすることも可能です。

この例は、マルチポート USB–シリアルコンバータが 1 つの USB ポート経由で複数の接続を管理できることを示しています。USBMap のようなツールを使うことで、接続状況を詳細かつ深く把握でき、USB–シリアル通信の監視・設定・トラブルシュートを容易に行うことができます。これは、複雑な通信機器を扱う開発者・技術者・システムインテグレータにとって大きな利点となります。