Como impedir o spam do console devido a um (provável) bug do kernel?

Como impedir o spam do console devido a um (provável) bug do kernel?

Então, atualizei minha distribuição OpenSuSe Tumbleweed na semana passada usando zypper dist-upgrade. Estava funcionando bem antes da atualização. Após a atualização, o kernel começou a enviar spam para o terminal a cada 4 segundos. Isto torna o terminal próximo deinutilizável, à medida que a entrada do usuário ou qualquer saída do console é dividida ao meio e dividida em muitas linhas. Aqui está um dmesg | grep | tailtrecho:

[  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?

Apenas dois dispositivos estão conectados via USB – teclado e mouse – e ambos funcionam bem. O endereço usb pode mudar - às vezes é usb4-port2 ou usb3-port2 além de usb2-port2 (como correlacionar esses nomes com a saída lsusb - veja na parte inferior).

Durante a atualização, o kernel mudou de 4.20 para 5.5. Ao inicializar com o kernel 4.20 através das opções avançadas do grub, essas mensagens não aparecem. Uma instalação do Windows 7 também não apresenta problemas com dispositivos ou hubs USB.

A pesquisa me leva a acreditar que isso se deve a este commit do kernel:usb: lida com solicitações de porta de reinicialização a quente no currículo do hub. Ubunturesolvidoo mesmo problema revertendo este commit, mas não consigo encontrá-lo mencionado no OpenSuSerastreador de bugsou em fóruns.

Como interrompo essas mensagens? A solução ideal seria rápida, não intrusiva e facilmente revertida. A compilação e instalação manual do kernel é o último recurso.


Esta é a saída lsusb -t na mesma inicialização:

/:  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 -n1fornece saída vazia.

lsusb -vvmostra o seguinte para o recurso errado ( usb4-port2durante esta inicialização)

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

Responder1

A distribuição deve deixar kernels antigos (mais) por aí, inicialize o último que funcionou.

Reporte o bug! Talvez depois de compilar os dados para o relatório, desinstale o malfeitor. Dessa forma, o próximo simplesmente ocupará seu lugar.

Experimente a próxima versão do kernel. Ah, a alegria de brincar com lançamentos experimentais e contínuos da distribuição.

informação relacionada