(가능한) 커널 버그로 인한 콘솔 스팸을 방지하는 방법은 무엇입니까?

(가능한) 커널 버그로 인한 콘솔 스팸을 방지하는 방법은 무엇입니까?

그래서 zypper dist-upgrade지난주에 . 업데이트 후 커널은 4초마다 터미널에 스팸을 보내기 시작했습니다. 이렇게 하면 터미널이 가까워진다쓸 수 없는, 사용자 입력이나 콘솔 출력이 두 개로 분할되어 여러 줄로 분할되기 때문입니다. 다음은 스니펫입니다 dmesg | grep | tail.

[  350.602656] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
[  354.682627] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
[  358.758627] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?

USB를 통해 키보드와 마우스 등 두 개의 장치만 연결되었으며 둘 다 제대로 작동합니다. USB 주소는 usb2-port2 외에도 때로는 usb4-port2 또는 usb3-port2로 변경될 수 있습니다(이러한 이름을 lsusb 출력과 연결하는 방법 - 하단 참조).

업데이트 중에 커널이 4.20에서 5.5로 변경되었습니다. grub 고급 옵션을 통해 4.20 커널로 부팅할 때는 이러한 메시지가 나타나지 않습니다. Windows 7 설치에서도 USB 장치나 허브에 문제가 나타나지 않습니다.

검색해 보니 이것이 다음 커널 커밋 때문이라고 생각됩니다.USB: 허브 복구 시 핫 리셋 포트 요청 처리. 우분투해결하다이 커밋을 되돌려 동일한 문제를 해결했지만 OpenSuSe에서 언급된 내용을 찾을 수 없습니다.버그 추적기아니면 포럼에서요.

이 메시지를 어떻게 중지합니까? 이상적인 솔루션은 빠르고 비침습적이며 복구가 쉽습니다. 커널을 수동으로 컴파일하고 설치하는 것은 최후의 수단입니다.


다음은 동일한 부팅의 lsusb -t 출력입니다.

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 3: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 5: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 5: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M

sudo dmesg -n1빈 출력을 제공합니다.

lsusb -vv오류 리소스의 다음 내용이 표시됩니다( usb4-port2이 부팅 중).

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0
  bDeviceProtocol         3
  bMaxPacketSize0         9
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0003 3.0 root hub
  bcdDevice            5.05
  iManufacturer           3 Linux 5.5.6-1-default xhci-hcd
  iProduct                2 (error)
  iSerial                 1 0000:00:14.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x001f
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
        bMaxBurst               0
can't get hub descriptor, LIBUSB_ERROR_TIMEOUT (Resource temporarily unavailable)
can't get debug descriptor: Resource temporarily unavailable

답변1

Distros는 이전 커널을 유지하고 마지막으로 유효한 커널을 부팅해야 합니다.

오류를 신고하세요! 보고서용 데이터를 수집한 후 이 악당을 제거할 수도 있습니다. 이런 식으로 다음 것이 그 자리를 차지할 것입니다.

다음 커널 버전을 사용해 보세요. 아, 실험적인 롤링 버전의 릴리스를 가지고 노는 즐거움이군요.

관련 정보