Ubuntu 启动期间“i8042.nomux=1”内核选项有何作用?

Ubuntu 启动期间“i8042.nomux=1”内核选项有何作用?

我有一台带有多用途触摸板的笔记本电脑。我的触摸板在任何 Linux 发行版中都无法使用,例如 Ubuntu、Fedora、openSUSE、Linux Mint、Knoppix、Puppy、Slitaz 等等。我尝试了很多事情但没有任何效果。我已经与 Synaptics 驱动程序斗争了一年多,但它也不起作用。

然后我在某个地方读到了有关i8042.nomux内核选项的信息。所以我使用以下选项启动 Ubuntu:

i8042.nomux=1 i8042.reset

这使得我的触摸板可以在 Ubuntu 及其衍生产品(例如 Linux Mint)的所有变体上工作。

我很想知道这些选择。如果我知道它的确切作用,我将能够在所有 Linux 发行版中使用我的触摸板,因为此选项仅适用于 Ubuntu。

答案1

这是一个神秘的选项,仅在某些罕见的设备(您拥有其中之一)上才需要。唯一的文档是其中的一行内核参数列表

i8042控制器控制PS/2PC 中的键盘和鼠标。看来在您的笔记本电脑上,键盘和触摸板都是通过该芯片连接的。

据我从选项名称和简要浏览中了解到源代码(不要依赖于此来编写 i8042 驱动程序!),某些 i8042 芯片能够多路复用来自多个指点设备的数据。传统PS/2接口仅提供1个键盘和1个鼠标;现代笔记本电脑通常有两个或多个触摸板、指点杆和外部 PS/2 插头。一些控制器遵循主动 PS/2 复用规范,最多允许 4 个设备;每个设备发送的数据都带有其来自哪个设备的指示。

Linux 驱动程序尝试查明 i8042 控制器是否支持多路复用,但有时会猜测错误。使用该i8042.nomux=1参数,驱动程序不会尝试检测控制器是否支持多路复用,并假定它不支持。使用该i8042.reset参数,驱动程序在启动时重置控制器,如果控制器确实支持多路复用模式,但以错误的方式,这可能有助于禁用多路复用模式。

相关内容