Ubuntuの起動中に「i8042.nomux = 1」カーネルオプションは何をしますか?


23

マルチゲストタッチパッド付きのラップトップを持っています。私のタッチパッドは、Ubuntu、Fedora、openSUSE、Linux Mint、Knoppix、Puppy、SlitazなどのLinuxディストリビューションでは動作しません。私は多くのことを試しましたが、何もうまくいきませんでした。Synapticsのドライバーと1年以上苦労していますが、うまくいきません。

それからどこかでi8042.nomuxカーネルオプションについて読んだ。そこで、次のオプションを使用してUbuntuを起動しました。

i8042.nomux=1 i8042.reset

これにより、タッチパッドはUbuntuのすべてのバリアントとLinux Mintのような派生物で動作するようになりました。

これらのオプションについて知りたいです。このオプションが正確にわかっていれば、このオプションはUbuntuでのみ機能するため、すべてのLinuxディストリビューションでタッチパッドを使用できます。

回答:


29

これは難解なオプションであり、一部の希少なデバイス(1つは持っている)でのみ必要です。唯一のドキュメントは、カーネルパラメータリストの 1行です。

i8042コントローラーは、PCのPS / 2キーボードとマウスを制御します。ラップトップでは、キーボードとタッチパッドの両方がそのチップを介して接続されているようです。

オプション名とソースコードの簡単なスキミング(i8042ドライバーの作成にこれに依存しないでください!)から理解したことから、一部のi8042チップは複数のポインティングデバイスからのデータを多重化できます。従来のPS / 2インターフェイスは、キーボードとマウスをそれぞれ1つだけ提供します。最近のラップトップには、タッチパッド、トラックスティック、外部PS / 2プラグが2つ以上あることがよくあります。一部のコントローラーは、最大4台のデバイスを許可するアクティブPS / 2多重化仕様に従ってます。各デバイスから送信されたデータには、どのデバイスからのものかが示されています。

Linuxドライバーは、i8042コントローラーが多重化をサポートしているかどうかを確認しようとしますが、時々間違って推測します。このi8042.nomux=1パラメーターを使用すると、ドライバーは、コントローラーが多重化をサポートしているかどうかを検出しようとせず、サポートしていないと想定します。このi8042.resetパラメーターを使用すると、ドライバーは起動時にコントローラーをリセットします。これは、コントローラーがバグモードでサポートしている場合に多重化モードを無効にするのに役立つ場合があります。


1
これはカーネルコマンドなので、ブート中にすべてのLinuxディストリビューションでこのコマンドを使用できますか?
スヤシュモハン

2
@ZealKaiserはい、このパラメーターは標準カーネルの一部であり、すべてのディストリビューションに存在します。
ジル「SO-悪であるのをやめる」

実行中のカーネルで多重化がオンまたはオフになっているかどうかを確認する方法はありますか?
アンドレプエル

2
@AndréPuel /proc/cmdlineが含まれているかi8042.nomux=1(ドライバーがカーネル内にある場合)または値が/sys/module/i8042/parameters/nomux(ドライバーがモジュール内にある場合)チェックします。にゼロ以外の値が見つかった場合nomux、多重化はオフになり、そうでなければオンになります。
ジル 'SO-悪であるのをやめる'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.