我正在处理一些非常旧的销售点机器,它们运行 SuSE 9 的销售点风格。事实证明,其内核受到一个旧错误的影响,该错误使 USB 2.0 功能不稳定(设备热插拔可能导致 /var/log/messages 中出现“control timeout on ep0out”消息,并且热插拔设备变得不可用)。我首先尝试通过卸载 ehci-hcd 模块来解决这个问题,以便 USB 2.0 设备回退到 USB 1.1。但现在我发现连接到POS机的HP激光打印机在USB 1.1模式下打印速度非常慢。
在 Google 上进行的更多搜索表明,替代解决方案是将 noapic 选项放在 /boot/grub/menu.lst 中。
但是,如果禁用 APIC,除了性能下降之外,还会发生哪些不好的事情呢?我听说 ACPI 与 APIC 密切相关,但我并不担心 ACPI,因为无论如何我们都在 GRUB 中明确将其关闭。理论上,当 APIC 被禁用时,某些设备是否会根本无法工作?
更多信息:
- 单 CPU、单核系统(某些 Celeron 2.5 GHz)
- 内核2.6.5-某事某事
答案1
好吧,首先,我想知道您是否可以替换为较新的内核?或者,如果您可以找到修复该错误的补丁,则可以将它们应用到 2.6.5 内核。
除此之外,APIC 用于中断路由。如果关闭它,内核应该回退到旧的 PIC 方法。结果应该是更多的设备共享中断(因为您的设备会少得多),并且速度会略有下降。也许并不重要。
会破坏的是,也许你会完全失去中断(在这种情况下,它肯定不会启动),或者你会从某些设备中失去它们(这可能非常明显,该设备可能会启动)甚至初始化)。您将失去系统上的一种计时方法,这可能是最微妙的事情 - 系统时钟可能会漂移,或者漂移与以前不同。
如果 noapic 不起作用,您还可以尝试 noapic 或添加 PCI USB 2.0 控制器(假设硬件允许)。