本帖最后由 canonkong 于 2020-6-23 21:42 編輯 近在國(guó)外Mov AX, 0xDEAD和daniel_k老哥和國(guó)內(nèi)dsanke老哥的指導(dǎo)下,總算搞定了移植WIN8/SERVER2012系統(tǒng)自帶的USB驅(qū)動(dòng)到WIN7系統(tǒng)上。
Win8/server2012的內(nèi)核都是6.2.9200,區(qū)別就是server2012技術(shù)支持到2023年10月,所以系統(tǒng)自帶的的USB驅(qū)動(dòng)都會(huì)跟隨更新,修復(fù)問題等。
要移植6.2.9200的XHCI驅(qū)動(dòng)程序并不難,因?yàn)樵谖④洶l(fā)布win8之前,從win7轉(zhuǎn)移到win8的過程中,微軟其實(shí)是給Win7編寫了兼容的通用XHCI驅(qū)動(dòng)程序,只是該驅(qū)動(dòng)程序帶有一個(gè)人工障礙的地方,以防止在Win7上使用。所以只要把這些障礙掃除就可以了。除了這個(gè)移植的WIN8通用USB驅(qū)動(dòng)之外,還有AMD的1.0.0.12的USB驅(qū)動(dòng)也是可以改通用USB驅(qū)動(dòng),只要在INF上加ID就可以了,缺點(diǎn)就是沒UASP功能。第三方的USB設(shè)備,例如VIA、Etron都有提供win7的UASP支持的驅(qū)動(dòng),其他廠家WIN7下都沒有這個(gè)功能。
而我這個(gè)是直接移植了win8的通用USB驅(qū)動(dòng)和win10自帶的通用USB驅(qū)動(dòng)一樣支持USB3.0/3.1/3.2/雷電/Type-C,而且速度根據(jù)自身接口而定,不受驅(qū)動(dòng)影響。所以不論什么主板,或者第三方USB擴(kuò)展卡,USB都是可以驅(qū)動(dòng)起來。而且UASP都生效,不需要對(duì)主板做任何更改,和普通驅(qū)動(dòng)一樣安裝使用。
修改方法就是用IDA把所有的Spinlock全部做掉后校驗(yàn)重新簽名就好了。(修改的方法不唯一,可以通過更改驅(qū)動(dòng)入口達(dá)到同樣目的。)當(dāng)然既然移植了WIN8/SERVER2012的通用USB驅(qū)動(dòng),肯定少不了把UASP功能也移植過來,發(fā)現(xiàn)提升還是不少的。其實(shí)WIN7搭配官方驅(qū)動(dòng)的話,雖然無(wú)UASP,其實(shí)速度沒太大差別的,這里單純針對(duì)無(wú)官方USB驅(qū)動(dòng)的設(shè)備而搞的。這個(gè)修改的驅(qū)動(dòng)的優(yōu)勢(shì)就是帶UASP萬(wàn)能USB驅(qū)動(dòng),不怕以后新平臺(tái)沒USB驅(qū)動(dòng)可用。
插在主板USB 3.0 5Gbps的USB轉(zhuǎn)NVMe,無(wú)開啟UASP。插在主板USB 3.0 5Gbps的USB轉(zhuǎn)NVMe,開啟UASP。插在主板USB 3.1 10Gbps的USB轉(zhuǎn)NVMe,無(wú)開啟UASP。插在主板USB 3.1 10Gbps的USB轉(zhuǎn)NVMe,開啟UASP。------------------------------------------------------------------
最近弄了幾塊USB擴(kuò)展卡,正好可以測(cè)試一下。
Fresco Logic USB3.0 擴(kuò)展卡
Texas Instruments USB3.0 擴(kuò)展卡
Etron USB3.0 擴(kuò)展卡
NEC USB3.0 GEN2 擴(kuò)展卡
VIA USB3.0 擴(kuò)展卡
ASMedia USB3.1 10Gbps 擴(kuò)展卡
ASMedia USB3.2 GEN2X2 20Gbps 擴(kuò)展卡
ASMedia USB3.2 GEN2X2 20Gbps 擴(kuò)展卡測(cè)試10Gbps的USB轉(zhuǎn)NVMe
20Gbps的設(shè)備
多張不同牌子的USB擴(kuò)展卡一起測(cè)試。
效果杠杠的
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。