xHCI USB host controller & Debug Capability & Windows debug module

大部分市面上的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)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章