Tùy chọn kernel 'i8042.nomux = 1' làm gì trong quá trình khởi động Ubuntu?


23

Tôi có một máy tính xách tay với một bàn di chuột đa khách. Bàn di chuột của tôi không bao giờ hoạt động trong bất kỳ bản phân phối Linux nào như Ubuntu, Fedora, openSUSE, Linux Mint, Knoppix, Puppy, Slitaz và nhiều hơn nữa. Tôi đã thử rất nhiều thứ nhưng không có gì hiệu quả. Tôi đã vật lộn với các trình điều khiển Synaptics trong hơn một năm nhưng nó cũng không hoạt động.

Sau đó, một nơi nào đó tôi đọc về i8042.nomuxtùy chọn kernel. Vì vậy, tôi đã khởi động Ubuntu với các tùy chọn sau:

i8042.nomux=1 i8042.reset

Điều này làm cho bàn di chuột của tôi hoạt động trên tất cả các biến thể của Ubuntu và các dẫn xuất của nó như Linux Mint.

Tôi háo hức muốn biết về những lựa chọn này. Nếu tôi biết chính xác những gì nó làm, tôi sẽ có thể sử dụng bàn di chuột của mình trong tất cả các bản phân phối linux, vì tùy chọn này chỉ hoạt động với Ubuntu.

Câu trả lời:


29

Đây là một tùy chọn phức tạp, chỉ cần thiết trên một số thiết bị hiếm (một trong số đó bạn có). Tài liệu duy nhất là một dòng trong danh sách tham số kernel .

Bộ điều khiển i8042 điều khiển bàn phím PS / 2 và chuột trong PC. Dường như trên máy tính xách tay của bạn, cả bàn phím và bàn di chuột đều được kết nối thông qua con chip đó.

Từ những gì tôi hiểu từ tên tùy chọn và sơ lược về mã nguồn (không dựa vào điều này để viết trình điều khiển i8042!), Một số chip i8042 có khả năng ghép dữ liệu đến từ nhiều thiết bị trỏ. Giao diện PS / 2 truyền thống chỉ cung cấp cho một bàn phím và một con chuột; máy tính xách tay hiện đại thường có hai hoặc nhiều bàn di chuột, trackstick và phích cắm PS / 2 bên ngoài. Một số bộ điều khiển tuân theo thông số ghép kênh PS / 2 đang hoạt động , cho phép tối đa 4 thiết bị; dữ liệu được gửi bởi mỗi thiết bị mang một dấu hiệu cho biết thiết bị đó đến từ đâu.

Trình điều khiển Linux cố gắng tìm hiểu xem bộ điều khiển i8042 có hỗ trợ ghép kênh hay không, nhưng đôi khi đoán sai. Với i8042.nomux=1tham số, trình điều khiển không cố gắng phát hiện xem bộ điều khiển có hỗ trợ ghép kênh hay không và cho rằng nó không. Với i8042.resettham số, trình điều khiển đặt lại bộ điều khiển khi khởi động, có thể hữu ích để tắt chế độ ghép kênh nếu bộ điều khiển không hỗ trợ nhưng theo cách có lỗi.


1
Vì đây là lệnh kernel, tôi có thể sử dụng lệnh này trong mọi bản phân phối linux trong khi khởi động không?
Suyash Mohan

2
@ZealKaiser Vâng, tham số này là một phần của kernel tiêu chuẩn, nó sẽ tồn tại trên mọi bản phân phối.
Gilles 'SO- ngừng trở nên xấu xa'

Có cách nào để tìm hiểu xem kernel đang chạy của tôi đang bật hay tắt không?
André Puel

2
@ AndréPuel Kiểm tra xem /proc/cmdlinecó chứa i8042.nomux=1(nếu trình điều khiển nằm trong kernel) hoặc giá trị của /sys/module/i8042/parameters/nomux(nếu trình điều khiển nằm trong mô-đun). Nếu bạn tìm thấy một giá trị khác không cho nomux, ghép kênh sẽ tắt, nếu không thì nó sẽ bật.
Gilles 'SO- ngừng trở nên xấu xa'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.