阅读:1669回复:11
大分相送!关于NDIS 与 USB 通信!谢先!
我们在做一个通信平台。想法是这样的:通信平台使用扩频方式与其它通信平台通信!通信平台与主机端通过USB相连。
主机终端的设计思想是:应用程序把要传送的数据通过TCP/IP协议栈向下传送,然后截获IP数据包,进行处理,按所要求的帧格式成帧,CRC校验等,然后把这些帧通过USB送到通信台经扩频处理发送出去! 我要完成的是:截获数据包然后通过USB送出去。 我想通过NDIS中间层驱动截获IP数据包进行处理,但是不知道怎么用miniport driver去完成USB的配置传送等,因为NDIS主要是针对PCI网卡的,我看到的USB驱动提供IOCTL_USB_XXX这样的IO控制接口,但是miniport driver并没有这样的接口,哪位大侠做过这方面工作啊?给俺讲讲! 谢谢! ;) |
|
|
沙发#
发布于:2004-03-26 10:28
我觉得我要做的和蓝牙、usb网卡差不多!那位ggmm做过啊?
谢谢,不胜感激!工作顺利,呵呵 :D |
|
|
板凳#
发布于:2004-03-26 10:29
我主要的问题就是不知道NDIS怎么与USB驱动通信的,Miniport driver如何完成一般USB驱动完成的工作?
感谢非常! :P |
|
|
地板#
发布于:2004-03-26 10:33
我看了DDK自带的例子passthru,也没发现提供IO控制接口啊,难道还要重新编写USB的驱动?
|
|
|
地下室#
发布于:2004-03-29 10:29
关于这个问题,我没有做过,但周末我仔细想了想,也是容易
实现的。在一般的IMD中是用NDISSEND发包,但这里可以调用 USB的驱动来发包。至于在驱动中调用另一个驱动本站是有例程的。 接收包的时候,USB可以用事件通知IMD,而IMD的事件 处理函数代替或调用PtReceive,或调用介质无关的 NdisMIndicateReceivePacket向上举包即可,也是驱动间 的通讯问题。也许还有别的方法。请大家发言。 |
|
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 |
|
|
6楼#
发布于:2004-03-29 11:18
上面的思路就是要实现这样一个下沿,既然已经有这样的下沿,不是更简单吗?能指明具体出处吗,谢谢,学习ING。
|
|
7楼#
发布于:2004-03-29 11:50
DDK上对NDIS_WDM微端口讲的不多,我现在还没找到太多的资料。
DDK上的位置:network driver->design guide->part 2->12 章。 |
|
|
8楼#
发布于:2004-03-29 12:02
HA HA 我看了,和我的想法完全一样,只是更具体了一些细节。
|
|
9楼#
发布于:2004-03-29 12:08
呵呵。
我还是不大懂,这个NDIS_WDM怎么实现啊?洗耳恭听! :D 我的QQ:26610079 |
|
|
10楼#
发布于:2004-03-29 12:26
用PASSTHRU直接改就可以了,改动MpSend,把网络PACKET转化为IRQ
然后IoCallDriver ,把PtReceive做为事件处理函数接收包。就是我上面说的思路。 |
|
11楼#
发布于:2004-04-07 16:01
我在PASSTHRU里面可以直接IoCallDriver调用一个SCSI驱动吗?如何得到这个SCSI驱动的设备指针呢
|
|