Trackpoint 드라이버(psmouse)를 바인딩 해제한 후 이를 누르면 드라이버가 다시 바인딩됩니다. 원인은 무엇입니까?

Trackpoint 드라이버(psmouse)를 바인딩 해제한 후 이를 누르면 드라이버가 다시 바인딩됩니다. 원인은 무엇입니까?

배경 정보는 다음을 참조하세요.드라이버를 수동으로 바인딩 및 바인딩 해제.

Thinkpad에서 Trackpoint 드라이버를 바인딩 해제할 수 있습니다.

$ cd /sys/bus/serio/drivers/psmouse/
$ ls -l
total 0
--w-------. 1 root root 4096 Dec  5 20:04 bind
-rw-r--r--. 1 root root 4096 Dec  5 19:19 bind_mode
-r--r--r--. 1 root root 4096 Dec  5 19:19 description
lrwxrwxrwx. 1 root root    0 Dec  5 19:19 module -> ../../../../module/psmouse
lrwxrwxrwx. 1 root root    0 Dec  5 19:19 serio1 -> ../../../../devices/platform/i8042/serio1
lrwxrwxrwx. 1 root root    0 Dec  5 20:14 serio2 -> ../../../../devices/platform/i8042/serio1/serio2
--w-------. 1 root root 4096 Dec  5 19:19 uevent
--w-------. 1 root root 4096 Dec  5 20:07 unbind
$ echo serio2 | sudo tee unbind
serio2
$ ls
bind  bind_mode  description  module  serio1  uevent  unbind

포인팅 스틱 버튼을 클릭하거나 이동하면 포인팅 스틱이 다시 작동하기 시작합니다. 이는 드라이버가 다시 바인딩되었기 때문입니다.

$ ls
bind  bind_mode  description  module  serio1  serio2  uevent  unbind

운전자가 다시 결속된 이유는 무엇입니까?

  • 커널: 4.11.8-200.fc25.x86_64
  • 운영 체제: Fedora 워크스테이션 25
  • 하드웨어: Thinkpad X201

답변1

나는 이것이 부팅 후 Linux가 시스템에 연결된 PS/2 장치를 감지하는 방식과 관련이 있다고 생각합니다. ("핫 스왑").

PS/2 포트는 핫 플러깅이 지원되지 않던 시대에 설계되었습니다. 예를 들어, Microsoft Windows의 초기 버전은 PS/2 포트 핫플러그를 지원하지 않았습니다.

핫플러그 신호가 없거나 신뢰할 수 없는 것 같습니다. 따라서 Linux는 듣기만 할 수 있습니다.어느PS/2 포트의 데이터는 바인딩되지 않습니다. 일부 데이터를 수신하면 포트를 다시 검색해야 합니다.

적어도 그것은 좋은 이론이다. 그러나 다른 노트북(Dell Latitude E5450)에서 결합된 터치패드/트랙포인트 장치를 바인딩 해제하면 같은 일이 발생하지 않습니다. 예를 들어, 버튼을 눌러도 드라이버가 마술처럼 다시 작동하지 않습니다.

관련 정보