问题标签 [sysfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
59833 浏览

linux - 在 Linux 中,有没有办法找出哪个 PCI 卡插入了哪个 PCI 插槽?

在 Linux 中,有没有办法找出哪个 PCI 卡插入了哪个 PCI 插槽?

/sys/bus/pci/devices/ 包含许多不是卡的设备(网桥、CPU 通道等),我无法在设备目录中找到有关插槽卡映射的任何信息。

0 投票
1 回答
1327 浏览

linux-kernel - 内核模块将许多设备属性导出到用户空间

我正在使用 I2C 设备的内核驱动程序,到目前为止,我一直在使用 sysfs DEVICE_ATTR 帮助程序提供简单的属性。现在我需要列出一长串可用的属性,例如 /sys/bus/i2c/device/.../param0、.../param1 等,但为每个属性编写一个函数似乎效率低下,甚至可能是错误使用 sysfs 系统。例如:

设备上的值经常变化,读取它们的成本很高,因此不断读取它们或使用一个函数读取所有这些值并不是真正的选择。我有点 C 新手,所以也许有一些完全明显的东西我错过了,但是你可以在 sysfs 显示回调上使用包装器来获取参数吗?或者我应该为此使用更好的系统吗?我查看了 debugfs ,似乎我需要为它维护内存中的值。

0 投票
1 回答
1625 浏览

linux-kernel - 从用户空间访问 GPIO

我正在尝试从用户空间访问英特尔(cavecreek)gpio 控制器。但是我在尝试回显到 /sys/class/gpio/export 时得到:“NO such device”错误:

错误消息似乎表明我需要将设备连接到 gpio。但是文档似乎没有提到这一点。

据我所知,从转储 /sys/kernel/debug/gpio 可以看出,没有任何保留。我有一个连接到 gpio 引脚的 i2c 多路复用器。

以下是有关我的内核和配置的更多信息

内核是 3.14

这是相关的配置设置: CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y

CONFIG_GPIOLIB=y

CONFIG_GPIO_DEVRES=y

CONFIG_GPIO_ACPI=y

CONFIG_DEBUG_GPIO=y

CONFIG_GPIO_SYSFS=y

0 投票
2 回答
9301 浏览

android - Android 上 /sys/class/power_supply 中的多个电池条目

我正在尝试从 NDK 应用程序读取电池信息。我知道实现这一点的唯一方法是读出这些值/sys/class/power_supply。我的困难是我找到了多个“电池”类型的条目,但我不知道该使用哪一个。

在带有 KitKat 4.4.4 的 Nexus 10 上,我看到:

所有三个都使用 type=Battery。例如:

在 AndroidBatteryManager代码中,他们只是遍历电池设备并获取第一个具有所需条目的设备(http://androidxref.com/4.4.4_r1/xref/system/core/healthd/BatteryMonitor.cpp)。但是,在我的 Nexus 10 上,它们具有不同的值。例如,对于ds2784-fuelgauge/voltage_nowsmb347-battery/voltage_now

ds2784-fuelgauge/voltage_now似乎定期更新(例如,当我开始计算繁重的任务时它会改变),但smb347-battery/voltage_now似乎是固定的。当我比较ds2784-fuelgauge/current_now和时,我看到了类似的效果smb347-battery/current_now

我的问题是:

  1. 为什么这里有多个 type=battery 条目?
  2. 我如何以一般方式区分它们?
  3. 我应该使用哪一个?

编辑

  • voltage_now修复了文件名中的错字
  • 强调所有三个设备的 type=Battery
0 投票
1 回答
1791 浏览

c - Sysfs GPIO 电平触发中断

我是一个新手,试图在嵌入式 linux 板上获得电平触发中断。我正在使用 poll() 来等待中断事件。我成功地获得了边缘触发的中断。

如何获得电平触发的中断?我将边缘设置为什么?

0 投票
1 回答
2906 浏览

linux-kernel - 如何计算电池充电结束的剩余时间

我有以下输出:

我想计算直到电池充电结束的剩余时间。我可以这样做:(POWER_SUPPLY_CHARGE_FULL - POWER_SUPPLY_CHARGE_NOW)/POWER_SUPPLY_CURRENT_NOW?对于此输出,剩余时间将为:(4042000-3916000) / 904000 = .13938053097345132743 小时或 8 分钟。这是计算充电结束前剩余时间的正确公式吗?

0 投票
1 回答
259 浏览

linux - 没有 sysfs/debugfs 文件系统的 Linux

我需要使用没有任何 sysfs/debugfs 的系统(这是一个强要求,无法更改)。

我需要了解如何在没有此文件系统的情况下设置 Linux。

例如在配置各种 omap PM(电源管理功能)时,我需要设置以下内容:

例如,您是否认为可以将其设置为默认值 1(我不需要在运行时更改该值)?如何做呢 ?

0 投票
0 回答
133 浏览

android - 如何将挂载的文件系统与 Linux 上的 USB 设备匹配?

以编程方式从已安装的文件系统匹配到 USB 设备和“usbstorage”接口的正确方法是什么?

我怀疑 sysfs 遍历是要走的路,但 sysfs 非常疯狂。

具体来说,我有一个 Android 系统,我的 U 盘是从 /dev/block/vold/8:1 安装的。(那是什么,音量管理器?)

0 投票
1 回答
2352 浏览

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

我为我的一个 I2C 设备创建了内核驱动程序作为可加载模块。(/sys/devices/i2c/i2c-0/0-0008/)驱动程序通过 new_device 文件使用实例化在 I2C 对应文件夹下创建几个 sysfs文件(/sys/devices/i2c/i2c-0/new_device)

Lollipop 强制执行 SELinux,因此我需要为需要访问设备的 sysfs 文件的应用程序创建规则。这些大多是系统应用程序(它们属于 Android SELinux 中 platform_app 的定义)。问题是不允许任何应用程序域中的应用程序写入 sysfs 文件:

所以我决定专门为我的设备创建文件上下文:

结果很有趣:默认驱动程序文件和文件夹(如 name 和 uevent 等)获得了正确的上下文,但不是由 I2C 驱动程序的 sysfs 部分创建的文件:

我正在寻求如何解决这个问题的帮助:如果我仍然想将 sysfs 上下文转换为 sysfs_mydeviceic 以用于其余文件,那么该怎么做?还是有其他方法可以让应用程序写入 sysfs 文件?

0 投票
3 回答
1850 浏览

linux - Linux 驱动程序和 Sysfs

因此,我一直在阅读 Linux API(系统调用和 libc)以及设备 ioctls,通过和create(dev_name)文件系统调用 ioctls。所以这是我的问题:ioctl(device_file_handle)sysfs

  1. sysfs 是否“应该”是只读的,其中各种内核参数都被公开以供读取?还是它们“应该”也是可写的?

  2. 将来是否需要所有驱动程序来公开接口sysfs

  3. 如果上面的答案是正确的,那么我们真的会不再需要 IOCTL 调用吗?因为要让驱动程序做某事,我们需要做的就是更改 sysfs 中某些文件中的值,例如,要在驱动程序 D1 上调用一个名为 DO_SOMETHING 的 ioctl,我们将这样做:

    /li>
  4. 是否有任何计划将内核 API(即 syscalls 和 libc )公开为 sysfs 文件,例如,

    这样做是个好主意吗?

  5. Windows中是否有类似系统的sysfs?或者任何正在进行的项目?

  6. 通过 http 公开核心系统调用、libc 和任何新库怎么样?(只是想就这个想法进行坦率的讨论)