Вопрос или проблема
Начиная с сегодняшнего дня, я заметил несколько проблем с моей системой. USB-устройства, включая внутренние, такие как микрофоны, вообще, похоже, не работают. Я сначала заметил это, когда моя клавиатура и мышь не отвечали – однако, проверив dmesg
, я увидел, что как логитечевский унифицированный приемник, так и USB-подключения моих внешних микрофонов распознаются.
Сначала подумав, что приемник, возможно, просто перестал распознавать устройства ввода, я решил повторно синхронизировать их и продолжить работу – но, когда я пришел к необходимости обратиться к нужному устройству hidraw, у меня его не оказалось. Нет /dev/hidraw
, нет /sys/class/hidraw
, ничего, похоже. (кроме заголовка hidraw в /usr/include
и некоторых файлов hidraw в /usr/src
)
Таким образом, это кажется по крайней мере частью проблемы – udev, похоже, не выполняет свою работу где-то. Но у меня нет идеи, что делать дальше.
Вот соответствующие фрагменты, которые могут быть полезны:
Из dmesg:
[ 178.045682] usb 3-4: SerialNumber: 201203
[ 970.636450] usb 1-1.2: новое устройство USB полного размера номер 5 с использованием ehci_hcd
[ 970.731693] usb 1-1.2: Новое USB-устройство обнаружено, idVendor=046d, idProduct=c52b
[ 970.731698] usb 1-1.2: Новые строки USB-устройства: Mfr=1, Product=2, SerialNumber=0
[ 970.731701] usb 1-1.2: Продукт: USB Receiver
[ 970.731704] usb 1-1.2: Производитель: Logitech
Из lsusb:
Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver
Из монитора udev (udevadm monitor):
KERNEL[1111.431718] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 (usb)
KERNEL[1111.432374] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
KERNEL[1111.432430] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.1 (usb)
KERNEL[1111.432495] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.2 (usb)
UDEV [1111.438072] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 (usb)
UDEV [1111.441642] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
UDEV [1111.442308] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.1 (usb)
UDEV [1111.442924] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.2 (usb)
Со мной произошло то же самое.
Мне пришлось скомпилировать ядро, чтобы оно заработало.
Перед компиляцией ядра необходимо убедиться, что поддержка HID raw включена.
sudo make menuconfig
Device Drivers --->
HID Support --->
/dev/hidraw поддержка устройства raw HID
Если вы не знаете, как скомпилировать ядро, вы можете быстро найти информацию в Google. Это то, что я использовал (Ubuntu): Как скомпилировать Linux ядро 3.8 / 3.x в Ubuntu 13.04 12.10 12.04
Ответ или решение
Проблема отсутствия hidraw-устройств на вашей системе может быть вызвана несколькими факторами, связанными с конфигурацией ядра и драйверами для USB-устройств. Рассмотрим шаги, которые можно предпринять для решения этой проблемы и восстановления работоспособности ваших USB-устройств.
1. Проверьте настройки ядра
Первым делом убедитесь, что поддержка raw HID включена в конфигурации вашего ядра. Для этого вам нужно будет скомпилировать ядро с необходимыми опциями:
-
Откройте терминал и запустите конфигурацию ядра:
sudo make menuconfig
-
Перейдите к
Device Drivers
→HID Support
. -
Проверьте, что опция
Raw HID device support
активирована. Если она отключена, активируйте её. -
После выполнения изменений сохраните настройки и выйдите из конфигуратора.
2. Скомпилируйте и установите ядро
Если изменения в конфигурации kernel были внесены, нужно продолжить с компиляцией и установкой ядра. Для этого выполните следующие команды (это пример общего процесса компиляции):
make
sudo make modules_install
sudo make install
После установки нового ядра, перезагрузите систему.
3. Проверка и тестирование
После перезагрузки откройте терминал и выполните следующие команды, чтобы проверить наличие hidraw-устройств:
ls /dev/hidraw*
Вы также можете использовать следующую команду, чтобы увидеть сообщения от системы о всех подключенных USB-устройствах:
dmesg | grep hid
4. Дополнительные шаги
Если после выполнения вышеуказанных шагов проблема не решена, возможно, вам стоит проверить следующие вещи:
-
Убедитесь, что у вас установлены все необходимые пакеты для работы с USB и HID, такие как
libusb
,udev
и другие, которые могут быть системными зависимостями. -
Выполните обновление системы для установки последних исправлений:
sudo apt update sudo apt upgrade
-
Проверьте наличие обновлений драйверов для вашего оборудования, так как иногда устаревшие драйвера могут быть причиной проблем.
Если вы все еще не видите hidraw-устройства после выполнения вышеуказанных шагов, рекомендуется обратиться на форумы вашей дистрибутивной системы для получения более специфичной помощи от сообщества, так как проблемы могут быть уникальными для вашей системы.