Ubuntu引导过程中'i8042.nomux = 1'内核选项有什么作用?


23

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

然后我在某处读到了i8042.nomux内核选项。所以我用以下选项启动了Ubuntu:

i8042.nomux=1 i8042.reset

这使我的触摸板适用于Ubuntu及其衍生产品(如Linux Mint)的所有变体。

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

Answers:


29

这是一个不可思议的选择,仅在某些稀有设备(您拥有其中一个)上才需要。唯一的文档是内核参数列表中的一行。

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

根据我对选项名称和源代码的简要了解(不要依靠它来编写i8042驱动程序!),我了解到,某些i8042芯片能够多路传输来自多个指针设备的数据。传统的PS / 2接口仅提供一个键盘和一个鼠标。现代笔记本电脑通常具有两个或更多个触摸板,一个触控板和一个外部PS / 2插头。某些控制器遵循有效的PS / 2多路复用规范,该规范允许最多4个设备。每个设备发送的数据都表明它来自哪个设备。

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


1
由于这是一个内核命令,因此在引导过程中可以在每个Linux发行版中使用此命令吗?
Suyash Mohan 2012年

2
@ZealKaiser是的,此参数是标准内核的一部分,它将存在于每个发行版中。
吉尔斯(Gillles)“所以-别再邪恶了”,2012年

有什么方法可以查看正在运行的内核是否启用或禁用多路复用?
安德烈·佩尔(AndréPuel)2012年

2
@AndréPuel检查是否/proc/cmdline包含i8042.nomux=1(如果驱动程序在内核中)或的值/sys/module/i8042/parameters/nomux(如果驱动程序在模块中)。如果找到的非零值nomux,则关闭多路复用功能,否则打开。
吉尔(Gilles)'所以
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.