home *** CD-ROM | disk | FTP | other *** search
/ PC go! 2014 August / PCgo_CD_2014-08.iso / interface / contents / windowstools_30542 / 75981 / files / usbtreeviewz.exe / UsbTreeView.txt
Encoding:
Text File  |  2014-05-25  |  7.8 KB  |  181 lines

  1.  
  2. UsbTreeView V2.3.7.0 - Shows the USB Device Tree
  3. Freeware by Uwe Sieber - www.uwe-sieber.de
  4.  
  5. Works under Windows 2000, XP, and higher
  6.  
  7. Usage:
  8. UsbTreeView [/R:filename]
  9.  
  10. /R:filename   write (silently) a report to filename
  11.  
  12.  
  13.  
  14. UsbTreeView is based upon the USBView sample from the Windows Driver Kit for Server 2003.
  15.  
  16. Improvements:
  17. - better icons in the treeview
  18. - refresh on device change performed asynchronously, selected item stays selected
  19. - shows additional information gathered from the Windows device management
  20. - shows drive letters/mountpoints and COM ports
  21. - can perform safe removal, device restart and port restart
  22. - custom font and color for the right pane
  23. - toolbar with jump-lists for easily finding devices in complex trees
  24.  
  25. History
  26. V1.1     - first published version
  27. V1.2     - works with Windows 2000 again
  28. V1.3     - shows some more information about USB 3.0 devices
  29. V1.3.1   - minor fixes
  30. V1.3.2   - workaround for TI root hubs
  31. V1.4.0   - device safe removal and restart, saves window position
  32. V1.4.1   - shows driver version and date, custom font and color for the right pane,
  33.            removed some redundant information
  34. V1.4.2   - keeps tree item selection over refresh
  35. V1.5.0   - More USB information
  36.          - Extended USB information available under Windows 8 
  37.          - Rearranged the text output
  38.          - Some minor improvements
  39. V2.0.0   - USB enumeration rewritten; faster and independent from the treeview
  40.          - Port restart
  41.          - Extended host controller information
  42.          - Some failed USB requests are re-tried in the background, e.g. for
  43.            mouses
  44.          - nearly flicker free refresh and resize
  45.          - lots of minor improvements
  46. V2.0.1   - Bugfix: Crash on complex descriptors
  47. V2.0.2   - Bugfix: Multiple volumes per disk not shown correctly
  48.          - Bugfix: String descriptors which are referenced more than once was
  49.            shown multiple times each
  50. V2.1.0   - Decoding of USB Video Class (UVC) 1.1 descriptors
  51.          - Toolbar with jump-lists for easily finding devices in complex trees
  52.          - Driveletters, COM-Ports or extended device names shown in the device tree
  53. V2.1.1   - Bugfix: Crash on root-hubs which are not a child device of the host controller
  54. V2.1.2   - Bugfix: Windows 'app key' (or Shift+F10) opened the context menu in the wrong position
  55. V2.1.3   - Bugfix: V2.1.2 always showed wrong error for the device's Address property
  56.            Bugfix: Workaround for font problem
  57. V2.1.4   - Bugfix: V2.1.3 switched back to the default font
  58. V2.1.5   - New: Can write a report
  59.            New: Improved device names in the treeview
  60. V2.1.6   - Bugfix: Crash on decoding USB3 standard hubs
  61.          - Bugfix: some format glitches on USB3 standard hubs
  62. V2.1.7   - Bugfix: Decoding of bmAttributes in USB 2.0 Extension Descriptor was wrong
  63. V2.1.8   - Bugfix: Decoding of SuperSpeed Endpoint Companion Descriptors was done only for MSC devices
  64. V2.1.8.1 - Bugfix: Crash when saving report to 'long' path
  65. V2.1.9   - Bugfix: Crash on USB-Hubs with more than 16 Ports
  66.          - New: Commandline parameter for writing a report, e.g. /R:U:\UsbTreeView-Report.txt
  67. V2.2.0   - New: Shows some more device properties
  68.          - New: Can show the Windows device properties dialog
  69. V2.2.1   - Bugfix: V2.2.0 worked under Windows 7 and 8 only
  70. V2.3.0   - Bugfix: Several bugs which could cause crashes
  71.          - New: Decoding of HID descriptors
  72. V2.3.1   - Bugfix: Font color setting was ignored
  73. V2.3.2   - Bugfix: Device Descriptor was called Device Qualifier Descriptor and a Device Qualifier Descriptor was not decoded
  74. V2.3.3   - Bugfix: Crash when configuration descritor fails to be read
  75. V2.3.4   - Bugfix: Crash with some USB over network products
  76. V2.3.5   - New: Can save report for selected device only
  77. V2.3.6   - Bugfix: Configuration Descriptor's bmAttributes Bit7 decoded wrong
  78.          - Bugfix: If a device's Address value is not found then it was shown as '0', now as '-'
  79.          - New: All string descriptors shown in a separate section
  80.          - New: Hexdumps with ASCII
  81. V2.3.7   - Bugfix: Damaged display when window is resized from top or left
  82.          - New: Safely removed devices get a green "SR" icon instead of the yellow error icon
  83.  
  84.  
  85. ToDo:
  86. - USB Video Class H.264 decoding
  87. - Maybe Unicode support if someone shows me that it is required
  88.  
  89.  
  90.  
  91. About Unknown Descriptors
  92.  
  93. There are two reasons why decriptors cannot be decoded and therefore
  94. shown as "Unknown":
  95. - decoding is not implemented
  96. - the device's InterfaceClass is 0xFF (vendor specific), so class specific
  97.   descriptors cannot be decoded since their class is unknown
  98.  
  99. So, if you have an unknown descriptor and the interface class is not 0xFF
  100. then please let me know, maybe I find the right specification document
  101. and can add the decoding for it.
  102.  
  103. For an unknown reason HID descriptors often cannot be read, Windows
  104. returns ERROR_GEN_FAILURE or ERROR_INVALID_PARAMETER. As far as I have
  105. seen it depends alone on the device but another user reported that
  106. some device's hid descriptor can be read under NT6 but not under NT5.
  107.  
  108.  
  109.  
  110. About "Safe Removal" and "Restart"
  111.  
  112. On Safe Removal UsbTreeView first calls the configuration management call
  113. CM_Query_And_Remove_SubTree. On success the device has the problem code
  114. 21 which is CM_PROB_WILL_BE_REMOVED. A code 21 device can be reactivated
  115. by performing a DIF_PROPERTYCHANGE class installer call. This is what
  116. UsbTreeView does if you select "Restart device".
  117. But CM_Query_And_Remove_SubTree needs admin previleges, otherwise it fails
  118. with CR_ACCESS_DENIED. In this case CM_Request_Device_Eject is called
  119. which works without admin previleges but leads to problem code 47 which
  120. is CM_PROB_HELD_FOR_EJECT. Such a device cannot be reactivated alone.
  121. A reactivation is possible by restarting the port or the whole hub it is
  122. attached to. But the latter of course restarts all devices attached to
  123. the hub.
  124.  
  125. In all cases UsbTreeView just performs the system call and shows a
  126. message-box if Windows returns an error. But Windows does not always
  127. return an error, even there was one, so sometimes nothing happens at all.
  128.  
  129.  
  130.  
  131. About "Restart Port"
  132.  
  133. This calls IOCTL_USB_HUB_CYCLE_PORT which simulates a disconnect and
  134. reconnect of the attached device.
  135. It is available under XP but usually only for hubs which run with the
  136. Microsoft default driver. 3rd party drivers usually return
  137. ERROR_UNKNOWN_FUNCTION.
  138. Under Vista and Windows 7 it is no more supported, it always fails
  139. with ERROR_NOT_SUPPORTED.
  140. With Windows 8 it works again but in contrast to XP admin previleges
  141. are required. Without admin previleges it fails as under Vista and Win7
  142. with ERROR_NOT_SUPPORTED.
  143.  
  144.  
  145. About the Debug-Port
  146.  
  147. In Microsoft's USBView sample there is a list of USB host controllers
  148. and their debug port. I've put the table into UsbTreeView, it shows
  149. then in the properties of the host controller a line like so:
  150. DebugPort (from List): 1
  151. Windows 8 has extended USB information, it reports for each port if it
  152. is debug capable and this works indeed (seen on a i945G Chipset with ICH7).
  153.  
  154.  
  155.  
  156. USB Mouses
  157.  
  158. If an USB mouse is moved while the tool requests its USB properties there
  159. is usually an error because the mouse just has more important things to
  160. do. UsbTreeView tries then for some seconds to get this information.
  161. You might see the yellow question mark at the mouse's tree node for a
  162. moment which disappears as soon as you stop moving the mouse.
  163. This retry mechanism is done for all type of devices but usually its a
  164. mouse where it helps.
  165.  
  166.  
  167. Information shown in the tree-view
  168.  
  169. UsbTreeView is optimized for speed, therefore USB descriptors are not
  170. gathered before a device is selected in the tree-view. So, information
  171. which come from USB descriptors cannot be shown in the tree-view, it
  172. all comes from the Windows device manager.
  173.  
  174.  
  175.  
  176.  
  177. Uwe Sieber, mail@uwe-sieber.de
  178. 2014-05-25
  179.  
  180.  
  181.