O que a opção do kernel 'i8042.nomux = 1' faz durante a inicialização do Ubuntu?

20

Eu tenho um laptop com um touchpad de várias pessoas. Meu touchpad nunca funciona em nenhuma distribuição Linux como Ubuntu, Fedora, openSUSE, Linux Mint, Knoppix, Puppy, Slitaz e muito mais. Eu tentei muitas coisas, mas nada funcionou. Eu tenho lutado com os drivers Synaptics por mais de um ano, mas também não funciona.

Então, em algum lugar, eu li sobre a opção i8042.nomux kernel. Então eu inicializei o Ubuntu com as seguintes opções:

i8042.nomux=1 i8042.reset

Isso fez com que meu touchpad funcionasse em todas as variantes do Ubuntu e seus derivados, como o Linux Mint.

Estou ansioso para saber sobre essas opções. Se eu soubesse exatamente o que fazer, seria capaz de usar meu touchpad em todas as distribuições Linux, já que essa opção só funciona com o Ubuntu.

    
por Suyash Mohan 10.01.2012 / 09:18

1 resposta

23

Esta é uma opção arcana, necessária apenas em alguns dispositivos raros (um dos quais você tem). A única documentação é uma linha na lista de parâmetros do kernel .

O controlador i8042 controla PS / 2 teclados e mouses em computadores. Parece que no seu laptop, tanto o teclado quanto o touchpad estão conectados através desse chip.

Pelo que entendi do nome da opção e um breve resumo da fonte código (não confie nisso para escrever um driver i8042!), alguns chips i8042 são capazes de multiplexar dados provenientes de vários dispositivos apontadores. A interface tradicional PS / 2 fornece apenas um teclado e um mouse; laptops modernos geralmente têm dois ou mais touchpads, um trackstick e um plugue PS / 2 externo. Alguns controladores seguem o PS / 2 ativo especificação de multiplexação , que permite até 4 dispositivos; os dados enviados por cada dispositivo traz uma indicação de qual dispositivo vem.

O driver do Linux tenta descobrir se o controlador i8042 suporta a multiplexação, mas às vezes adivinhando erroneamente. Com o parâmetro i8042.nomux=1 , o driver não tenta detectar se o controlador suporta multiplexação e assume que não. Com o parâmetro i8042.reset , o driver reinicia o controlador ao iniciar, o que pode ser útil para desabilitar o modo de multiplexação se o controlador o suportar, mas de uma maneira problemática.

    
por 11.01.2012 / 01:37