0

我写了一个简单的设备驱动程序。仅加载我的设备文件正在创建的模块。但是当我的应用程序尝试打开设备文件时,我收到错误消息-1 (operation not permitted)。当我尝试通过执行命令查看设备特性时:

 $udevadm info -a -p /sys/class/char/<devname>

我得到输出:

KERNEL=="<devname>"
SUBSYSTEM=="char" 
DRIVER==" "

所以显然我的设备节点没有链接到设备驱动程序。

任何人都可以帮我解决这个问题。

谢谢

4

1 回答 1

2

您是否检查了 udev 创建的设备节点的权限?

Udev 管理这些设备节点的权限,除非您以 root 身份运行,否则很可能不允许您从/向设备节点读取/写入。

编辑

如果您以 root 身份运行,则设备节点上的权限将不是一个因素。请向我们展示 /proc/devices 的内容、输出ls -la /dev/my-device-node您的代码

于 2012-05-22T08:12:44.073 回答