Установите lirc порядок устройств

У меня есть два удаленных устройства. Удаленный аппаратный ключ MCE одного USB, который я хочу использовать, и встроенное устройство на моей спутниковой карте PCI-E, которую я никакой использую или хочу.

Когда вещи загружаются, lirc присваивает эти устройства a /dev/lircX устройство (где X число). Возьмите это dmesg вывод как пример:

[...] rc rc0: lirc_dev: driver ir-lirc-codec (saa716x) registered at minor = 0
[...] rc rc1: lirc_dev: driver ir-lirc-codec (mceusb) registered at minor = 1

Выше, мое удаленное MCE находится под /dev/lirc1. Проблема время затем, что я загружаюсь, это будет /dev/lirc0. Это подает заявки конфигурирования это намного тяжелее.

Я хочу одну из этих вещей:

  1. Установить мое mceusb устройство как/dev/lirc0 навсегда, или,
  2. Достигните того же путем отключения lirc обработки saa716x устройство. Обратите внимание, что это - модуль устройства мультифункции, который также обрабатывает видео для телевизионной потоковой передачи.
    Помещение в черный список saa716x не опция.
  3. Так или иначе "исправленные вещи" после начальной загрузки... Я изучил это прежде, но я понятия не имею, как удаться что модуль a /dev/lircX уже не говоря о подкачивают их.

Я открыт для чего-либо. Необходимо смочь видеть то, что я после.

1
задан 4 July 2015 в 13:38

1 ответ

7.3.3.6. Устройство, называющее изменения порядка случайным образом в честь перезагрузки

, Это - то, вследствие того, что Udev, дизайном, обрабатывает uevents и загружает модули параллельно, и таким образом в непредсказуемом порядке. Это никогда не будет “fixed”. Вы не должны полагаться на имена устройств ядра, являющиеся стабильным. Вместо этого создайте свои собственные правила, которые делают символьные ссылки со стабильными именами на основе некоторых стабильных атрибутов устройства, таких как порядковый номер или вывод различных * _id утилиты установленный Udev. Посмотрите Раздел 7.4, “Managing Devices” и Раздел 7.5, Сеть “General Configuration” для примеров.

Источник: Linux С нуля: 7.3. Обзор Устройства и Модуля, Обрабатывающего

<час>
  1. Проверка на атрибуты целевого узла и его родительских узлов

    udevadm info -a /dev/lirc1
    
  2. Проверка, переменные среды целевого узла (что-то другое, что может использоваться для соответствия правила)

    udevadm info /dev/lirc1
    
  3. Создают новый файл

    sudo nano /etc/udev/rules.d/99-lirc-symlinks.rules

    #2 or only setup link for usb device
    ACTION=="add", KERNEL=="lirc?", ATTRS{idVendor}=="1934", ATTRS{idProduct}=="5168", SYMLINK+="lirc90"
    

    lirc90 правил UDEV, который должен далеко быть достигнут так или иначе.

  4. правила Перезагрузки

    sudo udevadm control -R
    
  5. запрос события Trigger, повторно включите USB-устройство, или Вам, возможно, понадобится перезагрузка.

    sudo udevadm trigger
    
  6. Установка Ваше приложение для использования /dev/lirc90

Примечания:

  • существуют много много способов реализовать правило для того же устройства. Таким образом, я могу записать другой для аппаратного ключа USB:

    ACTION=="add", KERNEL=="lirc?", DRIVERS="mceusb", SYMLINK+="lirc90"
    
  • KERNELS, SUBSYSTEMS, DRIVERS, ATTRS ищут devpath вверх соответствие. см. man udev.

1
ответ дан 7 December 2019 в 16:14

Другие вопросы по тегам:

Похожие вопросы: