大家好。我有个问题,现在要在驱动里面实现这样一个功能:驱动程序在被加载后自动使用BULK IN 方式轮训USB设备,或者是在用户触发后一直轮训USB设备,如果有数据就往一个队列里面填,没有的则再次轮询。周而复始……直到用户取消轮询,或者用户拔下设备。期望的速度是30M字节,如...
全文
回复(13) 2005-07-19 09:44 来自版块 - USB驱动开发
表情
xxlangyun呵呵,这几天的确有点牢骚,请原谅啊。 此外还要感谢你的安慰和建议,有论坛上这么多热心的网友相助还是有信心做好的。(2005-07-27 22:30)
Shentuok,可能是我的语气不太好,向你道歉! 建议你还是看看例子,因为这个问题在usb驱动里是一个很基本的问题。唯一的不同,只不过你是要把数据给ndis协议层,而其他的usb驱动是直接给到应用程序了。 一般不推荐用系统线程去做,而是通过completeroutine实现,怎么实现就要看...(2005-07-27 14:04)
xxlangyun你仔细看看问题再发表观点,不要动不动就拿DDK、DS例子乱讲,没看过,没做过实验能问吗?都不想想!(2005-07-27 11:25)
Shentu晕,现在还没有头绪吗? 你到driverstudio的安装目录或者ddk安装目录下的usb相关那里,有大把的例子,仔细看看,然后做个实验不就可以解决了吗?(2005-07-27 10:47)
xxlangyunray版主,给点意见啊 ? 我的问题其实是WLAN 的USB网卡接收数据的问题,我的想法是在网卡驱动加载后就由内核收数据,在内核里面处理后如果是配置程序的数据就交个配置程序处理,如果是网络数据就交给上边NDIS。 还由没有别的办法啊?我都急疯了!!!(2005-07-22 15:01)
arthurturay版主出现了,快抓住他问问;P(2005-07-21 11:30)
xxlangyun(接上面)一次USB2.0sheb BULK IN的最大数据量是512字节,假设网卡上有一帧的数据,其大小1500字节,分三次上传,如果按上面的机制进行处理,那么我该如何处理呢?请巨牛兄弟指教!感激万分。。。。。。(2005-07-20 16:48)
xxlangyun感谢巨牛老兄! 看了你的回帖感觉真是拨开云雾见青天啊,再次表示感谢! 不过还有些问题不是很明白,如果发送给USB设备的时候,USB下面也许没有数据,这时候Pending了,那么驱动什么时候再次发起读请求呢?可控吗?可见吗?是不是只要idle IRP queue空就能自动发起一次读...(2005-07-20 16:44)
arthurtu一个读取数据的大概的策略: 在启动设备后,分配一个或多个buffer,对每个buffer创建一个irp(或从idle irp queue取出一个)发送给USB设备去数据。irp可能被pending,也可能马上就完成。IoCallDriver前将irp放到一个read wa...(2005-07-20 13:18)
CII_GZH要求这么高啊,有了答案给我说说啊,很感兴趣。(2005-07-20 09:56)

返回顶部