Вместо того, чтобы делать yum remove
или yum update
необходимо смочь yum install kernel-<ver>
где <ver>
определенный номер версии. Также у Вас может быть несколько установленных ядер.
Обычно рекомендуется иметь в наличии пару для таких ситуаций. Когда начальные загрузки системы можно выбрать из одного из ядер для начальной загрузки системы.
Похоже, что Udev (который находится в человеке) управляет динамическими устройствами, такими как USB-устройства, когда они подключены. Затем он создает их экземпляры в / dev где-нибудь. (Как / dev / bus / usb / 002 в моем случае.) Этот узел / dev должен иметь некоторые разрешения, Udev берет разрешения из файлов в /lib/udev/rules.d/, есть некий загадочный синтаксис, который соответствует устройство к записи.
В этом случае все из подсистемы usb с типом usb_device получает указанный файловый режим. (Стандартные разрешения, 664 - это rw-rw-r-, 666 - это rw-rw-rw-.) Итак, вы даете всем без исключения разрешения на запись для всех USB-устройств. Это не очень хорошо, если вы не доверяете всем своим пользователям. Если вы единственный пользователь, вы, вероятно, можете доверять себе. Libusb, похоже, хочет, чтобы разрешения на запись в узел USB-устройства выполняли свою работу, и отказывается что-либо делать, если это не так. Звучит не совсем правильно, поскольку я только пытаюсь читать с устройства.
Можно уточнить разрешения, вы можете указать устройство с помощью таких вещей, как поставщик USB (VID) и идентификатор продукта (PID). Таким образом, можно было бы создать файл, который работал бы только с вашим сканером, и оставить все остальные USB-устройства с разрешениями по умолчанию. Есть страница об Udev по адресу https://wiki.archlinux.org/index.php/udev , которая выглядит полезной для всего этого. Если вы создаете файл, который начинается с большего числа, например "60-my-usb-scanner.rules" (более высокие числа имеют приоритет), и у вас есть правило, которое перечисляет ваш сканер, например:
SUBSYSTEM=="usb", ATTRS{idVendor}=="F1E2", ATTRS{idProduct}=="1F2E", MODE="0666"
Это должно просто установить разрешения для указанное устройство (VID = 0xF1E2, PID = 0x1F2E). Затем вы можете заставить Udev заметить это изменение, выполнив:
udevadm control --reload-rules
libusb
предназначен для предоставления пользовательских -пространственных драйверов для USB-устройств :, другими словами, он позволяет приложениям отправлять команды libusb
, которые само не понимает, на устройство.
В результате libusb
должен обрабатывать любые данные, которые передаются с компьютера на USB-устройство, как операцию записи. Это включает в себя даже тривиальные записи, такие как отправка команды сканеру для описания его возможностей сканирования.
Чтение -Только доступ к libusb
устройствам будет работать только с устройствами, которые самопроизвольно отправляют данные на компьютер, такими как клавиатура или мышь.