/dev下没有相应的设备节点,,怎么办?

qlx1983 2009-04-08 08:49:17
当我的usb设备插上开发板后,在dev下会出现如下文件但是就是没有我想要的ttyUSB0,ttyUSB1等设备节点,,不知道是怎么回事,肯定哪位大侠教教我!

usbdev1.1
usbdev1.1_ep00
usbdev1.1_ep81
usbdev1.4
usbdev1.4_ep00
usbdev1.4_ep02
usbdev1.4_ep04
usbdev1.4_ep05
usbdev1.4_ep81
usbdev1.4_ep82
usbdev1.4_ep84
usbdev1.4_ep85
...全文
3146 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wrt851001 2011-05-20
  • 打赏
  • 举报
回复
请问你是怎么不用mknod就可以在device下创建设备节点的?
我改写了一个设备驱动程序,并定义了主设备好MAJOR为254,编译内核后,能够在/proc/devices下参看到设备节点gpiotest,但是在device下并没有设备节点gpiotest,所以运行测试程序时找不到。然后在开发板上用mknod dev/gpiotest b 254 0 ,然后运行测试程序,就可以了。但是重启开发板后,创建的节点就没了,用时还要手动创建。所以,想在内核内创建好。我知道在linux的一个Makefile里可以添加设备节点,但不知道它在哪,还望指点下。这段添加设备的代码如下:
DEVICES = \
tty,c,5,0 console,c,5,1 cua0,c,5,64 cual,c,5,65 \
\
mem,c,1,1 kmem,c,1,2 null,c,1,3 \
......................................
\

你知道它在哪吗?
[Quote=引用 13 楼 peakcxy 的回复:]
我懂您几位的意思,就是用mknod来做一个相应的设备文件,然后对其进行操作。
但是我面临的问题是,我自己针对一个用8051芯片做的板子做了一个驱动程序,然后驱动成功后会在/dev下出现相应的设备文件skel0,我又用自己另外编写的一个具备打开、读写、关闭功能的小程序对其进行操作的时候,没有反应,也即没有数据读出来,不知道该怎么做好。是哪一步出问题了还是怎么回事。请行家指点。谢谢了。~
[/Quote]
qlx1983 2009-11-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bshawk 的回复:]
1)你需要包含usb CDMA moden驱动支持,其实就是一个USB转串口的驱动;
2)如果已经包含了1)中的驱动支持,那么就可以了;至于没有设备节点产生,估计没有包含udev支持;这没有关系,看看你的驱动为ttyUSB0分配的主次设备号;知道了主次设备号,然后用mknod创建之即可;


GOOD LUCK!
[/Quote]
非常对不起bshawk ,本来你分析的是对的,本应该给分的。
wyp168 2009-10-21
  • 打赏
  • 举报
回复
up
paolzhi 2009-07-21
  • 打赏
  • 举报
回复
mknod 自己做
newlife_qqk 2009-07-19
  • 打赏
  • 举报
回复
mknod /dev/ttyUSB1
月白清风 2009-07-17
  • 打赏
  • 举报
回复
我懂您几位的意思,就是用mknod来做一个相应的设备文件,然后对其进行操作。
但是我面临的问题是,我自己针对一个用8051芯片做的板子做了一个驱动程序,然后驱动成功后会在/dev下出现相应的设备文件skel0,我又用自己另外编写的一个具备打开、读写、关闭功能的小程序对其进行操作的时候,没有反应,也即没有数据读出来,不知道该怎么做好。是哪一步出问题了还是怎么回事。请行家指点。谢谢了。~
月白清风 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 showman 的回复:]
到/dev/partitions 里查询设备, 然后在/sys 里找到主次设备号, 最后mknod。
不行的话就是驱动有问题了。
[/Quote]
我懂您的意思,就是用mknod来做一个相应的设备文件,然后对其进行操作。
但是我面临的问题是,我自己针对一个用8051芯片做的板子做了一个驱动程序,然后驱动成功后会在/dev下出现相应的设备文件skel0,我又用自己另外编写的一个具备打开、读写、关闭功能的小程序对其进行操作的时候,没有反应,也即没有数据读出来,不知道该怎么做好。是哪一步出问题了还是怎么回事。请行家指点。谢谢了。~
allanqyz 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 peakcxy 的回复:]
我是能看到/dev/skel0设备文件。但是对此设备文件执行打开读写操作的时候没有东西读出来。。不知道怎么回事?是否确定在你的usb驱动连接成功后这个设备文件就可以正常读写了吗?

哪位知道解释下~~谢谢了。。
[/Quote]
这个不能直接读写的 需要把usb挂载到一个文件夹下面,再对其进行操作。mount -t vfat /dev/ske10(你的usb节点) /usb(根目录下你的usb文件夹)。
paolzhi 2009-07-07
  • 打赏
  • 举报
回复
mknod 自己做节点
fleiou2008 2009-07-07
  • 打赏
  • 举报
回复
自己建立子节点了,至于怎么建,楼上的几位已经给与解释了
Wenxy1 2009-07-07
  • 打赏
  • 举报
回复
mknod /dev/设备名 设备类型 主编号 次编号
ShowMan 2009-07-06
  • 打赏
  • 举报
回复
到/dev/partitions 里查询设备, 然后在/sys 里找到主次设备号, 最后mknod。
不行的话就是驱动有问题了。
mississipii 2009-07-06
  • 打赏
  • 举报
回复
up
月白清风 2009-06-21
  • 打赏
  • 举报
回复
我是能看到/dev/skel0设备文件。但是对此设备文件执行打开读写操作的时候没有东西读出来。。不知道怎么回事?是否确定在你的usb驱动连接成功后这个设备文件就可以正常读写了吗?

哪位知道解释下~~谢谢了。。
  • 打赏
  • 举报
回复
dev下没有的节点的话,自己根据设备号maknod。
bshawk 2009-04-08
  • 打赏
  • 举报
回复
1)你需要包含usb CDMA moden驱动支持,其实就是一个USB转串口的驱动;
2)如果已经包含了1)中的驱动支持,那么就可以了;至于没有设备节点产生,估计没有包含udev支持;这没有关系,看看你的驱动为ttyUSB0分配的主次设备号;知道了主次设备号,然后用mknod创建之即可;


GOOD LUCK!
morris88 2009-04-08
  • 打赏
  • 举报
回复
貌似子类型不对啊,没有识别为 serial 呢
qlx1983 2009-04-08
  • 打赏
  • 举报
回复
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: New USB device found, idVendor=1ed1, idProduct=0070
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: DCWL-390EV V1.0 CDMA Modem
插入usb设备时会出现上面这样的提示。。

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧