USB Map
USB-poorten en aangesloten apparaten in kaart brengen
USBMap is een functie van SerialTool die basisinformatie weergeeft over USB-hostcontrollers, USB-hubs en aangesloten USB-apparaten.
Het vraagt ook informatie over de apparaten op bij het systeemregister en via USB-verzoeken aan de apparaten zelf.
Het hoofdvenster van USBMap is verdeeld in twee panelen: het linkerpaneel toont een verbinding-georiënteerde boomstructuur waarin je elk USB-apparaat kunt selecteren; het rechterpaneel toont de USB-datastructuren die bij het geselecteerde USB-apparaat horen.
Deze structuren omvatten Device-, Configuration-, Interface- en Endpoint-descriptors, en de huidige configuratie van het apparaat.
USBMap is compatibel met Windows, macOS en Linux, en is zeer nuttig om te bekijken welke USB-apparaten met de verschillende poorten van je pc zijn verbonden. Het maakt onderscheid tussen Host Controller Interface (USB, Firewire), USB-hub, externe USB-hubs, generieke apparaten en seriële poorten. Wat seriële poorten betreft, laat USBMap ook zien welke seriële poort of poorten beschikbaar zijn voor een specifieke USB-converter. Dit is vooral handig wanneer één USB-serieel apparaat meerdere seriële poorten aanmaakt die anders lastig te identificeren zouden zijn.
De gedetailleerde informatie die USBMap geeft, is essentieel voor ontwikkelaars en technici en stelt hen in staat de specifieke eigenschappen van aangesloten USB-apparaten te analyseren. Het detailniveau kan per besturingssysteem verschillen, maar USBMap zorgt altijd voor een grondige en nauwkeurige analyse van de apparaten.
Een onderscheidend kenmerk van USBMap is dat deze functionaliteit – die normaal alleen voor ontwikkelaars op verschillende besturingssystemen beschikbaar is – in SerialTool is geïntegreerd, zonder dat extra pakketten of tools hoeven te worden geïnstalleerd. Je krijgt dus directe en vereenvoudigde toegang.
De weergegeven informatie kan rechtstreeks naar het klembord worden gekopieerd en de USB-poortmap kan in ASCII-formaat worden geëxporteerd, waardoor het delen en documenteren van de uitgevoerde analyse eenvoudiger wordt.
Opmerking 1: USBMap toont aangesloten USB-apparaten en geen virtuele seriële poorten, als die aanwezig zijn.Opmerking 2: Sommige functies van deze tool kunnen beperkt zijn in de GRATIS versie van SerialTool. Schaf nu de PRO-versie van SerialTool aan!
USBMap - Scan van aangesloten USB-poorten
Voorbeeld van een USB-serieel converter met meerdere seriële poorten
Hier is een voorbeeld van een CH347 USB-serieel converter van Nanjing Qinherg Electronics Co., die via één enkele USB-verbinding twee seriële poorten aanmaakt.
USBMap - Details van USB-serieel converter met meerdere seriële poorten
[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
Structuur van informatie die door Windows wordt gegeven
Details van seriële poorten:
De USB-poort (Port12) wordt gebruikt om het apparaat als een USB Composite Device te beheren. Dat betekent dat het meerdere interfaces heeft en verschillende communicatiekanalen kan afhandelen.
Elke virtuele seriële poort die door het apparaat wordt aangemaakt, heeft zijn eigen aanduiding:
- COM9 met de naam "USB-HiSpeed-SERIAL-B CH347"
- COM10 met de naam "USB-HiSpeed-SERIAL-A CH347"
Elke seriële poort heeft:
Een vriendelijke naam (Friendly Name) waarmee je de poort in het systeem kunt herkennen.Een Location Path dat aangeeft waar de fysieke aansluiting van het apparaat zich bevindt.
Een Driver Key en Hardware ID, unieke gegevens die het besturingssysteem helpen om het type hardware en het juiste stuurprogramma te identificeren.
Verbinding en overdrachtstype:
Dit apparaat ondersteunt USB 1.1 en USB 2.0, maar is niet compatibel met USB 3.0. Dit wordt aangegeven in de sectie "Protocols Supported". Elke poort gebruikt zowel Bulk-endpoints (voor grote hoeveelheden data) als Interrupt-endpoints (voor snelle en periodieke signalen) voor dataoverdracht, waardoor seriële data efficiënt kunnen worden verstuurd.
Apparaatdescriptors:
De descriptorsectie geeft details over het type USB-apparaat, de functionele klassen (bijvoorbeeld Communications (CDC Control - Universal Serial Bus device class ) voor communicatieapparaten) en hoe de interfaces zijn georganiseerd. De volledige configuratiebeschrijving wordt ook getoond, inclusief informatie zoals het maximale stroomverbruik van het apparaat (200 mA in dit geval) en de waarden die horen bij de verschillende interfaces en endpoints.Mogelijkheid om meerdere seriële poorten te creëren:
Dit apparaat kan via één enkele fysieke USB-aansluiting meerdere seriële poorten creëren. Dit is vooral handig bij apparaten met meerdere seriële kanalen, zoals multi-control interfaces of apparatuur die meerdere communicatieverbindingen nodig heeft.
Nuttig in USBMap
Met USBMap kun je nauwkeurige details van elke aangemaakte poort bekijken en zo elke virtuele seriële poort eenvoudig koppelen aan het fysieke apparaat dat deze levert. Dit is bijzonder handig om verschillende converters en seriële poorten in complexe systemen uit elkaar te houden. USBMap maakt het ook mogelijk te controleren welke poort (of poorten) aan elk apparaat is gekoppeld en om deze informatie te exporteren voor documentatie of diagnose.
Dit voorbeeld laat zien hoe een multi-port USB-serieel converter meerdere verbindingen kan beheren via één enkele USB-poort. Met tools zoals USBMap krijg je een gedetailleerd en diepgaand beeld van de verbindingen, waardoor het monitoren, configureren en troubleshooten van USB-seriële communicatie eenvoudiger wordt. Dit is een groot voordeel voor ontwikkelaars, technici en systeemintegrators die met complexe communicatieapparatuur werken.