小编Pau*_*nov的帖子

open()返回"没有这样的设备"错误,但是有这样的设备(linux)

我正在尝试使用一个有点旧的DAQ,并且不得不跳过一些箍来获得一个旧的(大约2004年)设备驱动程序来编译它(DTI-DT340 Linux-DAQ-PCI).

我已经达到了编译的程度,我可以加载内核模块,找到卡片,然后我可以使用mknod创建角色设备.

但我似乎无法打开这些设备并继续获得errno 19(ENODEV)'没有这样的设备'当我尝试

open("/dev/dt340/0",O_RDWR);
Run Code Online (Sandbox Code Playgroud)

但是mknod没有关于制作它的抱怨,它就在那里:

# ls -l /dev/dt340/
total 0
crw-rw-r-- 1 root staff 250, 0 2009-04-23 11:02 0
crw-rw-r-- 1 root staff 250, 1 2009-04-23 11:02 1
crw-rw-r-- 1 root staff 250, 2 2009-04-23 11:02 2
crw-rw-r-- 1 root staff 250, 3 2009-04-23 11:02 3
Run Code Online (Sandbox Code Playgroud)

有什么我忽略的事情吗?什么可能是开放失败的原因?

这是我用来加载驱动程序和制作设备的脚本.

#!/bin/bash
module="dt340"
device="dt340"
mode="664"

# invoke modprobe with all arguments we were passed
#/sbin/modprobe -t misc -lroot -f -s $module.o $* || exit 1
insmod …
Run Code Online (Sandbox Code Playgroud)

c linux kernel-module linux-device-driver linux-kernel

5
推荐指数
1
解决办法
2万
查看次数