Драйвер класса USB-принтера ядра Linux

Драйвер класса USB-принтера ядра Linux

Я пытаюсь обновить демон CUPS на моем QNAP NAS, который работает под управлением *nix. Вся система ОС загружается на RAMDISK при загрузке NAS, поэтому я придумал скрипт, который запускается при запуске и внедряет мой собственный код. Теперь моя проблема в том, что мне нужно запустить действие ядра, чтобы драйвер принтера USB вызвал скрипт cupsd.sh.

По данным производителя:

Мы изменили "USB Printer Device Class driver" ядра Linux для выдачи сигнала/сообщения при подключении/отключении USB-принтера. После того, как демон picd получит сигнал/сообщение, он вызовет cupsd.sh для add_printer/del_printer .

Есть идеи, как этого добиться?

решение1

Обычно это делается udev в Linux, однако я не уверен, использует ли его QNAP. Другой альтернативой является mdev из busybox. Проверьте свою систему, чтобы узнать, какой подход она использует, а затем прочтите соответствующую документацию.

В целом это работает следующим образом:

  • ядро генерируется даже при подключении нового устройства,
  • демон пользовательского пространства (udev или mdev) прослушивает эти события,
  • событие проходит через цепочку правил, и если совпадение найдено, то предпринимается соответствующее действие,
  • действием может быть выполнение вашего пользовательского сценария.

Связанный контент