hjj
hjj
驱动牛犊
驱动牛犊
  • 注册日期2001-04-05
  • 最后登录2002-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3258回复:5

求助,有关miniport/usb?

楼主#
更多 发布于:2001-04-05 11:08
现在我正在开发一个CableModem的驱动程序。上沿是NDIS,下沿用WDM(USB)。在测试机上安装此驱动程序,在设备管理器中出现一个网络适配器。设置好IP地址,ping 一任意地址,出现unreachable address.用IE浏览出现网络为绑定。
用WINDBG调试,MiniportInitialize调用成功。随后执行MiniportQueryInformation 和MiniprotSetInformation. miniport定时调用getbuff 从USB获得数据。 在使用Ping和IE时未见调用MiniportSend.
请各位高手指点那里除了错误,是不是MiniportQueryInformation
对此类驱动有特殊要求?
谢谢!

最新喜欢:

superjetsuperj...
lxf
lxf
驱动小牛
驱动小牛
  • 注册日期2001-03-26
  • 最后登录2013-05-04
  • 粉丝4
  • 关注0
  • 积分76分
  • 威望30点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-04-06 08:31
在网卡安装后,不管是否有tcp/ip,NDIS会定时调用MINIPORTSEND
从你的情况来看,可能是初始化或OID有问题。
对了,我对usb的用法感兴趣,不知是否赐教?
别着急,慢慢来!
hjj
hjj
驱动牛犊
驱动牛犊
  • 注册日期2001-04-05
  • 最后登录2002-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-04-08 10:39
谢谢。
我最后发现是在响应OID_GEN_RECEIVE_BLOCK_SIZE时出错。我把此查询值误设成了4,导致ndis认为我的miniport不支持tcp/ip包。以至不能绑定。
不知您想知道usb那方面的知识。我在这儿简单的说一下我的用法。
在driver中我使用bulk方式传输数据。
1 发送数据。
当有一包ip数据要发送时,首先创建irp.然后创建urb并填充各属性。把urb放入usb驱动堆栈,设置完成例程,最后调用IoCallDriver
发送数据。最重要的一点是当ip数据长度是usb管道最大尺寸的整数倍时,一定要在发送一个数据长度为0的USB包作为结束符(这个特性是usb协议决定的,请查看usb规范1.1。(->OUT<-DATA0->ACK->DATA1->ACK..... 在此过程中,DATA0和DATA1的数据长度应是USB管道的最大长度。当一个小于USB管道的最大长度的数据包出现时认为一次IN或OUT传输结束。))。
2 接收数据
我创建了一个polling线程(PASSIVE LEVEL)。定时查询usb总线(interval time 1秒)。其中有关USB包的处理基本与1相同。

robin_wxg
驱动小牛
驱动小牛
  • 注册日期2003-02-10
  • 最后登录2009-09-21
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-04-21 11:17
Hjj,
   我正准备写一个802.11b的USB网卡的Driver,请问你是否参考了DDK里的例子?你觉的像e100bex是否适合做NDIS upper edge的参考呢?请多多指教!
gbcactus
驱动牛犊
驱动牛犊
  • 注册日期2002-12-13
  • 最后登录2005-11-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-07 23:06
Hjj, 我也正在为一个usb设备写ndis miniport driver,但创建irp接收数据失败,返回的irp->iostatus.status是0xC000000D,说我传的参数不对,但我几乎是从walter oney的sample照搬的,实在不知道错哪儿了,可不可以把你接收数据、发送数据从创建irp到调用IoCallDriver的代码发给我参考参考,多谢了!

请发送到 gubaoqiang@263.net 拜托了!
primemarshal
驱动牛犊
驱动牛犊
  • 注册日期2009-05-04
  • 最后登录2009-09-17
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-05-31 17:19
Hjj,  我正在学习 usb 网卡的例子,  每次在 调用 IoCallDriver 时返回  0xC0000010, 查了一下, 有人说是没有指定 IOCTL_INTERNAL_USB_SUBMIT_URB  的处理函数..., 可在 DriverEntry 里也没处定义啊.., 大虾请指教啊....
新手上路
游客

返回顶部