上层通过软件对三色灯进行控制的时候,出现了一些问题,上层认为他们没有权限对这个节点进行写值操作,需要在init.rc
这个文件所在的路径是在system/core/rootdir/init.rc,在这个文件中,有几行代码与如下类似:
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/red/blink
这两行代码,是红灯节点中的brightness和blink这两个属性的权限。
在Carbide项目中,这个问题,上层给出的现象是只能操作红灯,并不能控制蓝灯和绿灯,而在通过adb shell往节点中写值的时候,是可以达到闪烁的效果的。因此,可以知道的是,这是给上层的节点权限不够造成的,导致上层没有权限进行控制。
需要修改这个问题,则需要将green和blue都加上blink这个system的权限才可以,也就是添加如下两行:
chown system system /sys/class/leds/green/blink
chown system system /sys/class/leds/blue/blink
经测试,可行.