xHCI USB host controller & Debug Capability & Windows debug module
2017-03-18 21:26
615 查看
大部分市面上的xHCI USB host controller都必须支持Debug Capability. (也有部分不支持的,不知道,他们有没有取得USB-IF的CERTIFICATION)
Win8/8.1/10支持USB3.0/3.1的双机调试,运用的就是xHCI USB host controller的这个Debug Capability.
调试的时候,一边是USB3.0/3.1的调试机,另一边则USB3.0/3.1的被调试机,被调试机的USB3.0/3.1 host 运行在USB Debug Device模式下。
调试机这边,有一个USB DEBUG DEVICE DRIVER
被调试机这边,需要将WINDOWS的内核调试模块打开
微软的各类USB驱动都非常ROBUST,例如O/UHCI/EHCI/XHCI, HUB 2.0, HUB 3.0, MASS STORAGE, VIDEO, AUDIO, PRINTER, USB HID, 等。
但这个USB的内核调试模块,总感觉不是特别对劲。
大家可以做这样一个实验,
1. 硬件上找一块带有XHCI USB DEBUG CAPABILITY的XHCI HOST
将它插到主机上,一般是PCIE X 2
2.软件上,
在内核调试模块没有打开前,在DEVICE MANAGER中,将这个XHCI HOST, DISABLE
将系统的内核调试模块打开,并设置为USB, 以及对应的BUS.DEVICE.FUNCTION
重启
回到DEVICE MANAGER, 发现这个XHCI HOST是处于DISABLED状态的
ENABLE该XHCI HOST, 你会发现,系统像死机一样,STUCK几秒钟
3.问题在哪?
问题在于,这个USB内核调试模块,不停地CHECK USB DEBUG CAPABILITY的两个寄存器(DBC PORTSC与DBC CTRL)
Win8/8.1/10支持USB3.0/3.1的双机调试,运用的就是xHCI USB host controller的这个Debug Capability.
调试的时候,一边是USB3.0/3.1的调试机,另一边则USB3.0/3.1的被调试机,被调试机的USB3.0/3.1 host 运行在USB Debug Device模式下。
调试机这边,有一个USB DEBUG DEVICE DRIVER
被调试机这边,需要将WINDOWS的内核调试模块打开
微软的各类USB驱动都非常ROBUST,例如O/UHCI/EHCI/XHCI, HUB 2.0, HUB 3.0, MASS STORAGE, VIDEO, AUDIO, PRINTER, USB HID, 等。
但这个USB的内核调试模块,总感觉不是特别对劲。
大家可以做这样一个实验,
1. 硬件上找一块带有XHCI USB DEBUG CAPABILITY的XHCI HOST
将它插到主机上,一般是PCIE X 2
2.软件上,
在内核调试模块没有打开前,在DEVICE MANAGER中,将这个XHCI HOST, DISABLE
将系统的内核调试模块打开,并设置为USB, 以及对应的BUS.DEVICE.FUNCTION
重启
回到DEVICE MANAGER, 发现这个XHCI HOST是处于DISABLED状态的
ENABLE该XHCI HOST, 你会发现,系统像死机一样,STUCK几秒钟
3.问题在哪?
问题在于,这个USB内核调试模块,不停地CHECK USB DEBUG CAPABILITY的两个寄存器(DBC PORTSC与DBC CTRL)
相关文章推荐
- usb host controller & usb core & usb device driver之间的关系
- 第三十八篇:USB3.0/3.1 xHCI host controller第二次开发(第一次彻底开发),基本完成,写博纪念
- fix "no module named readline" on windows
- 关于kernel2.6中USB host controller driver 的问题
- Cannot find module '../build/Debug/iconv.node
- [Xarmrin.IOS]使用Build Host 在Windows上建置IOS程式及DeBug
- Windows node.js npm install express -g Cannot find module 'express'
- How To: Install VMware server in a Suse/openSUSE 10.0, 10.1, 10.2, 10.3 Host [& USB support]
- USB device & USB controller & USB passthrough
- error: undefined reference to 'vtable for android::DongleUsbHost'
- Windows node.js npm install express -g Cannot find module 'express'
- Using a USB host controller security extension for controlling changes in and auditing USB topology
- insmod: module 'usb_driver' not found
- Linux USB subsystem --- EHCI host controller register
- Linux USB subsystem --- EHCI host controller register
- [Xarmrin.IOS]使用Build Host 在Windows上建置IOS程式及DeBug (转帖)
- Intel (R) 82801G (ICH7 Family) USB Universal Host Controller前面有感叹号
- USB host&&device(slave)的区别
- Standard Enhanced PCI to USB Host Controller注册表信息修复
- Standard Enhanced PCI to USB Host Controller 感叹号