Android – 读取“设备属性”失败,错误“无效长度”
作者:互联网
我正在使用Android作为操作系统的TI OMAP平台上工作.对于一个UseCase,我们必须切换设备中的一个LED. LED具有多个“设备属性”,并且从应用层[.java],我们想要读取“设备属性”.
当我们在adb提示符上运行cat命令时:
# cat /sys/devices/device_name/device_attribute
# device_attribute:invalid length
我们得到错误“无效长度”.因此,我想知道是否有一种方法可以读取“设备属性”,以便App Layer也可以访问它.
我在另一个论坛http://android.modaco.com/topic/312770-possible-solution-for-lack-of-notification-light-developers-needed上发现了一个类似的问题,但它也没有答案.
谢谢你的回复!
解
设备只有“set_device_attribute”,但由于“get_device_attribute”丢失,我们在发出“read”命令时发出“无效长度”问题.
我添加了一个名为的新API:
static ssize_t get_device_attribute(struct device *dev, struct device_attribute *attr,
char *buf)
{
.........................
.........................
.........................
}
并更新了设备属性
static DEVICE_ATTR(device_property, 0777,get_device_attribute, set_device_attribute);
解决方法:
无效长度通常表示目录.尝试cd到最后一个“device_attribute”.
Alternativeley你也可以在“/ proc”中搜索设备信息.
标签:android,linux,linux-kernel,linux-device-driver,device-driver 来源: https://codeday.me/bug/20190704/1379549.html