Que fait l'option du kernel 'i8042.nomux = 1' lors du démarrage d'Ubuntu?

J'ai un ordinateur portable avec un touchpad multi invité. Mon touchpad ne fonctionne jamais dans une dissortingbution Linux comme Ubuntu, Fedora, openSUSE, Linux Mint, Knoppix, Puppy, Slitaz et bien plus encore. J'ai essayé beaucoup de choses mais rien n'a fonctionné. Je suis aux sockets avec les pilotes Synaptics depuis plus d'un an, mais cela ne fonctionne pas non plus.

Puis quelque part, j'ai lu à propos de l'option du kernel i8042.nomux . J'ai donc démarré Ubuntu avec les options suivantes:

 i8042.nomux=1 i8042.reset 

Cela a fait fonctionner mon touchpad sur toutes les variantes d'Ubuntu et de ses dérivés comme Linux Mint.

Je suis impatient de connaître ces options. Si je savais ce qu'il fait exactement, je serais capable d'utiliser mon touchpad dans toutes les dissortingbutions linux, car cette option ne fonctionne qu'avec Ubuntu.

Ceci est une option arcanique, nécessaire uniquement sur certains périphériques rares (dont vous avez). La seule documentation est une ligne dans la list des parameters du kernel .

Le controller i8042 contrôle les keyboards PS / 2 et les souris sur les PC. Il semble que sur votre ordinateur portable, le keyboard et le touchpad sont connectés via cette puce.

De ce que je comprends du nom de l'option et un bref aperçu du code source (ne countz pas sur cela pour écrire un pilote i8042!), Certaines puces i8042 sont capables de multiplexer datatables provenant de plusieurs périphériques de pointage. L'interface traditionnelle PS / 2 ne fournit qu'un keyboard et une souris; ordinateurs portables modernes ont souvent deux ou plus d'un pavé tactile, un trackstick et une prise externe PS / 2. Certains controllers suivent la spécification de multiplexage PS / 2 active , qui autorise jusqu'à 4 périphériques; datatables envoyées par chaque périphérique portent une indication de quel périphérique il provient.

Le pilote Linux tente de savoir si le controller i8042 prend en charge le multiplexage, mais parfois il ne le fait pas correctement. Avec le paramètre i8042.nomux=1 , le pilote n'essaie pas de détecter si le controller prend en charge le multiplexage et suppose que ce n'est pas le cas. Avec le paramètre i8042.reset , le pilote réinitialise le controller lors du démarrage, ce qui peut être utile pour désactiver le mode de multiplexage si le controller le prend en charge mais de façon boguée.