其他分享
首页 > 其他分享> > Android – 读取“设备属性”失败,错误“无效长度”

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