mathjax

2017年10月15日日曜日

Linux, xhciでのnon-SuperSpeed deviceのenumerationの手順

usb: xhci: change enumeration scheme to 'new scheme' by default

  • Reset
  • [xhci address-device BSR = 1]
  • GetDescriptor(64)
  • Reset
  • SetAddress [xhci address-device BSR = 0]
  • GetDescriptor(18)


SuperSpeedではないデバイスがXHCIのコントローラに接続された際の手順に関しての記載が、上記パッチにある。

USB Complete Fifth EditionFrom Chapter 4Enumeration: How the Host Learns about Devices
USB Completeという本ではWindowsのドライバの動作が記載されている。様々なUSB機器が、Windowsで動作することはチェックされていても、Linuxで動作することはチェックされていないので、LinuxのドライバがWindowsのお作法を真似して、これらの機器を動くようにしているようだ。


https://www.kernel.org/doc/Documentation/usb/usbmon.txt
January 11, 2016 USB tracing in Linux
October 23, 2015 USB bus sniffers for Linux system
usbmonの使い方が説明してある。

0 件のコメント:

コメントを投稿