Устройства ввода долго загружаются на экране входа.

Вопрос или проблема

Недавно я установил KDE-plasma на свою систему arch, и у меня возникла крайне раздражающая проблема. Каждый раз, когда я перезагружаюсь, grub мгновенно распознает ввод с клавиатуры, но когда я попадаю на экран входа, клавиатура и мышь начинают работать только через минуту. Моя клавиатура и мышь подключены по usb. С помощью рекомендаций chatgpt я написал скрипт, который сбрасывает мои usb-устройства:

#!/usr/bin/env fish
for device in /sys/bus/usb/devices/*/authorized
        echo "0" > $device
        echo "1" > $device
end

sudo modprobe -r usbhid
sudo modprobe usbhid

Этот скрипт вызывает отключение клавиатуры и мыши, и они не работают, казалось бы, столько же времени, сколько они не работают на экране входа. Когда я запускаю `sudo dmesg -w` и затем запускаю свой скрипт, я получаю следующий вывод для dmesg, пока клавиатура и мышь отключены (за исключением последних двух строк, которые всегда появляются сразу после того, как мышь, которую я постоянно двигаю, начинает работать):

[ 1122.351839] usb 1-5: USB disconnect, device number 13
[ 1122.352350] usb 1-6: USB disconnect, device number 14
[ 1122.352353] usb 1-6.2: USB disconnect, device number 16
[ 1122.352354] usb 1-6.2.2: USB disconnect, device number 19
[ 1122.397471] hid-generic 0003:258A:002A.0007: can't resubmit intr, 0000:00:14.0-6.2.4/input0, status -19
[ 1122.446122] usb 1-6.2.3: USB disconnect, device number 22
[ 1122.508655] usb 1-6.2.4: USB disconnect, device number 23
[ 1123.005104] usb 1-11: USB disconnect, device number 15
[ 1123.011062] hub 1-0:1.0: USB hub found
[ 1123.011092] hub 1-0:1.0: 16 ports detected
[ 1123.013025] usb usb1: authorized to connect
[ 1123.013113] hub 2-0:1.0: USB hub found
[ 1123.013133] hub 2-0:1.0: 10 ports detected
[ 1123.015936] usb usb2: authorized to connect
[ 1123.033664] usbcore: deregistering interface driver usbhid
[ 1123.157732] usbcore: registered new interface driver usbhid
[ 1123.157738] usbhid: USB HID core driver
[ 1123.160617] usb 1-5: new full-speed USB device number 24 using xhci_hcd
[ 1123.307087] usb 1-5: New USB device found, idVendor=048d, idProduct=5702, bcdDevice= 0.01
[ 1123.307101] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1123.307106] usb 1-5: Product: ITE Device
[ 1123.307111] usb 1-5: Manufacturer: ITE Tech. Inc.
[ 1123.312456] hid-generic 0003:048D:5702.0009: hiddev96,hidraw0: USB HID v1.12 Device [ITE Tech. Inc. ITE Device] on usb-0000:00:14.0-5/input0
[ 1123.434053] usb 1-6: new high-speed USB device number 25 using xhci_hcd
[ 1123.576378] usb 1-6: New USB device found, idVendor=05e3, idProduct=0608, bcdDevice=60.90
[ 1123.576393] usb 1-6: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 1123.576398] usb 1-6: Product: USB2.0 Hub
[ 1123.578778] hub 1-6:1.0: USB hub found
[ 1123.579142] hub 1-6:1.0: 4 ports detected
[ 1123.703990] usb 1-11: new high-speed USB device number 26 using xhci_hcd
[ 1123.845829] usb 1-11: New USB device found, idVendor=05e3, idProduct=0608, bcdDevice=60.90
[ 1123.845843] usb 1-11: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 1123.845848] usb 1-11: Product: USB2.0 Hub
[ 1123.847794] hub 1-11:1.0: USB hub found
[ 1123.848087] hub 1-11:1.0: 4 ports detected
[ 1123.920599] usb 1-6.2: new high-speed USB device number 27 using xhci_hcd
[ 1124.010984] usb 1-6.2: New USB device found, idVendor=1a40, idProduct=0801, bcdDevice= 1.00
[ 1124.010998] usb 1-6.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 1124.011004] usb 1-6.2: Product: USB 2.0 Hub
[ 1124.012134] hub 1-6.2:1.0: USB hub found
[ 1124.012188] hub 1-6.2:1.0: 4 ports detected
[ 1124.133932] usb 1-14: new high-speed USB device number 28 using xhci_hcd
[ 1129.264313] usb 1-14: device descriptor read/64, error -110
[ 1144.836750] usb 1-14: device descriptor read/64, error -110
[ 1145.339852] usb 1-14: new high-speed USB device number 29 using xhci_hcd
[ 1150.596409] usb 1-14: device descriptor read/64, error -110
[ 1166.172638] usb 1-14: device descriptor read/64, error -110
[ 1166.279184] usb usb1-port14: attempt power cycle
[ 1166.355609] usb 1-6.2.2: new high-speed USB device number 30 using xhci_hcd
[ 1166.476391] usb 1-6.2.2: New USB device found, idVendor=328f, idProduct=003f, bcdDevice= 1.00
[ 1166.476402] usb 1-6.2.2: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[ 1166.476407] usb 1-6.2.2: Product: HD Webcam eMeet C960
[ 1166.476410] usb 1-6.2.2: Manufacturer: EMEET
[ 1166.476413] usb 1-6.2.2: SerialNumber: SN0001
[ 1166.480157] usb 1-6.2.2: Found UVC 1.00 device HD Webcam eMeet C960 (328f:003f)
[ 1166.482505] usb 1-6.2.2: Failed to query (GET_INFO) UVC control 5 on unit 1: 0 (exp. 1).
[ 1166.482631] usb 1-6.2.2: Failed to query (GET_INFO) UVC control 12 on unit 1: 0 (exp. 1).
[ 1166.490822] input: HD Webcam eMeet C960: HD Webcam as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.2/1-6.2.2:1.0/input/input30
[ 1166.495908] usb 1-6.2.2: 3:1: cannot get freq at ep 0x84
[ 1166.782194] usb 1-14: new high-speed USB device number 31 using xhci_hcd
[ 1171.805560] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1177.138570] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1177.345219] usb 1-14: device not accepting address 31, error -62
[ 1177.745157] usb 1-14: new high-speed USB device number 32 using xhci_hcd
[ 1182.898412] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1188.231524] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
[ 1188.438055] usb 1-14: device not accepting address 32, error -62
[ 1188.438357] usb usb1-port14: unable to enumerate USB device
[ 1188.528072] usb 1-6.2.3: new low-speed USB device number 33 using xhci_hcd
[ 1188.642930] usb 1-6.2.3: New USB device found, idVendor=046d, idProduct=c077, bcdDevice=72.00
[ 1188.642946] usb 1-6.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1188.642951] usb 1-6.2.3: Product: USB Optical Mouse
[ 1188.642955] usb 1-6.2.3: Manufacturer: Logitech
[ 1188.648293] input: Logitech USB Optical Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.3/1-6.2.3:1.0/0003:046D:C077.000A/input/input31
[ 1188.648735] hid-generic 0003:046D:C077.000A: input,hidraw1: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-0000:00:14.0-6.2.3/input0
[ 1188.741319] usb 1-6.2.4: new full-speed USB device number 34 using xhci_hcd
[ 1188.851937] usb 1-6.2.4: New USB device found, idVendor=258a, idProduct=002a, bcdDevice=10.39
[ 1188.851952] usb 1-6.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1188.851957] usb 1-6.2.4: Product: Gaming KB 
[ 1188.851960] usb 1-6.2.4: Manufacturer: SINO WEALTH
[ 1188.859498] input: SINO WEALTH Gaming KB  as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.4/1-6.2.4:1.0/0003:258A:002A.000B/input/input32
[ 1189.062197] hid-generic 0003:258A:002A.000B: input,hidraw2: USB HID v1.11 Keyboard [SINO WEALTH Gaming KB ] on usb-0000:00:14.0-6.2.4/input0
[ 1189.065075] input: SINO WEALTH Gaming KB  System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.4/1-6.2.4:1.1/0003:258A:002A.000C/input/input33
[ 1189.125064] input: SINO WEALTH Gaming KB  Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.4/1-6.2.4:1.1/0003:258A:002A.000C/input/input34
[ 1189.125270] input: SINO WEALTH Gaming KB  Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6.2/1-6.2.4/1-6.2.4:1.1/0003:258A:002A.000C/input/input35
[ 1189.125768] hid-generic 0003:258A:002A.000C: input,hiddev97,hidraw3: USB HID v1.11 Keyboard [SINO WEALTH Gaming KB ] on usb-0000:00:14.0-6.2.4/input1
[ 1189.292728] usb 1-6.2.2: 3:1: cannot get freq at ep 0x84
[ 1189.297446] usb 1-6.2.2: 3:1: cannot get freq at ep 0x84
[ 1190.179103] usb 1-6.2.2: Failed to query (GET_DEF) UVC control 12 on unit 1: 0 (exp. 3).
[ 1190.181524] usb 1-6.2.2: Failed to query (GET_DEF) UVC control 12 on unit 1: 0 (exp. 3).

Обратите внимание, как после [ 1129.264313] начинают появляться ошибки с кодом -110. На это ушло много времени, так что я думаю, что эти ошибки вызывают значительную часть задержки. Также в строках, содержащих слово “timeout” в [ 1171.805560], также было много задержек. Если я смогу исправить эти ошибки и предотвратить эти тайм-ауты, я думаю, что это уберет значительную часть задержки.

Я пытался добавить эту строку в grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"

Я пробовал переключить окружение на xorg вместо wayland на экране входа и перезагрузиться, я пробовал linux-lts, я пробовал изменить настройку bios для uhci handoff на отключено, менять дисплейные менеджеры, подключаться к каждому usb-порту, который есть у моего компьютера, отключать автоотключение в grub и создавать файл с именем /etc/udev/rules.d/99-usb.rules со строкой:

ACTION="add, SUBSYSTEM=="usb", ATTR{idVendor}=="258a", ATTR{idProduct}=="002a", TEST=="power/control", ATTR{power/control}="on"

и ничто из этого не помогло.

Ответ или решение

Введение

Проблема с длительной инициализацией USB-устройств (клавиатуры и мыши) на экране входа в систему после установки KDE Plasma на вашем Arch Linux является распространённой и сложной задачей. Давайте разберём следующие возможные причины и решения, основываясь на предоставленных вами данных и сообщениях об ошибках в журнале dmesg.

Подробный анализ проблемы

1. Ошибки USB в журнале dmesg

Ваша диагностика показывает коды ошибок -110 и таймауты в протоколе USB, которые указывают на проблемы с обнаружением и инициализацией ваших устройств. Эти сообщения могут свидетельствовать о:

  • Неправильной конфигурации USB-контроллеров. Это может быть связано с настройками в BIOS/UEFI.
  • Конфликте между устройствами, когда одно устройство вызывает задержки или отказ в работе другого.
  • Неисправным или перегруженным USB-хабом.

2. Устранение неполадок на уровне BIOS

Проверьте следующие настройки в BIOS/UEFI:

  • USB Configuration: Убедитесь, что все настройки USB-контроллеров активированы. Если имеется опция Legacy USB Support, попробуйте отключить его и проверить.
  • PCIe Power Management: Возможно, отключение управления питанием PCIe улучшит стабильность работы устройств.

3. Изменение параметров GRUB

Попробуйте добавить или изменить следующие параметры в строке GRUB_CMDLINE_LINUX_DEFAULT:

pci=noaer usbcore.autosuspend=-1
  • pci=noaer отключает обработку ошибок PCI.
  • usbcore.autosuspend=-1 отключает автоматическое приостановление USB-устройств, что может уменьшить время ожидания инициализации.

Не забудьте выполнить команду sudo update-grub для применения изменений.

4. Отладка на уровне системы

Убедитесь, что все необходимые драйверы успешно загружены. Попробуйте выполнить следующие команды:

sudo modprobe -r xhci_hcd
sudo modprobe xhci_hcd

Также рассмотрите возможность установки свежих обновлений системы и ядра с помощью:

sudo pacman -Syu

5. Проверка конфигурации Udev

В вашем файле /etc/udev/rules.d/99-usb.rules у вас есть правило, но оно может не сработать, если устройств с такими ID несколько. Вы можете временно попробовать удалить это правило и протестировать, может ли система корректно инициализировать устройства без него.

6. Тестирование устройств

Попробуйте подключить клавиатуру и мышь к другим USB-портам, желательно к портам на задней панели вашего ПК, так как они могут обеспечивать более стабильное соединение. Также стоит протестировать их на других устройствах, чтобы исключить возможность неисправности самих устройств.

7. Использование альтернативных драйверов

Если проблема не решается, вы можете рассмотреть возможность использования другого драйвера ввода:

sudo pacman -S xf86-input-libinput

Затем обновите конфигурацию Xorg, если это применимо, и перезагрузите систему.

Заключение

Решение проблемы с задержками в работе USB-устройств на экране входа в систему может потребовать комплексного подхода, изоляции каждого возможного источника проблемы, начиная с BIOS и заканчивая конфигурацией системы. Проследив за поступательными изменениями и ведя логи на каждом этапе, вы сможете диагностировать проблему более эффективно. Если все предложенные методы не дадут результата, я бы рекомендовал обратиться за помощью на специализированные форумы или в службу поддержки вашего дистрибутива для более глубокого анализа.

Если у вас есть дополнительные вопросы или требуется помощь с конкретными командами, пожалуйста, дайте знать!

Оцените материал
Добавить комментарий

Капча загружается...