阅读:2082回复:12
关于拨号实现的疑问。(100)
现在我想完成passthru的拨号实现,看完了ppp.ppoe的rfc.
也搜了以前的一些贴子,但还是不太明白。 有人说xp上已经实现了,我看了一下源码,发现添加的对拨号支持的代码很少。也没有调用nidswan的函数,也没有协议转换的部分。不晓得是怎么回事。 另,有人说, 于拨号软件有关,那如果最简单的完成功能,那要使用什么软件,怎么实现。如果实现的比较全面,应该怎样做。 谢谢。 |
|
沙发#
发布于:2002-07-29 11:42
记得前面有个贴子讲用imd实现pppoe,你可以找找看!
那是一个设计文档,讲的很详细且很不错的说! |
|
板凳#
发布于:2002-07-29 12:05
passthru如何和拨号网络绑定:
1. 修改inf。netsf.inf文件中有这么一行: HKR, Ndi\\Interfaces, FilterMediaTypes, , \"ethernet, tokenring, fddi\" 其中ethernet,tokenring,fddi指定了要绑定的介质类型。 把这句话改为:ethernet, tokenring, fddi, wan 2. passthru.c里面定义了 NDIS_MEDIUM MediumArray[3]=NdisMedium802_3, NdisMedium802_5,NdisMediumFddi 现在需要加上NdisMediumWan. 3. 在miniport.c的MpInitialize函数的开头: NDIS_MEDIUM medium; if(pAdapt->Medium ==NdisMediumWan) medium = NdisMedium802_3; for (i = 0; i < MediumArraySize; i++) { if (MediumArray == medium) { *SelectedMediumIndex = i; break; } } ok,就这些。 xp确实是实现了的,不信你自己编译一下passthru,网拨号网络上绑一下不就明白了吗。 |
|
|
地板#
发布于:2002-07-29 14:50
斑竹测试过么?
我之所以感到疑惑就是因为pppoe的文档中说imd要进行pppoe等包格式的转换且要替换成nidswan的函数,而xp中,却并没有解决这些问题。所产生的变化,就像斑竹说的那样。 我不知斑竹和swift对格式转换,及替换nidswan函数的必要性的理解。 |
|
地下室#
发布于:2002-07-29 15:11
斑竹测试过么? 我感觉,你在这里好像有一个概念问题。不知道我理解的对不对。 ppp(ndiswan)和pppoe应该是两个完全不同的协议. xp passthru实现的是对ppp也就是拨号网络的支持。 使用imd来实现pppoe的方法你可以参看这篇文章。 http://www.driverdevelop.com/read.php?t=A&id=83 就是用讲怎样用passthru实现。 [编辑 - 7/30/02 by moqingsong] |
|
|
5楼#
发布于:2002-07-30 12:27
可算能看了,谢谢站长。
|
|
|
6楼#
发布于:2002-07-30 17:08
我按斑竹的方法试了一下,可是不行呀。
拨号后,不通过passthru. 另,用xp的ddk,编译一下xp的passthru.但在2k运行是蓝屏,错误是:设备入口点找不到。 麻烦,帮忙找一下原因。 谢谢! |
|
7楼#
发布于:2002-07-30 17:13
你用的是什么牌子的modem?
我用isdn是过没问题的。 不会是pppoe的adsl吧? |
|
|
8楼#
发布于:2002-07-30 17:33
你用的是什么牌子的modem? 拨号上的,拨到拨号服务器上, 猫是mutimodem牌的,挺老的,不过应该于这没有什么关系吧。 |
|
9楼#
发布于:2002-07-30 22:24
我按斑竹的方法试了一下,可是不行呀。 你的机子上,不装ndiswan时装passthru能装上么?能截到数据么? 我觉得你是什么地方有一个很小的错误,跟编程好像都没什么大关系的样子。 我这样一个一个的问,问个五六次都不一定问得出来的感觉。 你要是实在自己找不找原因的话,就把你的安装步骤从最基本的步骤起仔细说一遍。把你的环境也仔细说一边。 也许能发现点蛛丝马迹。 |
|
|
10楼#
发布于:2002-07-31 00:45
都没说到点子上!!其实让不让你接受到WAN的包是有NDIS决定的!你在INF里面注册NDISWAN是写到注册表里面的!NDIS在启动你的IMD的时候会根据这个来决定你准备支持那些载体!一定会把包给你!这个是肯定的!!而且非常的肯定!为什么要在驱动里面把NDISWAN保存成802。3的格式呢??那是因为MODEM的驱动已经把PPP的包处理了!所以你实际上只收到802。3格式的包!但是却是从WAN设备传来的!所以你必须这么做!蓝屏的原因绝对不是因为载体支持的问题!!!是其他原因~~很小儿科的原因~~仔细的看看SOURCE文件!!尤其是他的注释!!!
|
|
|
11楼#
发布于:2002-07-31 11:31
passthru如何和拨号网络绑定: 1、在没拨号时,使用2k passthru没问题,各种dbgprint语句都能看到。 2、用modem 拨号,按照上述的步骤修改了。又改了ptrecieve,ptrecievecomplete. 3、拨号后,dbgprint语句都看不到了。 应该是猫没绑上把,不晓得为什么。 我对modem 的驱动一无所知,原来不光作模数转换呀,还要转换ppp到802。3呀 |
|
12楼#
发布于:2002-07-31 17:53
没问题的。仔细检查一下吧。
嗬嗬! |
|
|