Почему у меня, похоже, нет опций hidraw в системе, и как я могу исправить свои USB-устройства?

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

Начиная с сегодняшнего дня, я заметил несколько проблем с моей системой. 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 включена в конфигурации вашего ядра. Для этого вам нужно будет скомпилировать ядро с необходимыми опциями:

  1. Откройте терминал и запустите конфигурацию ядра:

    sudo make menuconfig
  2. Перейдите к Device DriversHID Support.

  3. Проверьте, что опция Raw HID device support активирована. Если она отключена, активируйте её.

  4. После выполнения изменений сохраните настройки и выйдите из конфигуратора.

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-устройства после выполнения вышеуказанных шагов, рекомендуется обратиться на форумы вашей дистрибутивной системы для получения более специфичной помощи от сообщества, так как проблемы могут быть уникальными для вашей системы.

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

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