lirc_serial 模块缺失 18.04+

lirc_serial 模块缺失 18.04+

在 Unbuntu 20.04 上,我想配置 lirc 以通过串行端口进行红外发射。但最新的 Linux 内核似乎缺少必要的“lirc_serial.ko”模块(至少从 Linux 4.15 开始就缺少该模块)。

我发现了许多关于使用串行端口配置 lirc 的说明,但它们似乎都非常过时,并且依赖于“lirc_serial.ko”的存在。

如何将必要的“lirc_serial.ko”模块添加到我的系统?我找到了一个“serial_ir.ko”模块,但我认为它不一样。我必须自己构建 lirc 吗?

答案1

在最近的 Ubuntu 版本中,lirc 的大部分功能已被移至内核。

因此,您需要卸载 lirc 并确保已ir-keytable安装。然后,输入terminalman ir-keytable开始。

插入远程加密狗,然后在 中terminal输入ir-keytable,这将为您提供入门所需的基本信息。然后使用ir-keytable -t获取/查看您的扫描代码。您将在 中保存一个键盘映射/etc/rc_keymaps(您可以从 中获取预建的键盘映射文件/lib/udev/rc_keymaps/),并/etc/rc_maps.cfg根据需要进行编辑。

如果你用 Google 搜索,ir-keytable你会找到很多可以帮助你的操作方法文章。请参阅http://madaboutbrighton.net/articles/2015/remote-control-media-player-without-lirc-using-ir-keymap

答案2

感谢 Arch Linux 的朋友们,我成立在最新的内核(从 4.9 开始)中,该选项lirc_serial已被删除,取而代之的是serial_ir

我必须将以下文件添加/etc/modprobe.conf/serial-ir.conf到配置中serial_ir以使用所需端口,其内容如下:

options serial_ir irq=4 io=0x3f8     #COM1 equivalent, /dev/ttyS0

install serial_ir /usr/bin/setserial /dev/ttyS0 uart none;/usr/sbin/modprobe --ignore-install serial_ir
  1. options行定义要使用的端口(例如 COM1、/dev/ttyS0)
  2. install行指示内核放弃相关端口的控制

只需创建以下内容serial_ir即可加载模块:/etc/module-load.d/serial_ir.conf

serial_ir

或者

lircv10+ 中,通过将以下内容添加到文件lirc_options.conf

[modinit]
code = /usr/sbin/modprobe serial_ir

或者在lircv9 中,通过扩展文件TRANSMITTER_MODULE中的变量hardware.conf,如下所示:

TRANSMITTER_MODULES="...serial_ir"

...文件中已指定的其他模块在哪里。

相关内容