udev规则里,检测到gpio导出,则修改其产生的gpio文件夹里的文件权限
时间: 2023-09-23 17:11:12 浏览: 54
可以编写如下的udev规则来实现检测到GPIO导出时修改其产生的GPIO文件夹里的文件权限:
1. 创建一个udev规则文件,例如`/etc/udev/rules.d/99-gpio-permissions.rules`。
2. 在该文件中添加以下规则:
```
SUBSYSTEM=="gpio", ACTION=="export", KERNEL=="gpio*", RUN+="/bin/chmod 0666 /sys/class/gpio/%k/*"
```
3. 保存文件并退出。
这个规则将会在检测到GPIO导出时,自动运行`chmod 0666`命令,将GPIO文件夹里的所有文件权限修改为可读可写。这样,就可以让普通用户也能够对GPIO进行控制。
需要注意的是,udev规则在系统启动时会被加载,因此修改规则后需要重启系统才能使新规则生效。另外,修改GPIO文件夹的权限可能会带来系统安全风险,请谨慎操作。
相关问题
创建一个udev的规则文件,使普通用户可以访问gpio
好的,以下是创建udev规则文件的步骤:
1. 打开终端并使用以下命令创建一个新的udev规则文件:
```sudo nano /etc/udev/rules.d/99-gpio.rules```
这将打开一个新的文件,我们将在其中创建我们的规则。
2. 在文件中添加以下行:
```
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio; chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio'"
```
这个规则将把gpio文件夹的所有权转移到gpio组,并授予该组的成员读写访问权限。这样,普通用户就可以访问GPIO设备了。
3. 保存文件并退出nano编辑器。
4. 重新加载udev规则,以便系统可以识别新的规则:
```sudo udevadm control --reload```
这将重新加载udev规则,以便系统可以识别新的规则。
现在,普通用户就可以访问GPIO设备了。请注意,有些GPIO设备可能需要额外的设置才能正常工作。
是不是一所有驱动只要申请了input设备,都会被udev检测到?
不是所有驱动程序都能够被udev检测到。udev是Linux下的一种设备管理机制,它主要用于监测系统硬件的变化,并在需要时加载/卸载相应的驱动程序。udev能够检测到的驱动程序必须符合一定的规范和标准,才能被系统所识别和加载。
在Linux系统中,输入设备驱动程序需要遵循input子系统提供的标准接口和规范,才能被系统所识别和加载。这些标准接口包括input_dev、input_handler、input_polled_device等。只有符合这些标准接口的驱动程序,才能够被系统识别为一个input设备,并被udev所监测。
因此,虽然所有的驱动程序都需要申请一个input设备,但只有符合标准接口和规范的驱动程序才能够被udev检测到。对于不符合标准接口和规范的驱动程序,即使申请了input设备,也不一定能够被系统所识别和加载。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)