Linux 正在创建设备节点,但未链接设备驱动程序

Linux 正在创建设备节点,但未链接设备驱动程序,linux,char,kernel,driver,device,Linux,Char,Kernel,Driver,Device,我已经编写了一个简单的设备驱动程序。仅加载模块“我的设备文件”将被创建。但是当我的应用程序试图打开设备文件时,我得到一个错误-1(不允许操作)。当我试图通过执行命令查看设备特征时: $udevadm info -a -p /sys/class/char/<devname> $udevadm info-a-p/sys/class/char/ 我得到输出: KERNEL=="<devname>" SUBSYSTEM=="char" DRIVER==" " KERNE

我已经编写了一个简单的设备驱动程序。仅加载模块“我的设备文件”将被创建。但是当我的应用程序试图打开设备文件时,我得到一个错误
-1(不允许操作)
。当我试图通过执行命令查看设备特征时:

 $udevadm info -a -p /sys/class/char/<devname>
$udevadm info-a-p/sys/class/char/
我得到输出:

KERNEL=="<devname>"
SUBSYSTEM=="char" 
DRIVER==" "
KERNEL==“”
子系统==“字符”
驱动程序==“”
显然,我的设备节点没有链接到设备驱动程序

谁能帮我解决这个问题


谢谢

您检查了创建的设备节点udev的权限了吗

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

编辑


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

非常感谢您的回复。我以root用户身份运行。创建的设备节点的权限为crw rw---。在不使用chmod的情况下,我应该如何更改权限。当我为我的设备使用udevadm info时,可能是什么原因导致驱动程序为空,即“”。