그래서 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는 이전 커널을 유지하고 마지막으로 유효한 커널을 부팅해야 합니다.
오류를 신고하세요! 보고서용 데이터를 수집한 후 이 악당을 제거할 수도 있습니다. 이런 식으로 다음 것이 그 자리를 차지할 것입니다.
다음 커널 버전을 사용해 보세요. 아, 실험적인 롤링 버전의 릴리스를 가지고 노는 즐거움이군요.