找回密码
立即注册
搜索
发回帖 发新帖

6602

积分

0

好友

835

主题
发表于 前天 09:05 | 查看: 16| 回复: 0

如果你手头还有一台装着 Windows 98 SE 的老机器,现在它也能认得出 USB 3.x、USB4 和雷电 3 设备了。

完成这件事的,是复古硬件圈里小有名气的 Yeo Kheng Meng(杨庆明),他同时也是创客、程序员和私照飞行员。杨庆明此前就为 Windows 98 SE / ME / 2000 / XP / Vista / 7 开发过 xHCI98 驱动,让那些只有 xHCI 控制器的旧电脑也能用上 USB。不过旧版驱动只覆盖 USB 2.0,即便插上 USB 3.x 设备,最高速度也只有 34MB/s 左右。于是他开始研究,怎么让这些老系统进一步跑起 USB 3.x / USB4 和雷电 3。

Windows 98 SE 测试环境:联想 ThinkPad 外接 USB 集线器与移动硬盘

补充一点背景:Windows 98 SE 是微软在 1999 年 5 月推出的升级版,内核与界面维持不变,最重要的变化是完整支持 USB 音频(声卡/耳机类)和 WDM Modem,不过依然不能原生支持 U 盘。它还加入了 ICS 共享上网、IEEE1394 DV 驱动、5.1 声道音频输出,并升级到 IE 5.0、DirectX 6.1、Windows Media Player 6.2、NetMeeting 3.0 等。这个版本还修复了著名的 49.7 天定时蓝屏漏洞,整体稳定性大幅提升,因此一直是复古玩家的首选。

雷电和 USB 协议最初是两条互相较劲的技术路线,哪怕同样采用 USB-C 接口,底层也互不兼容。转折出现在 2019 年 3 月:Intel 把完整的雷电 3 规范捐赠给 USB-IF 组织。此后发布的 USB4 v1.0 在物理层、链路层和隧道协议栈上完全复用了雷电 3,USB4 v2.0 则基本是雷电 4 的翻版。所以这次改造最高只到 USB4 和雷电 3,无法覆盖 USB4 v2.0 与雷电 4。

Windows 98 SE 命令行执行 xHCI98 采集脚本 dump

为什么非要给古老的 Windows 98 SE 开发 USB / 雷电驱动?杨庆明解释,不少复古硬件爱好者手上是十几年前的电脑,这些机器只有 xHCI控制器(对应USB 3.x/USB4),没有老式的 EHCI 控制器(对应 USB 2.0)。老系统偏偏又没有 xHCI 驱动,所以他开发 xHCI98 就是为了补齐这块短板,主要面向 Windows 98 SE 和 Windows 2000 SP4。

他说:“如果没有 xHCI 驱动,键盘、鼠标、U 盘都得靠 BIOS 的传统兼容模式,没法热插拔;USB 网卡、USB 声卡这类设备则完全不能工作。这个项目就是用来填补这一缺口的。”

他的开发测试笔记本包括:联想 ThinkPad P14s Gen1,Comet Lake 十代酷睿平台;联想扬天 B490,Ivy Bridge 三代酷睿平台,这两台都安装 Windows 98 SE。戴尔 Latitude E7250 则是 Broadwell 五代酷睿平台,安装 Windows XP x64 和 Windows 7 x64。其他系统则在虚拟机中运行和测试。

开发过程中,他大量借助了 AI:项目规划用 Claude Fable 5.1,写代码靠 Claude Opus 5.5,代码审查依赖 Codex GPT 6 Astra。

xHCI98 2.x 在 Windows 98 SE 到 7 USB 栈中的位置架构图

xHCI98 v3 下 Thunderbolt 3 与 USB4 系统架构图

事实上,新版 xHCI98 驱动支持的设备远不止 U 盘和 USB 硬盘。这个驱动会替换系统自带的 USB 端口与集线器驱动,全面支持 USB 1.1、USB 2.0、USB 3.x 设备。搭配第二个驱动 xhciuas.sys,还可以支持 UAS(USB Attached SCSI)存储;第三个驱动 xhcicm.sys 则用于支持 雷电3、USB4扩展坞,以及 NVMe SSD 硬盘盒。

在 Windows 98 SE 设备管理器的 xHCI98 USB 树视图里,一个模拟的祥硕硬盘盒已经跑在 USB4 链路上,PCIe 隧道也成功拉起。

Windows 98 SE 下 xHCI98 USB Tree 展示 USB4 Host Router 与 NVMe 设备树

实际效果如何?在 Windows 98 SE 上用 ATTO Disk Benchmark 测试,USB 3.0 模式下读写速度都超过了 200MB/s。可以看到从 64KB 区块开始曲线就非常平稳,这是因为 Windows 原生 USB 驱动的读写请求上限就是 64KB。

Windows 98 SE 下 ATTO Disk Benchmark USB 3.0 读写速度测试

使用奥睿科 AAGM2-U4 USB4 移动硬盘,再配合 CalDigit TS3 Plus 雷电 3 扩展坞,CrystalDiskMark 的顺序读取约 210MB/s,顺序写入约 255MB/s。这个速度仍然偏慢,因为 Windows 98 自身存储栈的瓶颈太严重。

Windows 98 SE 下 CrystalDiskMark 显示 USB4/雷电3 顺序读写约 210/255MB/s

把系统换成 Windows 7,速度立刻上来了:顺序读取达到 1150MB/s,顺序写入也超过 1000MB/s,但距离跑满带宽依然很远。所以,老平台老系统再怎么折腾,更多只是“能用”。

Windows 7 下 USBView 与 CrystalDiskMark 显示顺序读写超过 1000MB/s

这次改造的本质,并不是要在 Windows 98 SE 这些老系统上把 USB4 / 雷电 3 跑满,因为性能天花板早就被老系统自己锁死了。它的意义在于打通了 xHCI + PCIe 隧道,让只有 xHCI、没有 EHCI 的现代主板也能正常启动 Windows 98 SE,并让高速存储设备正常工作、支持热插拔。




上一篇:Zen6六核24GB内存曝光!Steam Deck 2掌机真要起飞
下一篇:RTX 6060发布或推迟至2029年:NVIDIA 60系列时间线全景解读
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-25 09:15 , Processed in 0.060776 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表