分享

移植win8通用USB驱动到win7上并开启UASP功能!

 看见就非常 2020-10-09
 本帖最后由 canonkong 于 2020-6-23 21:42 编辑

近在国外Mov AX, 0xDEAD和daniel_k老哥和国内dsanke老哥的指导下,总算搞定了移植WIN8/SERVER2012系统自带的USB驱动到WIN7系统上。
Win8/server2012的内核都是6.2.9200,区别就是server2012技术支持到2023年10月,所以系统自带的的USB驱动都会跟随更新,修复问题等。
要移植6.2.9200的XHCI驱动程序并不难,因为在微软发布win8之前,从win7转移到win8的过程中,微软其实是给Win7编写了兼容的通用XHCI驱动程序,只是该驱动程序带有一个人工障碍的地方,以防止在Win7上使用。所以只要把这些障碍扫除就可以了。
除了这个移植的WIN8通用USB驱动之外,还有AMD的1.0.0.12的USB驱动也是可以改通用USB驱动,只要在INF上加ID就可以了,缺点就是没UASP功能

第三方的USB设备,例如VIA、Etron都有提供win7的UASP支持的驱动,其他厂家WIN7下都没有这个功能。
而我这个是直接移植了win8的通用USB驱动和win10自带的通用USB驱动一样
支持USB3.0/3.1/3.2/雷电/Type-C,而且速度根据自身接口而定,不受驱动影响。
所以不论什么主板,或者第三方USB扩展卡,USB都是可以驱动起来。
而且UASP都生效,不需要对主板做任何更改,和普通驱动一样安装使用。


修改方法就是用IDA把所有的Spinlock全部做掉后校验重新签名就好了。(修改的方法不唯一,可以通过更改驱动入口达到同样目的。)



当然既然移植了WIN8/SERVER2012的通用USB驱动,肯定少不了把UASP功能也移植过来,发现提升还是不少的。其实WIN7搭配官方驱动的话,虽然无UASP,其实速度没太大差别的,这里单纯针对无官方USB驱动的设备而搞的。这个修改的驱动的优势就是带UASP万能USB驱动,不怕以后新平台没USB驱动可用。


插在主板USB 3.0 5Gbps的USB转NVMe,无开启UASP。



插在主板USB 3.0 5Gbps的USB转NVMe,开启UASP。



插在主板USB 3.1 10Gbps的USB转NVMe,无开启UASP。



插在主板USB 3.1 10Gbps的USB转NVMe,开启UASP。

------------------------------------------------------------------
最近弄了几块USB扩展卡,正好可以测试一下。

Fresco Logic USB3.0 扩展卡


Texas Instruments USB3.0 扩展卡


Etron USB3.0 扩展卡


NEC USB3.0 GEN2 扩展卡


VIA USB3.0 扩展卡


ASMedia USB3.1 10Gbps 扩展卡


ASMedia USB3.2 GEN2X2 20Gbps 扩展卡


ASMedia USB3.2 GEN2X2 20Gbps 扩展卡测试10Gbps的USB转NVMe


20Gbps的设备


多张不同牌子的USB扩展卡一起测试。



效果杠杠的







    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多