zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1669回复:11

大分相送!关于NDIS 与 USB 通信!谢先!

楼主#
更多 发布于:2004-03-26 10:27
我们在做一个通信平台。想法是这样的:通信平台使用扩频方式与其它通信平台通信!通信平台与主机端通过USB相连。
主机终端的设计思想是:应用程序把要传送的数据通过TCP/IP协议栈向下传送,然后截获IP数据包,进行处理,按所要求的帧格式成帧,CRC校验等,然后把这些帧通过USB送到通信台经扩频处理发送出去!
我要完成的是:截获数据包然后通过USB送出去。
我想通过NDIS中间层驱动截获IP数据包进行处理,但是不知道怎么用miniport driver去完成USB的配置传送等,因为NDIS主要是针对PCI网卡的,我看到的USB驱动提供IOCTL_USB_XXX这样的IO控制接口,但是miniport driver并没有这样的接口,哪位大侠做过这方面工作啊?给俺讲讲!
谢谢!
 ;)
没钱的日子真难过! 大哥,拉兄弟一把.
zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-26 10:28
我觉得我要做的和蓝牙、usb网卡差不多!那位ggmm做过啊?
谢谢,不胜感激!工作顺利,呵呵 :D
没钱的日子真难过! 大哥,拉兄弟一把.
zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-26 10:29
我主要的问题就是不知道NDIS怎么与USB驱动通信的,Miniport driver如何完成一般USB驱动完成的工作?
感谢非常! :P
没钱的日子真难过! 大哥,拉兄弟一把.
zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-26 10:33
我看了DDK自带的例子passthru,也没发现提供IO控制接口啊,难道还要重新编写USB的驱动?
没钱的日子真难过! 大哥,拉兄弟一把.
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-29 10:29
关于这个问题,我没有做过,但周末我仔细想了想,也是容易
实现的。在一般的IMD中是用NDISSEND发包,但这里可以调用
USB的驱动来发包。至于在驱动中调用另一个驱动本站是有例程的。
接收包的时候,USB可以用事件通知IMD,而IMD的事件
处理函数代替或调用PtReceive,或调用介质无关的
NdisMIndicateReceivePacket向上举包即可,也是驱动间
的通讯问题。也许还有别的方法。请大家发言。
zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-03-29 10:57
谢谢!
现在我是这样想的写NDIS_WDM miniport驱动上层与TCPIP协议栈或IMD绑定,下面与USB的WDM驱动绑定,你觉得这样还行?
关于NDIS_WDM miniport driver的叫法微软的MSDN库中是这样说得:A miniport driver with a Windows Driver Model (WDM) lower interface is also known as an NDIS-WDM miniport driver. Such a miniport driver:  :D
没钱的日子真难过! 大哥,拉兄弟一把.
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-03-29 11:18
上面的思路就是要实现这样一个下沿,既然已经有这样的下沿,不是更简单吗?能指明具体出处吗,谢谢,学习ING。
zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-03-29 11:50
DDK上对NDIS_WDM微端口讲的不多,我现在还没找到太多的资料。
DDK上的位置:network driver->design guide->part 2->12 章。
没钱的日子真难过! 大哥,拉兄弟一把.
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-03-29 12:02
HA HA 我看了,和我的想法完全一样,只是更具体了一些细节。
zhaihua
驱动中牛
驱动中牛
  • 注册日期2003-10-11
  • 最后登录2007-07-24
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-03-29 12:08
呵呵。
我还是不大懂,这个NDIS_WDM怎么实现啊?洗耳恭听! :D
我的QQ:26610079
没钱的日子真难过! 大哥,拉兄弟一把.
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-03-29 12:26
用PASSTHRU直接改就可以了,改动MpSend,把网络PACKET转化为IRQ
然后IoCallDriver ,把PtReceive做为事件处理函数接收包。就是我上面说的思路。
kangzh
驱动小牛
驱动小牛
  • 注册日期2004-03-09
  • 最后登录2012-08-06
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望22点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-04-07 16:01
我在PASSTHRU里面可以直接IoCallDriver调用一个SCSI驱动吗?如何得到这个SCSI驱动的设备指针呢
游客

返回顶部