LIRC无法发送(不发送:硬件不支持发送)


11

我正在尝试使用Raspberry Pi 2和红外护罩(请参阅此处:http : //bit.ly/29iC0lr)来控制我家中的IR HVAC单元。

我遵循了IR防护屏产品页面上的说明,并从其他一些地方获得了提示,并且从HVAC遥控器接收信号非常有效。我能够创建一个.conf文件,并且不喜欢使用LIST命令时看到的配置按钮,但是当我尝试使用SEND_ONCE时,会收到以下响应:

irsend: hardware does not support sending

我花了几个小时尝试各种操作系统(包括piCore 6.1-v7和Raspbian Jesse 2016-05-27和2015-11-21)和两个版本的LIRC(0.9.0和0.9.4),但始终得到相同的结果。

我确认红外LED正在使用数码相机和手动操作GPIO引脚的python脚本正常工作。

谁能指出我正确的方向来解决这个问题?有没有办法找出为什么 LIRC似乎认为我的硬件没有发送器?

提前致谢。

注意:我的/boot/config.txt包含针对lirc-rpi的这一行

dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17

[EDIT 7-7-2016] 这是一些其他信息,包括此页面上“疑难解答”部分中几个命令 的输出:http : //aron.ws/projects/lirc_rpi/的输出cat /sys/kernel/debug/gpio看起来不正确,但我不知道不知道该怎么办。:-\

我在/etc/rc.local中有以下行:

modprobe lirc_rpi gpio_in_pin=18 gpio_out_pins=17

我还在/ etc / modules中尝试了类似的代码,但是没有任何区别。

pi@raspberrypi:~ $ ls -l /dev/lirc*
crw-rw---- 1 root video 244, 0 Jul  7 11:27 /dev/lirc0
lrwxrwxrwx 1 root root      21 Jul  7 11:27 /dev/lircd -> ../var/run/lirc/lircd

pi@raspberrypi:~ $ dmesg | grep lirc
[    5.219904] lirc_dev: IR Remote Control driver registered, major 244
[    5.230067] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[    6.196796] lirc_rpi: auto-detected active low receiver on GPIO pin 18
[    6.197243] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
[    6.197248] lirc_rpi: driver registered!


pi@raspberrypi:~ $ sudo cat /sys/kernel/debug/gpio
GPIOs 0-53, platform/3f200000.gpio, pinctrl-bcm2835:
 gpio-35  (?                   ) in  hi
 gpio-47  (?                   ) out lo


pi@raspberrypi:~ $ cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
 16:          0          0          0          0   ARMCTRL  16 Edge      bcm2708_fb dma
 20:       1500          0          0          0   ARMCTRL  20 Edge      DMA IRQ
 32:     145314          0          0          0   ARMCTRL  32 Edge      dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
 49:          0          0          0          0   ARMCTRL  49 Edge      3f200000.gpio:bank0
 50:          0          0          0          0   ARMCTRL  50 Edge      3f200000.gpio:bank1
 65:         26          0          0          0   ARMCTRL  65 Edge      3f00b880.mailbox
 66:          2          0          0          0   ARMCTRL  66 Edge      VCHIQ doorbell
 75:          1          0          0          0   ARMCTRL  75 Edge
 77:        120          0          0          0   ARMCTRL  77 Edge      DMA IRQ
 82:        192          0          0          0   ARMCTRL  82 Edge      mmc0
 83:          5          0          0          0   ARMCTRL  83 Edge      uart-pl011
 96:          0          0          0          0   ARMCTRL  96 Edge      arch_timer
 97:       3798       2724       1275       1139   ARMCTRL  97 Edge      arch_timer
FIQ:              usb_fiq
IPI0:          0          0          0          0  CPU wakeup interrupts
IPI1:          0          0          0          0  Timer broadcast interrupts
IPI2:       2225       2478       3697       2901  Rescheduling interrupts
IPI3:          7          6          8          9  Function call interrupts
IPI4:          3          5          0          1  Single function call interrupts
IPI5:          0          0          0          0  CPU stop interrupts
IPI6:          0          0          0          0  IRQ work interrupts
IPI7:          0          0          0          0  completion interrupts

pi@raspberrypi:~ $ lsmod
Module                  Size  Used by
cfg80211              419759  0
rfkill                 16659  2 cfg80211
8192cu                528485  0
evdev                  10226  1
snd_bcm2835            19739  0
bcm2835_gpiomem         3023  0
snd_pcm                74833  1 snd_bcm2835
snd_timer              18164  1 snd_pcm
lirc_rpi                6638  0
snd                    52116  3 snd_bcm2835,snd_timer,snd_pcm
lirc_dev                8169  1 lirc_rpi
rc_core                16910  1 lirc_dev
uio_pdrv_genirq         2966  0
uio                     8228  1 uio_pdrv_genirq
ipv6                  341892  30

您可以编辑问题并包括您与LIRC相关的条目/boot/config.txt吗?
2016年

好的,我更新了问题。
gq9000 '16

来自lirc_rpi项目页面的一些故障排除信息的另一个更新。看来模块未正确分配gpio引脚。关于如何解决该问题的任何想法?
gq9000 '16

您如何确切地确认IR正常工作?您能分享这个python脚本吗?我有同样的问题,我的配置似乎还可以,通过mode2可以正常读取,但是恼人的还是给了我这个错误。
m1gu3l

我没有该脚本了,但是可能是这样的:rpiblog.com/2012/09/… 只需更改此脚本以使用输出引脚(17),运行它并指向数码相机或手机相机在LED上。您应该在LED的中心看到微弱的白光闪烁。
gq9000 '16

Answers:


10

对我来说,此附加步骤对您有所帮助:
编辑/etc/lirc/lirc_options.conf并设置
driver = devinput

driver = default
,然后重新启动或重新启动lircd服务


4

好的,我找到了答案,或者是比我更了解Linux的人(/raspberrypi//users/49162/jonathan-dieter)找到了答案。:)

他建议不要在/ etc / modules或/etc/rc.local中加载lirc_rpi模块,而是建议在/etc/modprobe.d/中添加一个新的配置文件(在我的情况下为/etc/modprobe.d/ir-remote.conf)。 ),并包含以下内容:

options lirc_rpi gpio_in_pin=18 gpio_out_pin=17

关于这与众不同的原因,我最好的猜测是在/ etc / modules或rc.local中的命令运行之前,模块正在使用默认设置加载。由于已经加载,系统仅忽略了我的后续尝试,并且out引脚从未正确配置(这在Raspbian Jessie BTW下)。


关于HVAC单元的另一条注释可能会有所帮助。我无法使用irrecord从遥控器保存命令。看来HVAC系统的工作方式与电视或VCR有所不同。

这两页(http://www.instructables.com/id/Reverse-engineering-of-an-Air-Conditioning-control/?ALLSTEPShttp://absurdlycertain.blogspot.com/2013/03/lirc-raspi -remote-control-configuration.html尤其是前两个注释)帮助我弄清楚了如何记录mode2的原始输出,对其进行规范化,然后在不进行发送的情况下进行传输。


1

在遵循了本指南之后:http : //www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_Control_Expansion_Board我遇到了与该问题所述相同的问题:

irsend: hardware does not support sending

我尝试添加此行:

options lirc_rpi gpio_in_pin=18 gpio_out_pin=17

在/etc/modprobe.d/ir-remote.conf中,但这也无济于事。

当我使用以下命令启动LIRC守护程序时:

sudo lircd --device /dev/lirc0

有效!设备必须与/etc/lirc/hardware.conf文件中配置的相同。因此,步骤如下:

  1. 请遵循以下指南:http : //www.raspberrypiwiki.com/index.php/Raspberry_Pi_IR_Control_Expansion_Board
  2. 当您进入“ IR传输功能”部分时,指向第5点,您将收到错误消息: irsend: hardware does not support sending
  3. 然后在控制台中运行以下命令:sudo lircd --device /dev/lirc0启动LIRC守护程序
  4. 现在运行 irsend SEND_ONCE /home/pi/lircd.conf KEY_VIDEO_PREV

我有相同的结果。默认安装不起作用,但可以与您提供的命令一起使用。您对为什么这是真的有任何了解吗?我想修改init.d,以便在启动时运行正确的命令。
tim11g
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.