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时,可能是什么原因导致驱动程序为空,即“”。