ตัวเลือกเคอร์เนล 'i8042.nomux = 1' ทำอะไรในระหว่างการบูท Ubuntu


23

ฉันมีแล็ปท็อปที่มีทัชแพดสำหรับแขกหลายคน ทัชแพดของฉันไม่ทำงานใน Linux distro ใด ๆ เช่น Ubuntu, Fedora, openSUSE, Linux Mint, Knoppix, Puppy, Slitaz และอื่น ๆ อีกมากมาย ฉันลองหลายสิ่งหลายอย่างแล้ว แต่ไม่มีอะไรทำงาน ฉันต่อสู้กับไดรเวอร์ Synaptics มานานกว่าหนึ่งปีแล้ว แต่ก็ไม่ได้ผลเช่นกัน

จากนั้นบางที่ฉันอ่านเกี่ยวกับi8042.nomuxตัวเลือกเคอร์เนล ดังนั้นฉันบูตอูบุนตูด้วยตัวเลือกต่อไปนี้:

i8042.nomux=1 i8042.reset

นี่ทำให้ทัชแพดของฉันทำงานได้กับอูบุนตูทุกรุ่นและอนุพันธ์เช่น Linux Mint

ฉันอยากรู้เกี่ยวกับตัวเลือกเหล่านี้ ถ้าฉันรู้ว่ามันทำอะไรฉันจะสามารถใช้ทัชแพดของฉันในลินุกซ์ distros ทั้งหมดเนื่องจากตัวเลือกนี้ใช้ได้กับ Ubuntu เท่านั้น

คำตอบ:


29

นี่เป็นตัวเลือกที่เป็นความลับมีความจำเป็นสำหรับอุปกรณ์ที่หายากบางตัวเท่านั้น (หนึ่งในนั้นที่คุณมี) เอกสารเพียงอย่างเดียวคือสายหนึ่งในรายการพารามิเตอร์

คอนโทรลเลอร์ i8042 ควบคุมคีย์บอร์ดPS / 2และเมาส์ในพีซี ดูเหมือนว่าบนแล็ปท็อปของคุณทั้งแป้นพิมพ์และทัชแพดจะเชื่อมต่อผ่านชิปนั้น

จากสิ่งที่ฉันเข้าใจจากชื่อตัวเลือกและ skim สั้น ๆ ของซอร์สโค้ด (อย่าพึ่งพาสิ่งนี้เพื่อเขียนไดร์เวอร์ i8042!) ชิป i8042 บางตัวสามารถรับข้อมูลมัลติเพล็กซิ่งที่มาจากอุปกรณ์ตัวชี้หลายตัว อินเทอร์เฟซ PS / 2 แบบดั้งเดิมให้สำหรับแป้นพิมพ์เดียวและหนึ่งเมาส์เท่านั้น แล็ปท็อปสมัยใหม่มักมีทัชแพดสองตัวขึ้นไปแทร็คสติ๊กและปลั๊ก PS / 2 ภายนอก ตัวควบคุมบางตัวทำตามข้อกำหนดมัลติเพล็กซิ่งแบบ PS / 2 ที่แอ็คทีฟซึ่งอนุญาตได้สูงสุด 4 อุปกรณ์ ข้อมูลที่ส่งโดยอุปกรณ์แต่ละเครื่องจะมีตัวบ่งชี้ว่ามาจากอุปกรณ์ใด

ไดรเวอร์ Linux พยายามค้นหาว่าคอนโทรลเลอร์ i8042 รองรับการมัลติเพล็กซ์หรือไม่ แต่บางครั้งก็คาดเดาผิด ด้วยi8042.nomux=1พารามิเตอร์ไดรเวอร์จะไม่พยายามตรวจสอบว่าคอนโทรลเลอร์รองรับมัลติเพล็กซ์หรือไม่และสมมติว่าไม่มี ด้วยi8042.resetพารามิเตอร์คนขับจะรีเซ็ตตัวควบคุมเมื่อเริ่มต้นซึ่งอาจเป็นประโยชน์ในการปิดใช้งานโหมดมัลติเพล็กซิ่งหากตัวควบคุมรองรับ แต่ในลักษณะบั๊กกี้


1
เนื่องจากนี่เป็นคำสั่งเคอร์เนลฉันสามารถใช้คำสั่งนี้ในทุก ๆ ลินุกซ์ distro ระหว่างการบูทได้หรือไม่
Suyash Mohan

2
@ZealKaiser ใช่พารามิเตอร์นี้เป็นส่วนหนึ่งของเคอร์เนลมาตรฐานซึ่งจะมีอยู่ในทุกการแจกจ่าย
Gilles 'หยุดความชั่วร้าย'

มีวิธีใดบ้างที่จะตรวจสอบว่าเคอร์เนลที่ใช้งานของฉันเปิดหรือปิดมัลติเพล็กซ์หรือไม่?
André Puel

2
@ AndréPuelตรวจสอบว่า /proc/cmdlineมีi8042.nomux=1(ถ้าไดรเวอร์อยู่ในเคอร์เนล) หรือค่าของ/sys/module/i8042/parameters/nomux(หากไดรเวอร์อยู่ในโมดูล) หากคุณพบว่าค่าที่ไม่ใช่ศูนย์สำหรับnomuxมัลติเพล็กซ์ถูกปิดมิฉะนั้นมันจะเปิด
Gilles 'หยุดความชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.