问题描述
我有一台带有多访客触摸板的笔记本电脑。我的触摸板无法在任何Linux发行版中使用,例如Ubuntu,Fedora,openSUSE,Linux Mint,Knoppix,Puppy,Slitaz等。我尝试了很多东西,但没有任何效果。我一直在努力使用Synaptics驱动程序一年以上,但它也不起作用。
然后在某处我读到了有关i8042.nomux
内核选项的信息。所以我用以下选项启动了Ubuntu:
i8042.nomux=1 i8042.reset
这使我的触摸板可以在Ubuntu的所有变体及其衍生版本(如Linux Mint)上使用。
我很想知道这些选项。如果我知道它的确切功能,那么我将能够在所有Linux发行版中使用触摸板,因为该选项仅适用于Ubuntu。
最佳回答
这是一个不可思议的选择,仅在某些稀有设备(您拥有其中一个)上才需要。唯一的文档是kernel parameters list中的一行。
i8042控制器控制PC中的PS/2键盘和鼠标。看来在笔记本电脑上,键盘和触摸板都通过该芯片连接的。
根据我对选项名称和source code的简要了解(不要依赖它来编写i8042驱动程序!),我了解到,某些i8042芯片能够处理来自多个指针设备的multiplexing数据。传统的PS /2接口仅提供一个键盘和一个鼠标。现代笔记本电脑通常具有两个或更多个触摸板,一个触控板和一个外部PS /2插头。某些控制器遵循active PS/2 multiplexing specification,最多允许4个设备。每个设备发送的数据都表明它来自哪个设备。
Linux驱动程序试图找出i8042控制器是否支持多路复用,但有时会猜错。使用i8042.nomux=1
参数,驱动程序不会尝试检测控制器是否支持多路复用,并假定它不支持多路复用。使用i8042.reset
参数,驱动程序在启动时会重置控制器,如果控制器确实支持多路复用模式,但是以越野车的方式禁用它可能很有用。