27. USB 传统支持

作者:

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

在 BIOS 设置中也称为“USB 键盘”或“USB 鼠标支持”,它是一项允许您像使用经典的 PS/2 对应物一样使用 USB 鼠标和键盘的功能。这意味着您可以使用 USB 键盘在 LILO 中输入内容。

但是,它有几个缺点

  1. 在某些机器上,即使没有 USB 鼠标,并且存在真正的 PS/2 鼠标,模拟的 PS/2 鼠标也会接管。在这种情况下,真正的 PS/2 鼠标的额外功能(滚轮、额外按钮、触摸板模式)可能不可用。

  2. 如果启用了 CONFIG_HIGHMEM64G,则 PS/2 鼠标仿真可能会导致系统崩溃,因为 SMM BIOS 不希望处于 PAE 模式。Intel E7505 是一款典型的发生这种情况的机器。

  3. 如果启用了 AMD64 64 位模式,则经常会发生系统崩溃,因为 SMM BIOS 不希望 CPU 处于 64 位模式。BIOS 制造商只使用 Windows 进行测试,而 Windows 尚未进行 64 位测试。

解决方案

问题 1)

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

问题 2)

目前只能通过禁用内核配置中的 HIGHMEM64G 或 BIOS 中的 USB 传统支持来解决。BIOS 更新可能会有所帮助,但到目前为止还没有这样的更新。

问题 3)

通常通过 BIOS 更新来修复。检查主板制造商的网站。如果更新不可用,请禁用 BIOS 中的 USB 传统支持。如果仅此一项不起作用,请尝试在内核命令行中添加 idle=poll。BIOS 也可能在 HLT 指令上进入 SMM。