中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 基于Packet Driver的网卡驱动程序不再难求!
作者:
标题: 基于Packet Driver的网卡驱动程序不再难求! 上一主题 | 下一主题
firstsail
高级用户





积分 668
发帖 295
注册 2005-7-26
来自 广东深圳
状态 离线
『楼 主』:  基于Packet Driver的网卡驱动程序不再难求!

现在的新的网卡基本上不再有基于DOS的“Packet Driver”形式的网卡驱动程序,而是提供基于DOS的“NDIS2”形式的网卡驱动程序。由于大部份DOS下的TCP/IP程序是基于“Packet Driver”形式的,如Wattcp等等,造成开发DOS下的TCP/IP应用无法找到网卡驱动程序的尴尬,好在现在有一种程序能将“NDIS2”转化为“Packet Driver”形式的网卡驱程序,现将配置内容给大家分享。

下载地址:http://www.firstsail.com.cn/download2/PacketDriver.Rar

;=====================================================================
共需要6个支持文件
    (1)ProtMan.Dos文件,固定的。
    (2)DIS_PKT.Dos文件 ,固定的。
    (3)NDIS形式的网卡程序程序,不同网卡不同。

    (4)Protocol.Ini文件,大部份内容固定。
    (5)Netbind.Com文件,固定的。
    (6)Protman.Exe文件,固定的。


;=====================================================================
C盘根目录的Config.Sys文件请如下配置:

(1)装载扩展内存管理程序Himem.Sys
(2)装载扩充内存管理程序Emm386.Exe
(3)装载Protman.Dos程序,并指定Protocol.Ini文件的所在目录,注意字符“/”前应留字符“空格”
(4)装载Dis_Pkt.Dos程序
(5)装载NDIS格式的网卡驱动程序,不同网卡文件名不同,一般后缀是“*.DOS”,Rtl81xx网卡一般是"rtsnd.dos"。
(6)其它常规设置
    dos=high,umb
    stacks=12,256
    files=30
    numlock=off

上面的(3)(4)(5)三项是必须的,顺序不能反。



现假设6个支持文件的目录形式为
    c:\net\ProtMan.Dos
    c:\net\DIS_PKT.Dos
    c:\net\Netbind.Com
    c:\net\Protman.Exe

    c:\net\Rtl81xx\rtsnd.dos
    c:\net\Rtl81xx\protocol.ini

则Config.Sys文件可以这样来配置

    devicehigh=c:\windows\himem.sys/testmem:off
    devicehigh=c:\windows\emm386.exe noems novcpi

    rem devicehigh=c:\windows\ifshlp.sys

    devicehigh=c:\Net\Protman.Dos /i:c:\Net\Rtl81xx
    devicehigh=c:\Net\dis_pkt.dos
    Devicehigh=c:\Net\RTL81xx\Rtsnd.dos

    dos=high,umb
    stacks=12,256
    files=30
    numlock=off

;=====================================================================
假设NetBind.Com放在c:\net目录里面,须注意Protman.exe文件须同NetBind.Exe文件放在同一目录中。
C盘根目录的Autoexec.Bat文件加上:

    (1)c:\net\Netbind.com


现假设6个支持文件的目录形式为
    c:\net\ProtMan.Dos
    c:\net\DIS_PKT.Dos
    c:\net\Netbind.Com
    c:\net\Protman.Exe

    c:\net\Rtl81xx\rtsnd.dos
    c:\net\rtl81xx\protocol.ini

则Autoexec.Bat文件可以这样来配置

    path c:\windows;c:\windows\command;c:\bc31

    lh smartdrv
    c:\net\netbind.com

;=====================================================================
Protocol.ini文件如下配置

[protman]
drivername=PROTMAN$

[pktdrv]
drivername=PKTDRV$
bindings=nic
intvec=0x60
chainvec=0x66

[nic]
DriverName=RTSND$
;MaxMultiCasts=10
;TxBuffers=4
;RxBuffers=4
;Medium=_100Full


(1)Protman段不用更改,是固定的,Pktdrv段也不用更改,是固定的。
(2)Nic段需要更改"DriverName"键值的内容,"rtsnd"根据实际网卡驱动而定,可参照NDIS网卡驱动光盘里的Protocol.ini文件。

[ Last edited by firstsail on 2007-8-30 at 03:54 PM ]

2007-8-30 15:53
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复
zhgwbzhd
高级用户





积分 506
发帖 187
注册 2005-12-4
状态 离线
『第 2 楼』:  

哇噻,真的假的?

2007-9-3 11:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhgwbzhd
高级用户





积分 506
发帖 187
注册 2005-12-4
状态 离线
『第 3 楼』:  

哦?终于看完了。其实不是将NDIS驱动转化成pack驱动。
而是如何使用NDIS驱动。

这个有个缺点就是不能卸载网卡驱动呀。『是俺不知道怎么卸载呀。』

2007-9-3 11:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
firstsail
高级用户





积分 668
发帖 295
注册 2005-7-26
来自 广东深圳
状态 离线
『第 4 楼』:  

按照上面的转换方法,原来只有NDIS驱动的,确确实实提供了Packet Driver驱动,
您可以在DOS命令行下用Debug程序,键入"d0:180"可以看到60H中断向量不再00 00 00 00,而是有内容的.

WinSail 的TCP/IP协议栈是用Packet Driver的,经测试完全可以进行TCP/IP通讯!
Wattcp 的TCP/IP协议栈也是用Packet Driver的,经测试也可以进行TCP/IP通讯!

由于NDIS驱动是微软标准,只要微软不倒下,那么DOS下网卡驱动就不用再愁!
所以基于Packet Driver的TCP/IP协议栈是可以放以使用的!

2007-9-3 12:58
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: