无法使用官方驱动程序从嵌入的Linux上获取IR传感器的数据



i在纳米型NEO AIR BOARD上运行一个Linux图像(用BuildRoot和4.11.2内核制造),直接在IR引脚上插入了IR传感器。我想使用传感器从IR遥控器中获取数据。

我遵循此处找到的过程,具有相同的驱动程序,并得到了相同的结果,但是我无法从/dev/input/eventX获取任何数据,也无法让我的遥控器出现在/proc/bus/input/devices中(我尝试使用远程控制发送数据插入驱动程序,或在驾驶员内置时启动时,但显然没有起作用,我没有找到太多的信息)。

我也尝试了LIRC和EVTEST/INRECORD,但我仍然无法获得任何数据,我相信问题在其他地方。

我用示波器测试了传感器和遥控器,因此我知道传感器正在从遥控器中获取框架。我也很确定这不是驾驶员方面的协议不匹配。

所以我有两个问题:

  • 这里的问题在哪里,当我运行cat /dev/input/eventX时我什么都不能得到任何东西?
  • 我的遥控器应该在/proc/bus/input/devices中显示吗?是否有一个我应该知道的配对过程?

如果这些问题是琐碎的(我以前从未在IR上工作过),请原谅我。

编辑

我设法让我的遥控器与制造商提供的旧图像之一(内核3.4.39-H3)一起工作,我注意到了:

  • 我正在使用的驱动程序不起作用(它永远不会进入读取FIFO的中断功能,与FIFO关联的物理地址始终在0)
  • 旧图像的驱动程序在其init函数(硬编码)中登记以下输入设备,然后我用它从遥控器获取数据(使用cat /dev/input/event1):
   pi@nanopi-neo-air:〜$ cat/proc/proc/bus/intup/设备    ...    I:BUS = 0019供应商= 0001产品= 0001版本= 0100    n:name =" sunxi-ir"    P:Phys =远程/输入1    S:sysfs =/设备/虚拟/输入/输入1    U:uniq =    h:handlers = sysrq kbd event1 cpufreq_interactive    B:prop = 0    B:EV = 100003    b:key = fffffff fffffff ffffffff fffffffffffffff fffffff ffffffff fffffff ffffffff ffffffffe

所以现在我想知道我是否也应该在使用的驱动程序中注册该设备,如果是这样,我应该如何做?

我的同事之一解决了问题,问题在DTS中。
sun8i-h3-nanopi-neo-air.dts中,仅激活IR:

&ir {
    status = "okay";
};

还不够,IR的引脚也必须重新定义:

​&ir {
​    pinctrl-names = "default";
​    pinctrl-0 = <&ir_pins_a>;
​    status = "okay";
​};

希望这对某人有帮助。

相关内容

  • 没有找到相关文章

最新更新