我的笔记本电脑一直存在一个奇怪的问题。它是一款单核 CPU,最高速度为 1.6Ghz,我用它来做所有事情,包括通过串行和并行端口对旧的定制硬件进行编程。
我正在运行 slackware 13 (Linux)。
如果我打开 ACPI,并且我选择以较慢的 CPU 速度运行系统,那么风扇问题就会消失,但是当我尝试使用并行端口在打开 ACPI 的情况下对旧硬件进行编程时,编程至少有 50% 的时间会失败。
但是,如果我在 Linux 中完全禁用 ACPI,那么并行端口的编程就可以完全工作,但是我的系统会报告正在使用的最大 CPU 速度,并且运行某些应用程序(如 Firefox)会使我的风扇持续转动。
在我的 BIOS 中,我没有配置并行端口的选项。我的电脑是 Latitude D600。
我已经在 BIOS 中将端口设置为 AT/SPP 模式,这是外部硬件进行编程所需要的。
有没有办法在 Linux 中设置它,使风扇不会因为运行当今的应用程序而不断运转,同时并行端口可以工作?我不介意它是否涉及安装一个可以工作的附加驱动程序或在 Linux 配置文件中配置其他内容。
答案1
好的,所以这里发生的事情是,如果不启用 ACPI 支持,您的处理器将一直全速运行,并且永远不会进入任何空闲状态。这意味着它会不断产生热量,而系统固件所做的(让风扇以最大速度运行)是正确的行为(因为发出噪音比让您的 CPU 自己烧坏要好得多)。
至于并行端口不工作,ACPI 表可能将其映射到的内存区域标记为 Linux 中的并行端口驱动程序不会绑定到它。如果是这种情况,那么理论上可以通过覆盖 ACPI 表来实现。但是,这样做非常风险很大,因为你实际上是在操纵固件的某些部分,这些部分负责确保系统不会意外损坏,因此如果操作错误,系统可能会崩溃。不幸的是,我自己没有这方面的经验,所以我无法提供任何关于如何操作的建议。