28. USB 传统支持

作者:

Vojtech Pavlik <vojtech@suse.cz>, 2004年1月

在 BIOS 设置中也被称为“USB 键盘”或“USB 鼠标支持”,这是一项允许用户像使用传统的 PS/2 设备一样使用 USB 鼠标和键盘的功能。这意味着用户例如可以在 LILO 中使用 USB 键盘进行输入。

不过,它也有几个缺点

  1. 在某些机器上,即使没有 USB 鼠标,但连接了真实的 PS/2 鼠标时,模拟的 PS/2 鼠标也会接管系统。在这种情况下,真实 PS/2 鼠标的额外功能(滚轮、额外按键、触摸板模式)可能无法使用。

  2. 如果启用了 AMD64 64 位模式,系统也经常会崩溃,因为 SMM BIOS 并不预期 CPU 会处于 64 位模式。BIOS 制造商只在 Windows 下进行测试,而 Windows 当时尚未支持 64 位。

解决方案

问题 1)

可以通过在加载 PS/2 鼠标驱动程序之前加载 USB 驱动程序来解决。由于 PS/2 鼠标驱动程序在 2.6 版本中被无条件编译进内核,这意味着 USB 驱动程序也需要编译进内核。

问题 2)

通常可以通过 BIOS 更新来修复。请查看主板制造商的网站。如果没有可用的更新,请在 BIOS 中禁用 USB 传统支持。如果仅此操作无效,尝试在内核命令行中添加 idle=poll。BIOS 可能也会在执行 HLT 指令时进入 SMM。