设备节点已创建但设备驱动程序未链接

时间:2012-05-22 05:27:00

标签: linux char kernel driver device

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

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

我得到了输出:

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

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

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

修改

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