草庐IT

android - Android 中 sysfs 中 i2c 文件的 SELinux 规则

我为我的一个I2C设备创建了内核驱动程序作为可加载模块。驱动程序在I2C对应的文件夹(/sys/devices/i2c/i2c-0/0-0008/)下创建了几个sysfs文件,通过new_device文件(/sys/devices/i2c/i2c-0/new_device).Lollipop强制执行SELinux,因此我需要为需要访问设备的sysfs文件的应用程序创建规则。这些主要是系统应用程序(它们属于AndroidSELinux中platform_app的定义)。问题是任何应用程序域中的应用程序都不允许写入sysfs文件:neverallow{appdomain-bluetooth

Android 通过 sysfs 获取以毫安为单位的充电率

我正在开发一个信息性Android应用程序,我想在设备充电时读取以毫安为单位的充电率。我见过其他可以执行此操作的应用程序,例如Ampere。我相信信息应该在目录/sys/class/power_supply/battery中这些文件中的哪些与完成此操作相关,我如何从中计算以mA为单位的充电率? 最佳答案 根据linuxkerneldoc,您可以从/sys/class/power_supply/battery/current_now读取充电率。该值以µA为单位,因此您应该将其缩放1000。负值表示设备正在充电。

linux - 使用 NodeJS 在 Linux 上捕获全局键盘事件

我有一台运行Node的headlessDebianARM机器。该设备具有使用gpio-keys映射到普通键盘事件的硬按钮。我的目标是从硬按钮以及Node.js中任何附加的键盘捕获全局事件。我需要一个解决方案,它可以独立于运行它的终端捕获keydown/keyup事件(它将通过SSHsession运行)。它不一定是跨平台的,只要它能在ARMDebian上运行我就接受。我想象一些东西直接从任何sysfs属性读取是必要的,但这不是必需的。谁能帮我解决这个问题?我被困了一段时间。 最佳答案 设备文件之一/dev/input/event*将代

linux - 使用 NodeJS 在 Linux 上捕获全局键盘事件

我有一台运行Node的headlessDebianARM机器。该设备具有使用gpio-keys映射到普通键盘事件的硬按钮。我的目标是从硬按钮以及Node.js中任何附加的键盘捕获全局事件。我需要一个解决方案,它可以独立于运行它的终端捕获keydown/keyup事件(它将通过SSHsession运行)。它不一定是跨平台的,只要它能在ARMDebian上运行我就接受。我想象一些东西直接从任何sysfs属性读取是必要的,但这不是必需的。谁能帮我解决这个问题?我被困了一段时间。 最佳答案 设备文件之一/dev/input/event*将代

c - 在 C 中写入 Linux sysfs 节点

在shell中,我可以像这样激活系统上的LED:#echo1>/sys/class/leds/NAME:COLOR:LOCATION/brightness我想在C程序中做完全相同的事情,但我还没有找到一个简单的例子来说明如何完成这个? 最佳答案 像打开文件一样打开sysfs节点,写入'1',然后再次关闭。例如:#include#includevoidenable_led(){intfd;chard='1';fd=open("sys/class/leds/NAME:COLOR:LOCATION/brightness",O_WRONLY

c - 在 C 中写入 Linux sysfs 节点

在shell中,我可以像这样激活系统上的LED:#echo1>/sys/class/leds/NAME:COLOR:LOCATION/brightness我想在C程序中做完全相同的事情,但我还没有找到一个简单的例子来说明如何完成这个? 最佳答案 像打开文件一样打开sysfs节点,写入'1',然后再次关闭。例如:#include#includevoidenable_led(){intfd;chard='1';fd=open("sys/class/leds/NAME:COLOR:LOCATION/brightness",O_WRONLY

linux - sysfs_create_file() 和 sysfs_create_group() 有什么区别?

两个函数的原型(prototype):intsysfs_create_group(structkobject*kobj,conststructattribute_group*grp)intsysfs_create_file(structkobject*kobj,conststructattribute*attr)在我看来,这两个函数都会在sysfs的kobj->name目录下创建属性。我能找到的唯一区别是,groupfunc可以一次创建一组属性,而filefunc只有一个属性。那么还有其他的区别吗?还是我对功能的理解有误? 最佳答案

linux - sysfs_create_file() 和 sysfs_create_group() 有什么区别?

两个函数的原型(prototype):intsysfs_create_group(structkobject*kobj,conststructattribute_group*grp)intsysfs_create_file(structkobject*kobj,conststructattribute*attr)在我看来,这两个函数都会在sysfs的kobj->name目录下创建属性。我能找到的唯一区别是,groupfunc可以一次创建一组属性,而filefunc只有一个属性。那么还有其他的区别吗?还是我对功能的理解有误? 最佳答案

linux - 一般而言,在 ucLinux 上,ioctl 是否比写入/sys 文件系统更快?

我有一个正在使用的嵌入式系统,它目前使用sysfs来控制某些功能。但是,如果可能的话,我们希望加快某些功能。我发现这个子系统也支持ioctl接口(interface),但在重写代码之前,我决定搜索一下一般来说哪个接口(interface)(在ucLinux上)更快:sysfs或ioctl。是否有人充分了解这两种实现方式,以便让我大致了解每种实现方式的开销差异?我正在寻找通用信息,例如“ioctl更快,因为您已经从函数调用中删除了文件层”。或者“它们大致相同,因为sysfs有一个非常简单的界面”。2013年10月24日更新:我目前做的具体案例如下:intfd=open("/sys/pow

linux - 一般而言,在 ucLinux 上,ioctl 是否比写入/sys 文件系统更快?

我有一个正在使用的嵌入式系统,它目前使用sysfs来控制某些功能。但是,如果可能的话,我们希望加快某些功能。我发现这个子系统也支持ioctl接口(interface),但在重写代码之前,我决定搜索一下一般来说哪个接口(interface)(在ucLinux上)更快:sysfs或ioctl。是否有人充分了解这两种实现方式,以便让我大致了解每种实现方式的开销差异?我正在寻找通用信息,例如“ioctl更快,因为您已经从函数调用中删除了文件层”。或者“它们大致相同,因为sysfs有一个非常简单的界面”。2013年10月24日更新:我目前做的具体案例如下:intfd=open("/sys/pow