阅读:1793回复:10
passthru中怎样支持拨号功能,应该在哪个层次实现(80)
我想在passthru中增加modem拨号功能,截取并修改其中的数据。斑竹和各位大虾能否指点一下在下图中哪个层次实现,(画图不好,见笑了)。
顺便问一句,此imd截取到的数据包是ppp包还是pppoe包? [编辑 - 7/30/02 by smallbarrow] [编辑 - 7/30/02 by smallbarrow] |
|
最新喜欢:utahyj
|
沙发#
发布于:2002-07-31 09:16
如果你想支持猫,那前面有很多贴子说!
如果你想支持ADSL,那你要研究各种ADSL拔号软件的实现层次,他们的实现技术有很多不同,所以你在imd里得到的数据也都不一样! |
|
板凳#
发布于:2002-07-31 09:51
俺不知道应该在哪一层次上实现我上面说的功能,我自己的理解是在图中3的位置实现。
我仿照xp passthru的代码实现,遵照以前不少的讨论ndiswan的帖子,在2000 passthru中加入对wan的支持: 1:修改inf文件,介质中加入对wan的支持 2:修改passthru.c文件,mediumarray数组中加入ndismediumwan 3:修改miniport.c中mpinitialize,加入 Medium = pAdapt->Medium; if (Medium == NdisMediumWan) { Medium = NdisMedium802_3; } 4:将拨号网络中“使用ip头压缩”disable掉。 我装了一个比较老的猫,安装此passthru之后,浏览网页很正常,但使用softice在send和receive函数中始终没有出现相应的dbgprint句子。很困惑呀?它收发包是怎么跑的呢? 各位大虾能否指点一二,不胜感谢。 |
|
|
地板#
发布于:2002-07-31 10:06
IMD还有其他的入口吗?
好象只有那么一个哦,如果你是用的猫,那数据包一定是从passthru的receive and send走的,不会有问题! 但你要看一看一共有四个函数,ptreceive,ptreceivepacket,mpsend,mpsendpackets,最好都设置上! 至于ADSL就很难处理了,比如EnterNet300这个软件,它好象是自己做的协议转换,而有的ADSL拔号软件不做协议转换直接交给PPP(不一定太准确,没有太仔细的跟过,不保证百分百正确) |
|
地下室#
发布于:2002-07-31 10:15
老兄:
我在passthru的每一个函数中都有dbgprint语句。可就是不跑send and receive。 |
|
|
5楼#
发布于:2002-07-31 10:18
那就是你根本没支持上modem,确定你写的是否正确,如果正确,modem的数据一定会进来的!
|
|
6楼#
发布于:2002-07-31 10:29
我也想过这个问题,是不是没有绑定modem或ndiswan,上面的那些改动可能还不够。
如你所说,但是怎么支持上modem呢?能否指点一下,谢谢! |
|
|
7楼#
发布于:2002-07-31 10:48
前面有贴子讲过,你可以找找看!
|
|
8楼#
发布于:2002-07-31 11:48
我搜着看过,和我修改的地方是一样的。为什么我这里会出问题呢?
swift老兄,能告诉我哪个帖子或哪儿有问题吗? |
|
|
9楼#
发布于:2002-07-31 11:55
原因或者就是你的modem没支持上!
这几天好象有好几个贴子在讲这个,你查一下吧! |
|
10楼#
发布于:2002-07-31 21:16
你可以用bindView确认一下Modem是否已经绑上,如果绑上的话你应该能看到你的Passthru下有两个绑定路径。
bindView源码xpddk里有。 [编辑 - 7/31/02 by TonyHuyan] |
|
|