折腾家用服务器有一段时间了,期间碰到了各种硬件不兼容、直通失败、驱动不工作等等各类问题。本文总结一下那些曾经翻车的硬件(还有可以正常使用的硬件),仅作为记录。
SATA 控制器
Marvell 88SE92xx - FAIL
Marvell 88SE92xx 是一个系列,包括 88SE9210、88SE9215、88SE9230、88SE9235。其中,0 结尾的型号带有 RAID 功能,5 结尾的型号只是普通的 SATA 控制器。
我手上的 88SE9215 在 PCIe 直通之后,UEFI 引导具体故障如下:
- Linux 内核驱动报错,softreset failed
- Windows 10 无法启动
据说需要 BIOS 引导模式才可以用,因为需要重装系统,我没有尝试。
ASMedia ASM1061 - MOSTLY FAIL
ASM1061 会严重拖慢虚拟机启动。进入系统之后仍需要较长时间才能检测到所有硬盘。
我在测试过程中,有一块 WD Green 1.5TB 硬盘一直报错softreset failed (1st FIS failed)
,情况与 88SE9215 一样。猜测是 SATA II (3Gbps) 模式兼容性问题,未进一步证实。
不推荐使用。
JMicron JMB585 - PASS
SATA III (6Gbps) 和 SATA II (3Gbps) 的硬盘均能识别和正常使用。
USB 控制器
VIA VL805/VL806 - FAIL
VIA 这个芯片很奇怪,PCIe 直通之后驱动程序是可以正常工作的,连在上面的 USB 设备也能正常识别,但是 USB 设备却无法使用,错误代码 110(供电不足)。
网上的说法是要在 grub 设置里加上 iommu=soft
,或者干脆关掉 IOMMU。但是虚拟环境需要 IOMMU,所以这个芯片无法在虚拟环境下正常工作。
Renesas/NEC uPD720201 - PASS
经测试,此芯片可通过 PCIe 直通正常工作。