USB 장치 메시지 플러드 dmesg(및 콘솔)

USB 장치 메시지 플러드 dmesg(및 콘솔)

USB 마우스가 랩톱에 연결되면 dmesg에 다음 메시지가 표시됩니다.

usb 3-1: USB disconnect, device number 28
usb 3-1: new low-speed USB device number 29 using xhci_hcd
usb 3-1: New USB device found, idVendor=045e, idProduct=00cb
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: Microsoft USB Optical Mouse
usb 3-1: Manufacturer: PixArt
usb 3-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
input: PixArt Microsoft USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/input/input39
hid-generic 0003:045E:00CB.001C: input: USB HID v1.11 Mouse [PixArt Microsoft USB Optical Mouse] on usb-0000:00:14.0-1/input0
usb 3-1: USB disconnect, device number 29
usb 3-1: new low-speed USB device number 30 using xhci_hcd
usb 3-1: New USB device found, idVendor=045e, idProduct=00cb
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: Microsoft USB Optical Mouse
usb 3-1: Manufacturer: PixArt
usb 3-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
input: PixArt Microsoft USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/input/input40
hid-generic 0003:045E:00CB.001D: input: USB HID v1.11 Mouse [PixArt Microsoft USB Optical Mouse] on usb-0000:00:14.0-1/input0

쥐는 끊임없이 제거되었다가 재발견되는 것 같았습니다.

CTRL+ALT+F1이 메시지는 내가 로그인할 때(예 :) 내 콘솔에도 넘쳐납니다. 이 메시지가 나를 괴롭히지 않도록 이 문제를 해결할 수 있는 방법이 있습니까?

답변1

원래 OEM 마우스는모두 다 아는런레벨 1 또는 3에서 매분(있는 경우) 연결 끊기/재연결폴링이 항상 이루어지는 것은 아닙니다리눅스에서. 내부버퍼 오버 플로우, FW가 충돌한 후 다시 연결됩니다. 드라이버의 기본 동작은 usbhid인터럽트를 기다리는 것입니다.

기초적인: https://github.com/sriemer/fix-linux-mouse

나는 제출했다수리하다이 마우스의 경우리눅스 USB현재 메일링 리스트:

https://marc.info/?l=linux-usb&m=154159427814212&w=2

이것커널 부팅 옵션 usbhid.quirks=0x045e:0x00cb:0x00000400귀하 에게도 HID_QUIRK_ALWAYS_POLL활성화됩니다.

또 다른 옵션은 gpm서비스를 활성화하는 것입니다. 그런 다음 마우스가 gpm폴링되고 실제로 가상 터미널에서 사용할 수 있습니다.

답변2

임시 해결 방법(재부팅 후 재설정됨):

(루트로서)

sysctl -w kernel.printk="3 4 1 7"

위의 영구 버전:

  • 에 파일을 생성하세요 /etc/sysctl.d/. 아마도 no_msgs.conf(~ 해야 하다.conf로 끝남)
  • 문서 내용:

    kernel.printk = 3 4 1 7
    
  • 루트로서 다음을 실행합니다: (위에서 사용한 파일 이름 사용) 이는 즉시 적용되며 재부팅할 때마다 다시 설정됩니다.

    sysctl -p /etc/sysctl.d/no_msgs.conf
    

매개변수는 다음과 같습니다 kernel.printk. (왼쪽에서 오른쪽으로 순서대로)

  • console_loglevel: 우선순위가 더 높은 메시지(줄이다숫자! ), 콘솔에 인쇄됩니다.
  • default_message_loglevel: 명시적인 우선순위가 없는 메시지는 이 우선순위로 인쇄됩니다.
  • minimum_console_loglevel: console_loglevel이 설정할 수 있는 최소(최고) 값
  • default_console_loglevel: console_loglevel의 기본값

이 값은 오류 메시지를 인쇄하거나 기록할 때 printk()의 동작에 영향을 줍니다. 다양한 로그 수준에 대한 자세한 내용은 "man 2 "syslog""를 참조하세요.

본질적으로 우리는 기본값을 낮추고 있습니다.4, 도착하다, 따라서 인쇄를 거부합니다'경고하다(4)' 유형 메시지만더 나쁜유형 메시지를 콘솔에 인쇄할 수 있습니다. (3=오류, 2=치명적, 1=알람, 0=긴급(어-오!))

당신이 찾으면메시지를 멈추지 말고 시도해 보세요 2 4 1 7. 그러나 실제로 무엇이 마우스를 계속 다시 연결하게 만드는지 조사해야 합니다. 어쩌면 힘이 부족하지 않을까요? 컴퓨터의 다른 포트에 연결해 보거나 자체 전원 공급 허브에 연결해 보십시오. 장치가 그렇게 진동하면 안 됩니다.

관련 정보