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 | tail
trecho:
[ 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 -n1
fornece saída vazia.
lsusb -vv
mostra o seguinte para o recurso errado ( usb4-port2
durante 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.