i8042.nopnp
HP 노트북의 터치패드가 부팅 메뉴로 이동하여(부팅 시 또는 grub에서 esc를 눌러) 커널 명령줄에 추가할 때만 작동하는 이유를 알아내려고 합니다. i8042 매개변수를 추가하면 터치패드가 검색 가능하지만 응답하지 않게 되고, 제가 아는 한 메뉴에 들어가는 것만으로는 아무런 효과가 없기 때문에 이 두 가지 작업이 모두 필요합니다. 내가 찾은 여러 솔루션(가장 명백하게 추가 i8042.xxx
매개변수 추가)은 긍정적인 결과를 제공하지 못했습니다(문자 그대로 출력 xinput
도 변경되지 않았습니다 dmesg
). 부팅 메뉴란 BIOS 설정 열기, 부팅 순서 변경, 네트워크에서 부팅, UEFI 진단 도구 실행 등을 선택할 수 있는 대화 상자를 의미합니다.
내 노트북 모델은 모바일 Ryzen APU(중요한 경우 4500U)가 장착된 HP 15s-eq1017nw이며 별도의 GPU는 없습니다. 제가 테스트한 여러 배포판(구체적으로: Ubuntu 21.10 및 20.04 LTS, Linux MX 21 "ahs" 및 표준 에디션, 현재 Manjaro)의 펌웨어 버전은 F.34 Rev.A 및 F.54 Rev.A 입니다.
dmesg
뛰어 들기 전에 xinput
, 나는 우연히 "해결책"을 찾았을 뿐, 그 뒤에는 전문 지식이 없다는 점을 강조하고 싶습니다.
참고로 Bluetooth, Wi-Fi, 키보드 및 모니터는 모두 기본적으로 작동합니다. 단지 터치패드가 더 까다롭다는 것뿐입니다.
dmesg
터치패드가 작동 중일 때 출력(즉, i8042.nopnp
커널 옵션을 추가하고 BIOS 설정으로 이동할 때):
https://pastebin.com/ZHu1iSp4
dmesg
방금 추가했지만 i8042.nopnp
BIOS 설정 입력을 건너뛰면 출력됩니다.
https://pastebin.com/mxWX9CpL
두 출력 모두 로그인 후 즉시 생성됩니다.
터치패드는 Windows 10(설치 중 포함)에서 제대로 작동하며 Elantech 터치패드로 인식됩니다(W10 및 Linux 모두에서).
마지막으로 xinput 출력: ( xinput
작업 시)
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN071A:00 04F3:30FD Touchpad id=10 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=12 [slave pointer (2)]
⎜ ↳ ELAN071A:00 04F3:30FD Mouse id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ HP TrueVision HD Camera: HP Tru id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ HP WMI hotkeys id=13 [slave keyboard (3)]
↳ ACPI Virtual Keyboard Device id=14 [slave keyboard (3)]
( xinput
터치패드가 감지되었으나 커서가 움직이지 않는 경우, 즉 BIOS 설정에 들어가지 않는 경우)
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ HP TrueVision HD Camera: HP Tru id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)]
↳ ACPI Virtual Keyboard Device id=11 [slave keyboard (3)]
↳ HP WMI hotkeys id=12 [slave keyboard (3)]
업데이트 1
방금 부팅 메뉴에 들어가 명령을 호출할 때 grub이 수행하는 작업을 확인했습니다 fwsetup
.
기계가 이 메뉴/상태에 들어가면 어떻게 되는지 궁금합니다. 이 작업을 통해 터치패드를 검색할 수 있을 뿐만 아니라 기능적으로 만들 수 있기 때문입니다.
누군가 묻기 전에 Linux를 부팅하기 전에 기다리면 문제가 해결됩니다.
답변1
첫 번째 Pastebin(작업 상태)에는 다음 줄이 포함되어 있습니다.
[ 1.817897] input: ELAN071A:00 04F3:30FD Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-ELAN071A:00/0018:04F3:30FD.0001/input/input6
[ 1.817941] input: ELAN071A:00 04F3:30FD Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-ELAN071A:00/0018:04F3:30FD.0001/input/input8
[ 1.817968] hid-generic 0018:04F3:30FD.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN071A:00 04F3:30FD] on i2c-ELAN071A:00
그 다음에:
[ 3.788331] input: ELAN071A:00 04F3:30FD Mouse as /devices/platform/AMDI0010:03/i2c-1/i2c-ELAN071A:00/0018:04F3:30FD.0001/input/input13
[ 3.788469] input: ELAN071A:00 04F3:30FD Touchpad as /devices/platform/AMDI0010:03/i2c-1/i2c-ELAN071A:00/0018:04F3:30FD.0001/input/input15
[ 3.788561] hid-multitouch 0018:04F3:30FD.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN071A:00 04F3:30FD] on i2c-ELAN071A:00
오류가 발생하면 이러한 행이 손실됩니다.
이는 터치패드가 최신 연결된 터치패드 중 하나임을 보여줍니다 i2c
. 기본적으로 터치패드는 호환성을 위해 클래식 PS/2 마우스와 같은 기능도 제공하지만 전체 기능(예: 멀티 터치)은 i2c 인터페이스를 통해서만 달성할 수 있습니다.
불행하게도 I2C-HID 사양은 제대로 구현되지 않은 경우가 많으며 장치별 특이 사항이 필요합니다. 바라보다:https://askubuntu.com/questions/1033033/elantech-touchpad-does-not-work-i2c-hid
시도해 보거나 modprobe elan_i2c
변화 가 있는지 확인할 수 있습니다 modprobe i2c_hid
.modprobe hid-multitouch