그래서 지난주에 롤링 배포판 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 주소는 변경될 수 있습니다. 때로는 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
배포판은 오래된 커널을 그대로 두고 작동했던 마지막 커널을 부팅해야 합니다.
버그를 신고하세요! 아마도 보고서에 대한 데이터를 컴파일한 후 악성 프로그램을 제거하십시오. 그렇게 하면 다음 사람이 그 자리를 차지할 것입니다.
다음 커널 릴리스를 사용해 보세요. 아, 배포판의 실험적이고 롤링적인 릴리스를 가지고 장난을 치는 즐거움이군요.