怎么通过ndis xp访问ndis6.30网卡驱动下载寄存器

当前位置: →
→ VxWorks环境下双网卡冗余备份技术的实现
VxWorks环境下双网卡冗余备份技术的实现
& 作者及来源: clara - 博客园 &
&收藏到→_→:
摘要: VxWorks环境下双网卡冗余备份技术的实现
"VxWorks环境下双网卡冗余备份技术的实现"::
摘& 要:在对 要求高的系统中,需要对网卡进行双冗余备份。当正常通信的网卡或线路出现故障时能自动地切换到备份网卡。本文详述了实时vxworks下一种双网卡冗余备份技术的实现。
&&& :实时vxworks;网络控制器;双冗余备份?
&&& 随着网络技术的成熟,以太网已成为各种控制系统接口互连的主要媒介。在某些特殊的应用场合,为了提高系统的和抗毁性,需采用双冗余网络技术。在双冗余网络中,每个节点都采用两块网卡(或单板双卡),中间用两个hub或 互连。当某个节点一块网卡故障,或网线损坏,或其中一个hub或 故障时,网络仍能正常运作。
&&& 双冗余网络虽有两块网卡,两条通道,但对于高层应用系统来说,仍呈现单网卡的特征。具体来讲,每个节点的两块网卡只能有一个物理地址,一个ip地址,否则网络就不能进行正常通信。
&&& 现在大多数(如windows、unix、linux等)均支持多网卡,但均非冗余设计,每块网卡都有独立的物理地址和ip地址,以独立的形式让应用系统使用。根据目前海军对 实时系统的要求,我们对vxworks环境下的双网卡的切换以及冗余备份的设计方法及要点进行介绍。
2vxworks介绍[1][2][3]
&&&&&&& vxworks是一种具有工业领导地位的 嵌入式实时,是嵌入式开发环境tornado的关键组成部分,它为提供了良好的和卓越的,因此被广泛地应用在通信、军事、航空、航天等高精尖技术及要求极高的领域中。
&&& 就广泛使用的unix和windows来说,它们都是很好的和交互式应用的平台,然而他们并不适合于实时应用。而从另一方面考虑,以前出现的实时都没有为和应用的非实时组件(譬如向gui)提供很好的运行环境。而wind river的哲学是利用两个相互协作的操作系统来互相补充对方的不足(譬如vxworks和windows),让他们各尽所长。vxworks为应用提供,而主此文来自: 马开东博客
转载请注明出处 网址:
机被用来进行和运行非实时的。
&&& 在系统的运行中设备由于 或 原因出现故障是时有发生的事。采用有效的防错容错机制对一个需要稳定运行的系统是必需的。冗余备份技术是对容易出错的进行冗余备份。当其中一个设备由于某种原因不能正常工作时,另一个设备马上就可以代替这个设备完成相同的功能。本文只是针对网络因素导致系统故障的情况分析对网络适配器的一种可行的错误保护机制。
&&& 通常如果在某一系统中安装两块网卡,它们分别有不同的物理和ip地址。当其中一块网卡出现故障时,另一块网卡不能实时地代替它继续工作,这是因为它们的物理地址不同,所以它不能接受到发向前一块网卡的数据。但在对 要求高的系统中,需要对网卡进行双冗余备份,一块网卡在正常工作时使用,另一块网卡作为备份。备份用的网卡不发送或接收数据,但已经处于激活状态。在正常通信的网卡出现故障时,备份用的网卡能实时地、自动地切换过来继续工作。显然,这就要求两块网卡只能使用同一个物理地址和同一个ip地址。从的角度看,只会看见一块网卡在工作。不关心是哪块网卡在工作,也不关心网卡之间是如何切换的。
&&& 在vxworks系统中,相同类型的网卡使用同一个驱动程序,网卡之间由ndis提供的句柄来区别。ndis调用nic驱动程序的接口函数时,都会把网卡的句柄传入函数中。这就为在驱动程序中实现冗余备份提供了基础。双网卡驱动程序实现后与高层协议驱动程序绑定在一起,对完全透明。因此要实现网卡的双冗余备份,最理想的办法是在nic驱动程序中实现。但是如果采取这样的方式我们必须要有vxworks下的所用网卡的驱动程序,而对于一般的用户而言,开发这样一个驱动程序的难度是很大的。目前也有一些研究单位完成了这些工作,但是它们要求的价格过高,软 共需要15000元左右,这对于一般小型用户是比较高的。所以我们选择在基此文来自: 马开东博客
转载请注明出处 网址:
本不影响冗余备份效果的基础上,在高层的用户程序中实现这一目标。
&&& 在早期的vxworks5.1.x中,系统是不支持多网卡的。通常,vxworks在启动时仅仅对引导它启动的那块网卡进行初始化。如果需要在某一特定的目标机上从一块网卡换到另一块网卡(例如从ene型换到enp型的网卡),我们可以通过系统提供的函数以及来实现网卡间的切换。我们所需要做的是连接所需要的网卡并删除前一个网卡的路由。我们可以调用特定网卡的连接函数:enpattach(),enettach()等等。例如enpattach()函数为网卡连接中断并建立enpsoftc,系统将为该网卡作相应的初始化。
&&&&&&& enpattach (0,0xffde0000,192,3);
&&& /*参数依次为:网卡在系统中的单元号,enp's的共享内存地址,要连接的中断向量,中断级*/
&&& 需要说明的是,在vxworks 5.1下虽然这些连接函数都有一个unitnum参数,似乎可以支持多个网卡。但其实并非这样,在后面的叙述中我们可以看到它没有ip max units这个宏的定义,所以并不支持多网卡,unitnum的值一直是0,读者们可以在源代码中查看一下。
&&& 因为当vxworks启动时它将一个缺省的网络接口加载到网络接口表中,所以在连接到需要的网卡后需要再调用ifroutedelete()函数以删除连接到某一指定网卡上的路由。
这样就完成了vxworks5.1下多网卡之间的的切换。
&&& 就vxworks 5.4来说,它本身是支持多网卡的。以下我们描述sbs pc104系统如何在vxworks下支持多个网络适配器的 冗余切换(以ne2000型为例)。
&&& 首先我们需要通过网卡配置程序对 环境中的所有网络适配器进行io基址和io中断的配置。本文假设系统中只有两个网络适配器,其io基址和io中断号如下所述。实际系统中可能会有多个网络适配器,其配置方法可依法类推,只要网卡的io基址和io中断不会和系统中的其他设备冲突即可。
&&& 在vxworks的增强形网络设备的驱动参数表enddevtb1中添加对两个网络适配器的驱动项。
&&& end_ene_load_func为设备加载回调函数。由于系统中的两个网络适配器是同种类型的网络适配器,所以使用相同的加载回调函数。
&&& 修改\tornado\target\config\pc486目录中的sysne2000end.c:
&&&&&&& sysne2000end.c包含了网络适配器的实际加载代码,end_ene_load_func定义的函数sysne2000endload(char*,void*)就在该文件中,需要修改sysne2000endload函数如下:
&&& 随后要在bootable的bsp工程目录下对pr rams.h文件进行修改,将ipmaxunits改到你所需要的网卡数目上,比如2,以要求系统支持多网卡并存。
&&& 上述的是对bsp的修改,以下我们以深圳盛博公司嵌入式deth模块为例进行说明对。sysexpanmodule/deth与novell公司的ne2000完全兼容,符合标准deth(以太)协议在板逻辑完成数据包的发送与接收。它提供两个10base-t接口以满足多网卡使用的需要,但我们可根据实际需要将其设置为相同的mac地址。
&&& 从实际运用的角度上来看,我们要对正在使用的接口进行查询,判断它是否处于正常工作状态。一般的网卡都具有自我判断能力并对其内部寄存器的值进行相应的修改,我们可以通过vxworks的底层函数sysoutbyte()与sysinbyte()以查询的方式不断来读取接口的内部寄存器的值。
&&& sysoutbyte(intnum,0xc0);
&&&&&&& enable=sysinbyte(intnum+3)&0x04;
&&& 当接口出现异常(enable==4),我们将进行接口的切换的。
&&& 作为双冗余备份,我们的发送端对于接受方来说应该是透明的。那么我们的两个接口需要的是同一个ip地址,这样就存在了地址冲突的问题。那么我们在使用新的接口之前必须去掉原先的接口的ip并在主机列表中删除它。否则,我们不可能以同一地址来驱动第二个接口。
&&& 完成上述步骤之后我们仍然可以通过同一广播发送程序进行发送,接受端只能识别出发送端的路由。笔者进行的测试表明,采用此种切换方式,切换时间可以达到10ms以内,而最终在中体现出来的正常切换时间在100ms左右,基本可以达到双冗余备份技术的要求(在驱动程序下完成冗余切换大约需要20-80ms左右)。
&&& 利用本文所述的方法,已在某导弹快艇 导航显控台项目中,成功地实现了vxworks环境<span style="font-size: 12 font-f搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
VxWorks环境下双网卡冗余备份技术的实现_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜& & 导读:网卡驱动程序的尴尬,好在现在有一种程序能将“NDIS2”转化为“Packet Driver”形式的网卡驱程序,现将配置内容给大家分享。下载地址:.cn/download2/PacketDriver.R=====================================================================共需要...正文:现在的新的网卡基本上不再有基于DOS的“Packet Driver”形式的网卡驱动程序,而是提供基于DOS的“NDIS2”形式的网卡驱动程序。由于大部份DOS下的TCP/IP程序是基于“Packet Driver”形式的网卡驱动程序驱动的,如Wattcp等等,造成开发DOS下的TCP/IP应用无法找到网卡驱动程序的尴尬,好在现在有一种程序能将“NDIS2”转化为“Packet Driver”形式的网卡驱程序,现将配置内容给大家分享。& & 下载地址:.cn/download2/PacketDriver.Rar& & ;=====================================================================& & 共需要6个支持文件& & (1)ProtMan.Dos文件,固定的。& & (2)DIS_PKT.Dos文件 ,固定的。& & (3)NDIS形式的网卡程序程序,不同网卡不同。& & (4)Protocol.Ini文件,大部份内容固定。& & (文件,固定的。& & (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:/& & 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& & ;=====================================================================& & 假设放在c:/net目录里面,须注意Protman.exe文件须同NetBind.Exe文件放在同一目录中。& & C盘根目录的Autoexec.Bat文件加上:& & (1)c:/& & 现假设6个支持文件的目录形式为& & c:/net/ProtMan.Dos& & c:/net/DIS_PKT.Dos& & c:/& & c:/net/Protman.Exe& & c:/net/Rtl81xx/rtsnd.dos& & c:/net/rtl81xx/protocol.ini& & 则Autoexec.Bat文件可以这样来配置& & path c:/c:/windows/c:/bc31& & lh smartdrv& & c:/& & ;=====================================================================& & 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文件。按照上面的转换方法,原来只有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驱动以后就可以高枕无忧了!& & 来源:/pcedu/system/Win9x/9668.html
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
上一篇:下一篇:
相关经验教程
论文写作技巧锐起-纯手工网卡pnp方法及文件(转贴)
&&没有公告
&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&
您现在的位置:&&>>&&>>&&>>&正文
锐起-纯手工网卡pnp方法及文件(转贴)
&&&热&&&&&★★★
【字体: 】
锐起-纯手工网卡pnp方法及文件(转贴)
作者:佚名&&&&文章来源:本站原创&&&&点击数:&&&&更新时间:&&&&
在这个论坛潜水了那么久。很感激各位的无私奉献。令我学了不少好东西。今天我也浮出来喘口气.小弟我初中没毕业口才不好。希望大家别介意。先发个文件吧-------------文件在我编缉贴子的时候不小心删了因为很晚了我就先不打方法了.这个文件集成了大部份的网卡及intelppm已改为手动启动,只要一种网卡能进系统再打上我这个文件.大部份的网卡都能开机了如果想了解手工pnp的朋友先顶起吧.明天我有时间就发手工网卡pnp的出来-----------------------------------------------------------------下面是手工网卡pnp的方法首先用硬盘安装好系统再安装客户端在启用主板启用网卡换槽功能处打勾-----------------------------[如图1]
之后找到注册表dlxppnp导出来之后找到网卡的服务名----------------------------------------------[如图2]
之后到到服务列表中找到服务.再导出.----------------------------[如图3]
最后到c:\\system32里找到pnpdrvs目录.拷出来------[如图4]
这样网卡pnp就完成了以后要做万能的系统包只要把注册表导进去.pnpdrvs目录拷进去就ok了.教程写的有点仓促.希望大家都能看得明白.------------------------------------------------------------------文件已包支持的网卡列表NetXtreme Gigabit Ethernet--------------------------------------------------------------BroadcomIntel(R) PRO/1000 Network Connection Driver----------------------------------------intel 千mIntel(R) PRO Adapter Driver--------------------------------------------------------------intel 100mVIA PCI 10/100Mb Fast Ethernet Adapter NT Driver---------------------------------via 100mIntel Processor Driver----------------------------------------------------------------------这个是intel cpu的。已改为手动NVIDIA nForce Networking Legacy Driver----------------------------------------------nf3/4系列NVIDIA nForce Networking Controller Driver-------------------------------------------nf5/6系列Realtek RTL8169 Family Gigabit Ethernet NIC----------------------------------------8169Realtek RTL8139(A/B/C)-based PCI Fast Ethernet Adapter NT Driver-----------8139Realtek 10/100/1000 PCI-E NIC Family NDIS XP Driver------------------------------8168全系列SiS PCI Fast Ethernet Adapter Driver----------------------------------------------------sis系列NDIS5.1 Miniport Driver for Marvell Yukon Ethernet Controller----------------------Marvell系列希望玩的朋友通过我这个方法能做出更全面网卡pnp。一包多配置的文件我正在整理当中。有需要的朋友顶起.----------------------------------------------------------------------------------------以下是一包多配置pnp方法摄像头pnp可以用奇东的摄像头pnp工具pciide的pnp发在15楼了.------可以减少把ide通道改为标准的时间显卡pnp发在18楼-----通过修改注册表。同时支持多种同牌子的显卡。如gf2 440----gf8100. 其它的资料不定期更新----------------------------------------------------------------------------------------09年4月22日星期三很久没更新这个贴子了。之前因为不小心删掉了pnp文件。现在重新补上最近一直没有什么时间所以都没去研究pnp前几天花了一些时间去做standard pc这个电源模式的研究。小有心得其中也发现了一些问题。一.standard pc安装nt apm/legacy不能启用的问题大家都知道nt apm/legacy是解决standard pc不能正常关机的好方法。但是由于在设备管理器禁用Micoft ACPI Driver时。注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ACPI服务并没有被改成手功。导至nt apm/legacy不能正常启动.所以安装nt apm/legacy后只要把HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ACPI的start改为3重启后就可以使用nt apm/legacy了二.当显卡驱动文件改为导致启动xp时。过了滚动条后黑屏。按我介绍的方法做多显卡pnp时。因为驱动文件在windows的改变导致启动过了滚动条后不能进入。遇过这种问题时可以通过以下方法解决。先用一台可以进系统的配置开超级用户进系统查找显卡所在的服务名如7050显卡为例此显卡装好驱动后原服务名为nv因pnp需要被我改成7050。到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下找到7050进入7050下enum找到0即第一种7025的pci键值.我这里是PCI\VEN_10DE&DEV_053B&SUBSYS_CB8410DE&REV_A2\3&2411e6fe&0&90然后到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI找到PCI\VEN_10DE&DEV_053B&SUBSYS_CB8410DE&REV_A2\3&2411e6fe&0&90先将这个键值的删除.(这里记得开权限要不然删不了)然后再回到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services处删除7050这样就ok了。重启再进系统重装驱动再次pnp就ok了。引起这种问题的主要原因还是驱动支持不够全面。平时没事时多整合驱动才是王道。
加速桌面图标显示:
8102e网卡pnp:&
文章录入:admin&&&&责任编辑:admin&
上一篇文章: 下一篇文章:
【】【】【】【】【】
  网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
91无盘网 版权所有 Copyright&
, All Rights Reserved. Powered By 91无盘网 站长:&& & QQ群:&get_adapter_address 获得本机网卡地址 WinSock-NDIS 网络编程 266万源代码下载-
&文件名称: get_adapter_address& & [
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 2286
&&提 供 者:
&详细说明:获得本机网卡地址- Obtains this machine net card address
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&get_adapter_address.txt
&[]:一般,勉强可用
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站266万海量源码库中尽情搜索:
&[] - 使用Winsock编写用IPX协议客户/服务器模式的聊天的程序
&[] - 对内存的分配、释放和使用进行检查,以发现不合法指针,减少程序BUG
&[] - MPEG-2和MP3编解码
&[] - jpeg图象解码C语言库源码,带一C++Builder范例
&[] - 反向连接+穿防火墙Shell,体积2.4k For:Delphi VI
本地开NC监听8848端口即可以测试,
&[] - 在VB中截获WIN2000/XP下TCP/IP包的源代码,在VB6.0,win2000/XP下测试通过
收到的封包存于数组。
&[] - PHP示例代码,是一本书中配套光盘中的示例代码
&[] - 用VC++制作QQ自动登陆软件,用不着过多介绍的。
程序功能齐全很专业。支持监控包括传输控制协议和 UDP 的所有的互联网传输协议。同时程序具有实时文件防修改监控功能,可以杜绝其他程序对主要系统文件的修改,而且你可以进行一键还原。同时和一些商业版的防火墙一样,支持以IP地址和端口的规则设置。可以自动屏蔽一些端口,系统提供了人性化的温馨入侵提示,如告
&[] - 目的:
构造帧对于理解网络协议的概念、协议执行过程,以及网络问题处理的一般方法具有重要的意义。本次练习的目的是通过数据链路层与介质访问控制层的学习,根据数据链路层的基本原理,针对普遍应用的Ethernet帧,通过构造一个具体的帧,引导同学深入理解网络协议的基本概念与网络问题处理的一般方法。

我要回帖

更多关于 网卡寄存器 批量发包 的文章

 

随机推荐