Linux 内核 USB 打印机设备类驱动程序

Linux 内核 USB 打印机设备类驱动程序

我正在尝试更新 QNAP NAS 上的 CUPS 守护程序,它运行 *nix 版本。NAS 启动时,整个操作系统都会加载到 RAMDISK 上,因此我编写了一个在启动时运行并注入我自己的编码的脚本。现在我的问题是我需要触发内核操作,以便 USB 打印机驱动程序调用 cupsd.sh 脚本。

据制造商称:

我们修改了Linux内核的“USB Printer Device Class driver”,在插入/拔出USB打印机时发出信号/消息。守护进程picd收到信号/消息后,会调用cupsd.sh来add_printer/del_printer。

有什么想法我可以实现这个吗?

答案1

通常,这是由 Linux 中的 udev 完成的,但我不确定 QNAP 是否使用它。另一种选择是 busybox 中的 mdev。检查您的系统以查看它使用哪种方法,然后阅读相应的文档。

通常它的工作方式如下:

  • 即使你插入新设备,内核也会生成
  • 用户空间守护进程(udev 或 mdev)监听这些事件,
  • 事件经过一系列规则,如果发现匹配,则采取相应的行动,
  • 该操作可以是执行您的自定义脚本。

相关内容