Как остановить спам в консоли из-за (вероятной) ошибки ядра?

Как остановить спам в консоли из-за (вероятной) ошибки ядра?

Итак, я обновил свой скользящий дистрибутив OpenSuSe Tumbleweed на прошлой неделе с помощью 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 может меняться - иногда это usb4-port2 или usb3-port2 в дополнение к usb2-port2 (как мне соотнести эти имена с выводом lsusb - см. внизу).

Во время обновления ядро ​​изменилось с 4.20 на 5.5. При загрузке с ядром 4.20 через grub advanced options эти сообщения не появляются. Установка 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

Дистрибутив должен оставить старые ядра, загрузить последнее работающее.

Сообщить об ошибке! Возможно, после сбора данных для отчета, удалите негодяя. Таким образом, следующий просто займет его место.

Попробуйте следующий релиз ядра. Ах, как приятно возиться с экспериментальными, скользящими релизами дистрибутива.

Связанный контент