阅读:2883回复:22
斑竹大大,请问linux下的一个问题,急
斑竹大大,在linux下,使用系统的u盘驱动时,我的ap如何直接向usb设备发协议命令,或u盘的usb设备节点是什么,怎么取得,或者您给出相关资料地点
|
|
|
沙发#
发布于:2005-08-06 21:12
有研究这个的么联系一下.
|
|
|
板凳#
发布于:2005-08-06 20:57
还有人做么,给个想U盘写一个文件的例子可以么?
|
|
|
地板#
发布于:2004-03-14 22:18
没有有这方面经验的大大吗?
|
|
|
地下室#
发布于:2004-03-12 09:43
dindin
|
|
|
5楼#
发布于:2004-03-10 15:25
可不可以,请知道的大大给个信吧
|
|
|
6楼#
发布于:2004-03-09 17:22
ioctl的cmd用什么,我只是要用到读或写数据的功能
|
|
|
7楼#
发布于:2004-03-09 11:37
这个要用ioctl了吧
你可以这样试试: ioctl("/dev/sda1",cmd,你要传的参数) [编辑 - 3/9/04 by flycat0101] |
|
|
8楼#
发布于:2004-03-09 11:26
如果我的u盘里有个文件1.dat,我mount /dev/sda1 /usb,再fopen("/usb/1.dat",....)那我不是对这个文件进行读写了吗?我在usb的firmware里设置了我自己的协议来执行特殊用途,ap想通过bulk传输来把这个协议数据发下来给usb firmware,达到通知usb firmware执行特殊命令的目的,望不吝赐教
|
|
|
9楼#
发布于:2004-03-09 11:17
你是说我 你在windows下或者是linux下对一般文件操作过没有?和那个一摸一样的 filename可以是已经存在的文件,也可以是不存在的文件,如果是不存在的文件那么在参数中就要指定它创建一个,不然会出错返回的。 在linux下,所有的设备都是当作文件进行操作的,所以,文件操作的命令几乎都能用,格式是一摸一样的。相对windows来说更统一 [编辑 - 3/9/04 by flycat0101] |
|
|
10楼#
发布于:2004-03-09 11:11
你是说我
mount /dev/sda1 /usb 然后fopen("/usb/filename",...) 可是filename 是什么,不是很明白 |
|
|
11楼#
发布于:2004-03-09 11:08
可是我不知道怎么和驱动联系,我用的是系统自带的u盘驱动,我怎么写呢,使用什么节点来fopen呢,是不是我应该自己写个u盘的驱动才能做到这一部 比如你把/dev/sda1 mount到了/usb中 那么你就open("/usb/文件名",参数) 然后read、write 你的明白? |
|
|
12楼#
发布于:2004-03-09 11:03
可是我不知道怎么和驱动联系,我用的是系统自带的u盘驱动,我怎么写呢,使用什么节点来fopen呢,是不是我应该自己写个u盘的驱动才能做到这一部
|
|
|
13楼#
发布于:2004-03-09 10:59
照你的说法,你只是要实现数据的传输而已
那么你不用关心使用什么协议以及使用那种方式传输,你只用把数据写下去就行了,这些工作由驱动程序来做 在你mount你的U盘后,U盘就像是你的系统硬盘上的文件一样了 对这些文件怎么操作就怎么操作在U盘上 就像你不用关心硬盘驱动是怎么把数据写道硬盘一样,你也不用不关心u盘驱动是怎么把数据写到U盘一样。U盘是作为一个块设备进行操作了(因为把它当作了scsi设备) open一个文件,然后对它进行read、write,完了后close就行了 [编辑 - 3/9/04 by flycat0101] |
|
|
14楼#
发布于:2004-03-09 10:55
我想直接发一些协议命令给usb设备,比如象在windows下,通过usb的驱动,来作bulk传输
|
|
|
15楼#
发布于:2004-03-09 10:48
你要对什么发送什么命令? |
|
|
16楼#
发布于:2004-03-09 10:46
谢谢flycat0101的回复。
你说的那些步骤我都可以了,我通过fopen("/dev/sda1")后,fread已经可以读出u盘的扇区数据了。但是我想对usb设备部分直接发送命令,不知有什么办法没有 |
|
|
17楼#
发布于:2004-03-09 10:32
首先你要确认你的U已经被linux系统认出来
这个可以查看/proc/devices和/proc/scsi下是否有usb-storage-0出现,如果有的话,一般来说就是已经认出来了 还有在检测partition table时如果出现:unknown partition table而不是sda1或者sdb1的话,不能mount上的 如果这些都是正确的,接下来你就要看你的/dev下面是否已经建立了sda1或sdb1的节点,如果没有这要你自己使用mknod建立 建立好节点后,使用dd命令能够从U盘中读出数据了。 接下来的工作就是mount这个/dev/sda1了,再下来就是一般的文件操作了。 |
|
|
18楼#
发布于:2004-03-09 10:21
顶一顶
|
|
|
19楼#
发布于:2004-03-08 15:28
各位大大,是不是这样是不行的,做不到的,怎么没人出声啊,提点一下吧
|
|
|
上一页
下一页