Apr 05, 2005 Use this application to backup and restore presentation, pictures, songs and applications from and to USB Flash Drive devices and take them with you. Use USB Flash Drives to store personal data, to keep your network configuration and to share information with your friends. Microsoft USB Flash Drive. Use this application to backup and restore presentation, pictures, songs and applications from and to USB Flash Drive devices and take them with you. Use USB Flash Drives to store personal data, to keep your network configuration and to share information with your friends. Microsoft USB Flash Drive.
-->
This topic is intended for OEMs who want to build a Windows 10 system with USB Type-C connector and want to leverage OS features that allow for faster charging, power delivery, dual role, alternate modes, and error notifications through Billboard devices.
A traditional USB connection uses a cable with a USB A and USB B connector on each end. The USB A connector always plugs in to the host side and the USB B connector connects the function side, which is a device (phone) or peripheral (mouse, keyboard). By using those connectors, you can only connect a host to a function; never a host to another host or a function to another function. The host is the power source provider and the function consumes power from the host.
The traditional configuration limits some scenarios. For example, if a mobile device wants to connect to a peripheral, the device must act as the host and deliver power to the connected device.
The USB Type-C connector, introduced by the USB-IF, defined in the USB 3.1 specification, addresses those limitations. Windows 10 introduces native support for those features.
Feature summary
- Allows for faster charging up to 100W with Power Delivery over USB Type-C.
- Single connector for both USB Hosts and USB Devices.
- Can switch USB roles to support a USB host or device.
- Can switch power roles between sourcing and sinking power.
- Supports other protocols like DisplayPort and Thunderbolt over USB Type-C.
- Introduces USB Billboard device class to provide error notifications for Alternate Modes.
Official specifications
Hardware design
USB Type-C connector is reversible and symmetric.
The main component are: the USB Type-C connector and its port or PD controller that manages the CC pin logic for the connector. Such systems typically have a dual-role controller that can swap the USB role from host to function. It has Display-Out module that allows video signal to be transmitted over USB. Optionally it can support BC1.2 charger detection.
Consider recommendations for the design and development of USB components, including minimum hardware requirements, Windows Hardware Compatibility Program requirements, and other recommendations that build on those requirements.Hardware component guidelines USB
Choose a driver model
Use this flow chart to determine a solution for your USB Type-C system.
If your system... | Recommended solution... |
---|
Does not implement PD state machines | Write a client driver to the UcmTcpciCx class extension. Write a USB Type-C port controller driver |
Implements PD state machines in hardware or firmware and support USB Type-C Connector System Software Interface (UCSI) over ACPI | Load the Microsoft provided in-box drivers, UcmUcsiCx.sys and UcmUcsiAcpiClient.sys. See UCSI driver. |
Implements PD state machines in hardware or firmware, but either does not support UCSI, or support UCSI but requires a transport other than ACPI | Write a client driver for the UcmCx class extension. Write a USB Type-C connector driver Write a USB Type-C Policy Manager client driver |
Implements UCSI but requires a transport other than ACPI | Write a client driver to the UcmUcsiCx class extension. Use this sample template and modify it based on a transport that your hardware uses. Write a UCSI client driver |
Bring up drivers
USB Function driver bring-up is only required if you support USB Function mode. If you previously implemented a USB Function driver for a USB micro-B connector, describe the appropriate connectors as USB Type-C in the ACPI tables for the USB Function driver to continue working.
For more information, see instructions about writing a USB Function driver.
USB Role-Switch driver bring-up is only required for devices that have a Dual Role controller that assumes both Host and Function roles. To bring-up the USB Role-Switch driver, you need to modify the ACPI tables to enable the Microsoft in-box USB role-switch driver.
For more information, see the guidance for bringing up the USB Role Switch Driver.
A USB Connector Manager Driver is required for Windows to manage the USB Type-C ports on a system. The bring-up tasks for a USB Connector Manager driver depend on the driver that you choose for the USB Type-C ports: The Microsoft in-box UCSI (UcmUcsiCx.sys and UcmUcsiAcpiClient.sys) driver, a UcmCx client driver, or a UcmTcpciCx client driver. For more information, see the links in the preceding section that describe how to choose the right solution for your USB Type-C system.
Download Jablotron Usb Devices Driver Windows 10
Test
Perform various functional and stress tests on systems and devices that expose a USB Type-C connector.
Test USB Type-C systems with USB Type-C ConnEx - Run USB tests included in the Windows Hardware Lab Kit (HLK) for Windows 10.
Download Jablotron Usb Devices Driver Download
Run USB function HLK tests with a C-to-A cable (search for Windows USB Device in the HLK
Certification/ComplianceAttend Power Delivery and USB Type-C compliance workshops hosted by the standards bodies.
See also
Home
[Download] Download Jablotron Usb Devices Drivers
Descripton | The USB Device Tree Viewer, short UsbTreeView is based upon the Microsoft 'USBView' sample application found in the Windows Driver Development Kits and now standalone at GitHub. But it is source code only, there is no executable for end users provided. Meanwhile USBView comes as executables as part of the 'Debugging Tools für Windows', see here: USBView. UsbTreeView started with the USBView source code from the DDK for Server 2003. Here are the improvements I've done: - Informations from the Windows Device Management are collected and matched with the found USB devices; Therefore UsbTreeView can show the child devices, including drive letters and COM-ports
- Window position is saved
- Background color and font of the right pane can be set (the font shown in the screenshots is DOSLike 7)
- Keeps the tree item selection over refresh
- TreeView highlighting of arrived and removed devices
- Shows open handles on failed safe removal
- Way more descriptors are decoded, as Audio 2.0
- Hexdump of the descriptors can be shown
- Safe removal, device restart and port restart
- Extended USB information available under Windows 8 and 10 (taken from the latest USBView sample application)
- Extended information about host controllers
- Failed USB requests are re-tried in the background, e.g. if a USB mouse was moved while requesting its properties
- Toolbar with jump-lists for easily finding devices in complex trees
- TreeView with handmade 16x16 icons, USBView used 32x32 icons scaled down to 15x15
- many minor improvements
With V3.0- No more enumeration of all devices on arrival and removal of a USB device
- Search function (not full text, only things like device ID, drive letter, volume name etc)
- Some new Keyboard shortcuts (Alt+D to open the drives list, Alt+O the Others list, Alt+S to focus the search edit, Alt+Left/Right to cycle thru the search hits
- Options not to expand empty hubs or hub with only empty hubs attached
- Options to jump to arrived and removed devices
- Option to expand tree items to make selected arrived and removed devices visible
- Option to rename tree items (press F2 or single-click it when selected)
- Uses Windows visual theme with option to turn it off
With V3.3- Can write and read a report in XML format (not compatibel with USBview's)
|
Latest History | Old HistoryV3.5.1V3.5.0- Bugfix: Crash on Windows 8, 8.1, Server 2008 when dealing with companion ports
- New: Highlight for companion ports (Win8+)
- New: Right-click -> Copy Tree from here can copy a full treeview screenshot
V3.4.4- Bugfix: since V3.4.0 copy tree to clipboard did not work
- Bugfix: since V3.4.1 possible crash when restarting a hub
V3.4.3- Bugfix: since V3.4.1 SuperSpeed ports got no 'S' icon and max speed shown as SuperSpeedPlus
V3.4.2- Bugfix: V3.4.1 crashed on pre-Win8 systems
V3.4.1- Bugfix: Child devices sorted by device id instead of kernel name, at least for devices the author came across with this leads to better sorting, e.g. for COM ports
- Bugfix: TreeView's context menu did not work on negative mouse coordinates (on screens left of the main screen)
- New: Shows a summary with the most interesting information
- New: Can shows sum of used endpoints of all devices attached to a root-hub in the tree-view
- New: Remembers which ports have ever operated at SuperSpeedPlus (because so far there is no way to request the capability)
V3.4.0- Bugfix: Crash with failed USB hub
- New: UVC 1.5 H.264 descriptors are decoded
- New: More device interface GUIDs are resolved
- New: Reporting a USB version of 2.0 is blamed as an error if the device does not deliver an 'other_speed' device_qualifier descriptor because USB 2.0 spec says 9.2.6.6: 'Devices that are high-speed capable must set the version number in the bcdUSB field of their descriptors to 0200H. This indicates that such devices support the other_speed requests defined by USB 2.0.'
V3.3.8- New: Contains nearly 12000 vendor names from usbif.json instead of 1000 from the former usb.if
- New: Option to allow only one instance running
- New: Nodes of devices with a problem show a tool-tip with a problem description
V3.3.7- Bugfix: Renamed tree items not shown with the customized name on startup
V3.3.6- New: Shows Registry flags under HKLMSYSTEMCurrentControlSetControlusbstorVVVVPPPP
V3.3.5- New: Sum of used endpoints shown for root-hubs
- New: Option to show the number of used endpoints in the tree
- Bugfix: Crashs on device removal
V3.3.4- Bugfix: Sometimes truncated XML report
- New: A selected tree node can be renamed by pressing F2 or single left-click it (needs admin privileges)
V3.3.3- New: Finds root hubs which are not the child device of their host controller (often seen on virtual USB over LAN)
V3.3.2- Bugfix: Text report by command-line did not work since V3.3.0
V3.3.1- Bugfix: Device arrivals not detected when registry contains wrong device path for a USB hub
V3.3.0- New: Can write and read a report in XML format
V3.2.4- Bugfix: Crash when showing open handle after failed safe removal of a device with a COM port
- Bugfix: MessageBox was shown after writing a report by command-line
- Bugfix: guidExtensionCode in 'Video Control Extension Unit Descriptor' was not shown
- New: Name of guidExtensionCode (e.g. 'YUY2') is extracted from the first four bytes of the GUID
V3.2.3- Bugfix: Some strings for Smart Card Functional Descriptor where shown as question marks
- Bugfix: UVC frame intervals where shown without fraction of milliseconds for continuous frame type
V3.2.2- Bugfix: UVC frame intervals where shown without fraction of milliseconds
V3.2.1- Bugfix: Under XP the UsbTreeView process did not end after using 'Safely Remove'
- New: Highlight color of selected item darker
V3.2.0- New: TreeView highlighting as known from the SysInternals ProcessExplorer
- New: On failed 'safe removal' it shows open handles found for the device ID Windows returns as VetoName
- New: Shows global registry USB flags under HKLMSYSTEMCurrentControlSetControlUsbFlags and HKLMSYSTEMCurrentControlSetServicesusbhubhubg
V3.1.7- New: Detects arrival of USB devices even its driver fails to start, e.g. if no driver is installed yet
- New: Detects childs of USB devices even they don't generate device notifications nor they are enumerated by SetupDiGetClassDevs (seen on Arduino Micro)
V3.1.6- Bugfix: Device Qualifier Descriptor was requested even the device is running at SuperSpeed
V3.1.5- New: Option to show the port chain instead the port number in the tree
- Bugfix: Some hexdumps where missing
- Bugfix: Device Qualifier Descriptor was requested for USB 1.x devices
V3.1.4- New: Copy tree to clipboard function
- New: Text copied to clipboard as HTML fragment enclosed in <pre> tags to get a monospaced font offhand
- New: SmartCard Reader Feature Descritpor decoded
- Bugfix: Volume of CDROM drives not recognized on arrival
V3.1.3- Bugfix: Wrong value shown for Clock Selector in Audio Control Clock Selector Unit Descriptor 2.0
- New: Full enumeration when missing USB device notifcation is detected (workaround for SILEX USB Device Servers)
V3.1.2- Bugfix: Occasional crash on safe removal
- Bugfix: Since V3.0.6 no device information for UHCI controllers under Windows 2000
- Bugfix: wPacketSize decoded wrong if SuperSpeed device reported a Device Bus Speed of 0x02
V3.1.1 (06 May 2017)- New: Can show multiple Configuration and Other-Speed-Configuration Descriptors
- New: TreeView sub-menu to copy some id strings to clipboard
V3.1.0 (24 Feb 2017)- Bugfix: Removal of storage volumes not handled correctly
- New: Project is UNICODE now, so non-ASCII string descriptors are shown correctly even the Windows ANSI codepage cannot
- New: Improved robustness when decoding invalid descriptors
- New: Option 'Always On Top'
V3.0.8 (01 Jan 2017)- Bugfix: No more font change in the text pane when hitting some special charaters
V3.0.7 (09 Dec 2016)- New: Improved detection of arrival/removal of child devices
- New: Devices in low power state and problem code 0 get a 'D1', 'D2' etc icon instead of an exclamation mark
- New: Workaround for a strange phenomenon: On some Windows device notifications come with wide strings even RegisterDeviceNotificationA was used; This is dealt with now.
V3.0.6 (10 Nov 2016)- New: Support for virtual USB Controllers where Hostcontroller and Root-Hub are one and the same device
V3.0.5 (03 Nov 2016)- New: Port property PortConnectorIsTypeC (Win10 only)
V3.0.4 (15 Aug 2016)- New: Device Manager problem numbers shown in the treeview icons
V3.0.3 (29 June 2016)- New: Search hits get highlighted in the text pane (which is a RichEdit control now)
V3.0.2 (16 June 2016)- Bugfix: Dropdown lists not refreshed on device arrival and removal
V3.0.1 (13 June 2016)- Bugfix: Crash on full refresh
V3.0.0 (12 June 2016)- New: No more enumeration of all devices on arrival and removal of a USB device
- New: Search function (not full text, only things like device ID, drive letter, volume name etc)
- New: Toolbar controls shrink if required
- New: Some new Keyboard shortcuts (Alt+D to open the drives list, Alt+O the Others list, Alt+S to focus the search edit, Alt+Left/Right to cycle thru the search hits
- New: options not to expand empty hubs or hub with only empty hubs attached
- New: options to jump to arrived and removed devices
- New: option to expand tree items to make selected arrived and removed devices visible
- New: Uses Windows visual theme with option to turn it off
|
Screenshots | USB 1.1 Here we have an old XP Computer with one single USB 1.1 host controller. As every USB host controller it has exactly one USB root-hub. The root-hub has two ports, at port 1 there is a USB mass storage device attached which is mounted at drive letter Z:. Even the USB drive is USB 2.0 it is running at Full-Speed only because it is attached to a USB 1.1 hub.
USB 2.0 Here we have Win7 Computer with an Intel P35 chipset which has 8 USB 2.0 High-Speed capable ports. The 8 physical ports are split here: 4 USB 1.1 controllers deal with USB low and Full-Speed devices while one USB 'Enhanced' controller deals with the High-Speed devices. I don't know why the 1.1 ports are split over 4 controllers with 2 ports each. Since all manufactures do this, there must be a good reason... The USB High-Speed controllers usually have the keyword 'Enhanced' in their device name. Since Vista the 'USB Hub Capabilities' can be checked for the 'HighSpeed' flag. At port 1 of the Enhanced controller there is a USB High-Speed hub attached and at his port 4 there is a USB mass storage device attached which is thanks to USBDLM mounted at drive letter Z: again. Here it is running at High-Speed. Newer Intel chipset have no more USB1 root hubs. Instead there are two integrated standard hubs which translate Low and Full-Speed into High-Speed. Intel calls them 'Integrated USB 2.0 Rate Matching Hub'.
USB 3.0 Here we have a Win8 Computer with a Texas Instrumens TUSB7340 USB SuperSpeed controller card. Windows 8 has native support for USB 3.0 SuperSpeed and an enhanced USB stack which delivers more information, e.g. which speed each port supports. Therefore UsbTreeView can show a 'H' in the icon of the high-speed ports and an 'S' for the SuperSpeed ports. Still missing is the information about the supported SuperSpeed (5, 10 or 20 GBits/s) The TUSB7340 has 4 physical ports. 4 logical ports are for low, full and high-speed devices and another 4 for SuperSpeed devices. Windows 8 also delivers information about which logical ports belong together. In the screenshot you see that the selected port 4 has the CompanionPortNumber 8, this means that port 4 and 8 share the same physical port.
USB 3.0 Hub USB3 hubs are in fact two completely independend hubs, one for SuperSpeed and the other one for High, Full and Low-Speed devices. The only thing in common is that both appear connected to ports which are mutual 'companion ports'. Here port 20 is the companion port of port 9 and vice versa:
A USB3 device first tries to establish a stable communication with the USB3 port. If that fails (for instance because of a too long or too bad cable) then it tries the USB2 HighSpeed connection which usually works then because its electrical requirements are much lower.
Intel Series 8 xHCI Controller Here we have a bunch of yellow exclamation marks on a Intel Series 8 xHCI controller on a Asus H81-Plus board. Its ports 11 to 15 have a connection status 3 'Device general failure' which leads to the yellow exclamation marks in the tree view. Intel's xHCI controllers are quite flexible and need a correct initialisation by the mainboard's BIOS. I don't know this is Intel's or the BIOS maker's fault. As long as all physical ports work as expected this is a cosmetic problem.
|
Identify simple BadUSB Devices | Simple BadUSB devices are USB composite devices, so they keep their usual functionality but have an additional 'bad' function as a keyboard or a network adaptor. By means of UsbTreeView you can check: The BadUSB device demonstrated by Adam Caudill and Brandon Wilson at github.com looks like this: Note that it is a Composite Device, that is has two child devices - the expected disk and the potentially bad keyboard. A regular USB drive look like this: USBDLM can ask on arrival of a new keyboard or network device if it shall be activated: https://www.uwe-sieber.de/usbdlm_help_e.html#badusb
|
Conditions and Download |
Download latest release: Win32: https://www.uwe-sieber.de/files/UsbTreeView_Win32.zip (~340KB) x64: https://www.uwe-sieber.de/files/UsbTreeView_x64.zip (~340KB) Download old V3.0.2 (last without RichEdit control): https://www.uwe-sieber.de/files/usbtreeview302.zip (~299KB) Download old V2.6.1 (last 2.x): https://www.uwe-sieber.de/files/usbtreeview261.zip (~273KB) Download old V2.0.2: https://www.uwe-sieber.de/files/usbtreeview202.zip (126KB) Download old V1.5: https://www.uwe-sieber.de/files/usbtreeview150.zip (96KB) Other old releases are available under the usbtreeviewNNN.zip names. UsbTreeView is Freeware. Allowed: - usage in any environment, including commercial - include in software products, including commercial - include on CD/DVD of computer magazines - distribution by means of packet managers Not allowed: - modify any of the files - offer for download by means of a 'downloader' software
I don't ask for donations but some users insist, so: PayPal
|
Similar Tools | Information about serial COM ports: COM Port Info Information about drives: USB Drive Info
|
Uwe Sieber Home: https://www.uwe-sieber.de/english.html |