CN102082715A - 网卡重置的测试方法 - Google Patents
网卡重置的测试方法 Download PDFInfo
- Publication number
- CN102082715A CN102082715A CN2009102533372A CN200910253337A CN102082715A CN 102082715 A CN102082715 A CN 102082715A CN 2009102533372 A CN2009102533372 A CN 2009102533372A CN 200910253337 A CN200910253337 A CN 200910253337A CN 102082715 A CN102082715 A CN 102082715A
- Authority
- CN
- China
- Prior art keywords
- network interface
- interface card
- reset
- testing
- pci
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
一种网卡重置的测试方法,适用于网卡(NetworkInterfaceCard,NIC),网卡与周边组件互联标准总线(Peripheral Component Interconnect bus,PCI bus)相连。网卡重置的测试方法包含:禁用网卡;取得PCI总线中与网卡对应的设备节点;将设备节点具有的配置空间(configuration space)数据纪录为原始数据;取得PCI总线中与设备节点于对应的PCI桥接器;通过PCI桥接器重置网卡;依据原始数据,设定设备节点的配置空间数据;启用网卡,使得网卡初始化;读取网卡所具有的至少一个网卡缓存器的值;判断网卡缓存器的值是否正确;以及输出判断结果。
Description
技术领域
本发明涉及一种网卡重置的测试方法,特别是一种将网卡整体进行重置的测试方法。
背景技术
科技发展至今,现代人的生活已经几乎离不开网络。而无论是连接计算器系统到因特网(Internet),或是建构局域网络(Local Area Internet,LAN),网卡(Network Interface Card,NIC,又称网络配接卡)都是最必须的。网卡为计算器系统之间的数据通讯提供实体连接,每一台欲接入网络的计算器系统都得要安装网卡。市面上绝大多数的笔记型计算机、桌上型计算机或是服务器均内建有网卡,足见其普及性。
正由于网卡是计算器网络中极为重要的基本设备,网卡的故障会影响运行的计算器系统的网络功能;若是重要服务器的网卡发生故障,甚至会影响到整个网络的正常运行。因此网卡的制造厂商在将产品出货前,均需对每一个网卡进行严格的测试。其中对于网卡之硬件的核心部件测试时,对网卡进行重置(reset)操作是不可或缺的测试项目之一。
传统的重置测试方法系依据网卡的个别的规格操作网卡的多个控制缓存器(control register),以将网卡中对应的部件重置。由于并不是所有的部件都有对应的控制缓存器,所以重置操作可能无法涵盖所有的核心部件。再者,由于传统的重置测试方法需依据不同型号的网卡的个别的规格进行操作,故测试程序的程序代码不通用。如此一来,测试程序需针对每一种型号的网卡,参照规格说明书编写程序代码,十分费工且程序代码也不易维护。
此外,控制缓存器会同时被测试程序以及网卡内部的固件操作。因此操作控制缓存器时必须与固件进行协调,以免测试程序以及固件同时操作时造成数据不一致或是重置操作失败。但这种做法必须大量且非常繁琐地操作控制缓存器,不但耗费时间,而且容易出错。
综上所述,传统的网卡重置测试方法具有测试不完全、测试用程序代码不通用于各种网卡型号,以及操作上复杂费时甚至容易出错的问题。
发明内容
本发明所要解决的技术问题是提供一种网卡重置的测试方法,适用于一网卡(Network Interface Card,NIC),网卡与一周边组件互联标准总线(Peripheral Component Interconnect bus,PCI bus)相连。
为了实现上述目的,本发明提供了一种网卡重置的测试方法,适用于一网卡,该网卡系与一周边组件互联标准总线相连,该网卡重置的测试方法包括:
禁用该网卡;
取得该PCI总线中与该网卡对应的一设备节点;
将该设备节点具有的一配置空间数据记录为一原始数据;
取得该PCI总线中与该设备节点对应的一PCI桥接器;
通过该PCI桥接器重置该网卡;
依据该原始数据,设定该设备节点的该配置空间数据;
启用该网卡,使得该网卡初始化;
读取该网卡所具有的至少一网卡缓存器的值;
判断该网卡缓存器的值是否正确;以及
输出一判断结果。
上述的网卡重置的测试方法,其中该禁用该网卡的步骤包括:
卸除对应该网卡的一网卡驱动程序。
上述的网卡重置的测试方法,其中该启用该网卡,使得该网卡初始化的步骤之前,还包括:
挂载该网卡驱动程序予该网卡。
上述的网卡重置的测试方法,其中该配置空间数据包括一基本地址缓存器。
上述的网卡重置的测试方法,其中在通过该PCI桥接器重置该网卡所属的该设备节点后,该网卡于一检测状态或一轮询状态,并进行该依据该原始数据,设定该设备节点的该配置空间数据的步骤。
上述的网卡重置的测试方法,其中该通过该PCI桥接器重置该网卡的步骤还包括:
通过该PCI桥接器的一连结控制暂存,禁能一子PCI总线,该子PCI总线连接该PCI桥接器与该网卡;以及
通过该连结控制缓存器重新致能与该网卡相连的该子PCI总线。
上述的网卡重置的测试方法,其中该网卡缓存器储存一媒介存取控制层数据。
上述的网卡重置的测试方法,其中该网卡缓存器储存一物理层数据。
上述的网卡重置的测试方法,其中该网卡缓存器储存一直接内存存取数据。
网卡重置的测试方法包括:禁用网卡;取得PCI总线中与网卡对应的一设备节点;将设备节点具有的一配置空间(configuration space)数据记录为一原始数据;取得PCI总线中与设备节点于对应的一PCI桥接器;通过PCI桥接器重置与网卡;依据原始数据,设定设备节点的配置空间数据;启用网卡,使得网卡初始化;读取网卡所具有的至少一个网卡缓存器的值;判断网卡缓存器的值是否正确;以及输出判断结果。
根据本发明的一实施范例,网卡重置的测试方法可卸除对应网卡的网卡驱动程序以禁用网卡。而在启用网卡使得网卡初始化的步骤之前,网卡重置的测试方法可重新挂载网卡驱动程序予网卡。
根据本发明的一实施范例,在通过PCI桥接器重置网卡所属的设备节点后,网卡即自动进入一检测状态(detect state)或一轮询状态(pollingstate)。网卡重置的测试方法并于网卡仍处于检测状态或是轮询状态时,依据原始数据来设定设备节点的配置空间数据。而为了通过PCI桥接器重置网卡,网卡重置的测试方法可先通过PCI桥接器的一连结控制缓存器(linkcontrol register)而禁能(disable)连接PCI桥接器与网卡的一子PCI总线;并通过连结控制缓存器重新致能(enable)与网卡相连的子PCI总线。
此外,配置空间数据可包括一基本地址缓存器(Base Address Register)。网卡缓存器则可储存一媒介存取控制层(Media Access Control layer,MAClayer)数据、一物理层(Physical Layer)数据,或是一直接内存存取(DirectMemory Access,DMA)数据。
本发明的技术效果在于:根据本发明的实施范例的网卡重置的测试方法操作相连于网卡的PCI桥接器,以将整个网卡作为一体进行重置。网卡重置的测试方法并检查至少一网卡缓存器是否恢复为默认值,以判断网卡在重置的后是否恢复正常运作。基于上述方法仅需操作PCI桥接器即可重置各种型号的网卡,也不须谨慎地与网卡驱动程序周旋,故可解决传统的网卡重置测试方法的测试不完全、测试用程序代码不通用于各种网卡型号,以及操作上复杂费时甚至容易出错的问题。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为根据本发明一实施例的网卡的连接示意图;
图2为根据本发明一实施例的网卡的方块示意图;
图3为根据本发明一实施例的网卡重置的测试方法的执行流程示意图。
其中,附图标记
20 中央处理器
22 PCI总线
24、24a、24b PCI桥接器
25 PCI装置
26 网卡
261 物理(PHY)层模块
262 PHY层端媒介独立接口
265 媒介存取控制(MAC)层模块
266 MAC层端媒介独立接口
267 逻辑链接控制(LLC)层模块
269 PCI界面
28、28a、28b PCI子总线
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
根据本发明的一实施例提供一种网卡重置的测试方法,通过与一网卡相连的一PCI总线,将网卡整体全部进行重置与检验。请同时参考图1,其为根据本发明一实施例的网卡的连接示意图。由图1可见,一中央处理器20与PCI总线22相连,而PCI总线22通过一PCI桥接器24与一PCI子总线28相连。通过PCI总线22、PCI桥接器24以及PCI子总线28,中央处理器20与网卡26以及一PCI装置25相连。
中央处理器20可以是被配置于一个笔记型计算机、桌上型计算机或是服务器等计算器系统的中央处理单元(Central Processing Unit)。此计算器系统能通过网卡26与因特网或是局域网络相连。PCI总线22连接计算器系统中主机板上的中央处理器20和外部设备,而通过PCI总线22与中央处理器20相连的外部设备即称为PCI设备(也就是PCI装置25)。
本说明书中虽仅以PCI为例,但于说明书中所述的PCI也包含PCI的后续标准,即快捷周边组件互联标准(Peripheral Component Interconnect Express,PCIe或称PCI-E)。由于PCIe是基于现有的PCI系统而具有向下兼容性,因此,当将PCI更换为PCIe时,只需修改物理层的硬件而无须修改系统上的软件就可将现有PCI系统转换为PCIe。此外,PCI总线22指连接于中央处理器20的主总线。
PCI桥接器24用以连接不同段的总线,更详细的说,PCI桥接器24连接作为主总线的PCI总线22以及其余的PCI子总线28。除了网卡26之外,PCI装置25还可以例如是声卡或显示卡等扩充卡,或是直接配置放在主板上的集成电路。如图1所示,网卡26通过PCI桥接器24a以及PCI子总线28a挂载于PCI总线22上,而PCI装置25通过PCI桥接器24b以及PCI子总线28b挂载于PCI总线22上。
请同时参照图2,其为根据本发明一实施范例的网卡的方块示意图。由图2可见,网卡26包括一物理层(Physical layer,PHY layer)模块261、一物理层媒介独立接口(PHY Media Independent Interface,PHY MII)262、一媒介存取控制层(Media Access Control layer,MAC layer)模块265、一媒介存取控制层端媒介独立接口(MAC MII)266、一逻辑链接控制层(Logical Link Controllayer,LLC layer)模块267以及一PCI接口269。
网卡26属于计算器网络开放式通信系统互联参考模型(Open SystemInterconnection Reference Model,OSI模型)的物理层以及数据链路层(DataLink Layer)。物理层模块261处理OSI模型中最低一层,也就是物理层的信号。物理层模块261可包括物理编译码层(PCS)、其它介质相关层(PMA,PMD,MDI)以及隔离变压器电路等。
媒介存取控制层模块265以及逻辑链接控制层模块267则分别处理OSI模型中数据链路层的媒介存取控制层(MAC层)以及逻辑链接控制层的信号。其中媒介存取控制层模块265中可包括微处理器、内建内存和直接内存存取(Direct Memory Access,DMA)控制器等等。
此外,物理层模块261与媒介存取控制层模块265以及逻辑链接控制层模块267之间,则通过物理层媒介独立接口262以及媒介存取控制层模块(MACMII)265进行沟通。PCI接口269则用以使网卡26与PCI子总线28进行沟通。
接下来请参照图3,其为根据本发明一实施范例的网卡重置的测试方法的执行流程示意图。由图3可见,网卡重置的测试方法可包括步骤S30:禁用网卡26;步骤S32:取得PCI总线22中与网卡26相对应的一设备节点;步骤S34:将设备节点具有的一配置空间数据记录为一原始数据;步骤S36:取得PCI总线22中与设备节点于对应的PCI桥接器24a;步骤S38:通过PCI桥接器24a重置网卡26;步骤S40:依据原始数据,设定设备节点的配置空间数据;步骤S42:启用网卡26,使得网卡26初始化;步骤S44:读取网卡26所具有的至少一网卡缓存器的值;步骤S46:判断网卡缓存器的值是否正确;以及步骤S48:输出一判断结果。
首先于步骤S30,在操作系统中禁用网卡26,以避免其它程序使用网卡26而进行与网卡26之间的数据传输。较佳的是,网卡重置的测试方法可通过操作系统暂停或卸除网卡26的一网卡驱动程序。卸除网卡驱动程序的做法可以彻底避免其它程序误用网卡26,以避免进行重置测试时受到不必要的干扰。
接着于步骤S32扫描PCI总线22,以取得PCI总线22中与网卡26相对应的设备节点的识别码(ID)。一个PCI装置25对应至少一个设备节点;而根据本发明的一实施例,网卡26具有多个连接端口(port),且每一个连接端口对应于一个设备节点。网卡重置的测试方法扫描所有的PCI装置25,并通过每一个PCI装置25具有的一PCI功能地址(PCI Function Address)或是一厂商/设备/功能辨识码(Vender/Device/Function ID)找出与网卡26对应的至少一个设备节点。网卡重置的测试方法并得到与网卡26对应的设备节点的ID,以便在后续的步骤对此设备节点进行处理。
取得与网卡26对应的设备节点后,于步骤S34保存设备节点所具有的配置空间数据作为原始数据,以便于重置网卡26后重新配置网卡26用。设备节点的配置空间数据为基本输入输出系统(Basic Input/Output System,BIOS)给网卡26的地址映像。举例来说,于PCI3.0标准中,配置空间数据可包括PCI装置ID、上述的厂商/设备/功能ID以及六个基本地址缓存器(Base AddressRegisters)等网卡26(及其连接端口)所具有的资本数据。较佳的是,步骤S34保存配置空间数据中所有基本地址缓存器的值作为原始数据。
接着于步骤S36,根据PCI规范以及设备节点的信息,取得与PCI总线22相连的PCI桥接器24中,哪一个PCI桥接器24与网卡26相连。而如图1所示,网卡26挂载于PCB桥接器24a下。找到与网卡26相连的PCI桥接器24a后,网卡重置的测试方法也取得PCI桥接器24a的ID以利后续对PCI桥接器24a进行处理。
取得网卡26对应的PCI桥接器24a后,于步骤S38中,网卡重置的测试方法通过操作连接于PCI桥接器24a的PCI子总线28a,将整个网卡26重置。根据本发明的一实施例,网卡重置的测试方法通过操作PCI桥接器24a的一连结控制缓存器(link control register)重置网卡26。连结控制缓存器控制PCIe连接规格参数,且依据PCI标准通过连结控制缓存器将PCI子总线28a禁能(disable)之后再致能(enable),便会触发网卡26的重置信号,而将网卡26整体重置。
网卡26被重置之后硬件的数据(例如各种缓存器以及指针值)均变为无效,且网卡26内存的数据可能仅为随机数而无法使用。此时网卡26即自动进入一检测状态(detect state)或一轮询状态(polling state),且网卡重置的测试方法是当网卡26处于检测状态或轮询状态时进行步骤S40。也就是说,网卡重置的测试方法不待操作系统将网卡26重新配置(即网卡26进入配置状态,configuration state),便依据原始数据重新配置设备节点的配置空间数据。换句话说,于步骤S40中,网卡重置的测试方法恢复网卡26,即网卡26的所有连接端口的基本地址缓存器。
接着于步骤S42,网卡重置的测试方法启用网卡26,使得网卡26初始化。较佳的是,网卡重置的测试方法令操作系统重新将网卡驱动程序挂载予网卡26,以启用网卡26。如此一来,网卡26重新被初始化为可以使用的状态,且网卡26内存的各个缓存器的数据也应恢复为默认值(default value)。
于步骤S44,网卡重置的测试方法读取网卡26的至少一个网卡缓存器的值,通过确认网卡缓存器的值是否回到默认值来判断重置后的网卡26是否运作正常。网卡缓存器可以是储存与MAC层相关的一媒介存取控制层数据,例如RX Packet Buffer Size Register。网卡缓存器也可以是储存与物理层相关的一物理层数据,例如PHY Control Register。此外,网卡缓存器令可以是储存与DMA相关的一直接内存存取数据,例如DMA Tx Switch Control Register。
最后于步骤S46中,确认于步骤S44所读取的网卡缓存器的值是否与NICDatasheet(规格书)中所制定的默认值相同。若相同,则可输出例如“正确”作为测试结果;反之,若网卡缓存器的值并无恢复为默认值,则可输出“失败”作为测试结果。
对网卡进行重置测试的目的为了检测网卡在状态混乱的情况下,是否具有无须重新启动计算器系统就能恢复正常工作的能力。根据本发明的实施例的网卡重置的测试方法操作相连于网卡的PCI桥接器,以将整个网卡作为一体进行重置。因此仅需操作PCI桥接器即可重置各种型号的网卡,也可全面性地测试到网卡被重置后的状况。此外,本网卡重置的测试方法也不须谨慎地与网卡驱动程序周旋,操作流程被大幅简化。因此本发明所提供的网卡重置的测试方法可解决传统的网卡重置测试方法的测试不完全、测试用程序代码不通用于各种网卡型号,以及操作上复杂费时甚至容易出错的问题。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1.一种网卡重置的测试方法,适用于一网卡,该网卡与一周边组件互联标准总线相连,其特征在于,该网卡重置的测试方法包括:
禁用该网卡;
取得该PCI总线中与该网卡对应的一设备节点;
将该设备节点具有的一配置空间数据记录为一原始数据;
取得该PCI总线中与该设备节点对应的一PCI桥接器;
通过该PCI桥接器重置该网卡;
依据该原始数据,设定该设备节点的该配置空间数据;
启用该网卡,使得该网卡初始化;
读取该网卡所具有的至少一网卡缓存器的值;
判断该网卡缓存器的值是否正确;以及
输出一判断结果。
2.如权利要求1所述的网卡重置的测试方法,其特征在于,该禁用该网卡的步骤包括:
卸除对应该网卡的一网卡驱动程序。
3.如权利要求2所述的网卡重置的测试方法,其特征在于,该启用该网卡,使得该网卡初始化的步骤之前,还包括:
挂载该网卡驱动程序予该网卡。
4.如权利要求1所述的网卡重置的测试方法,其特征在于,该配置空间数据包括一基本地址缓存器。
5.如权利要求1所述的网卡重置的测试方法,其特征在于,在通过该PCI桥接器重置该网卡所属的该设备节点后,该网卡于一检测状态或一轮询状态,并进行该依据该原始数据,设定该设备节点的该配置空间数据的步骤。
6.如权利要求1所述的网卡重置的测试方法,其特征在于,该通过该PCI桥接器重置该网卡的步骤还包括:
通过该PCI桥接器的一连结控制暂存,禁能一子PCI总线,该子PCI总线连接该PCI桥接器与该网卡;以及
通过该连结控制缓存器重新致能与该网卡相连的该子PCI总线。
7.如权利要求1所述的网卡重置的测试方法,其特征在于,该网卡缓存器储存一媒介存取控制层数据。
8.如权利要求1所述的网卡重置的测试方法,其特征在于,该网卡缓存器储存一物理层数据。
9.如权利要求1所述的网卡重置的测试方法,其特征在于,该网卡缓存器储存一直接内存存取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102533372A CN102082715A (zh) | 2009-11-30 | 2009-11-30 | 网卡重置的测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102533372A CN102082715A (zh) | 2009-11-30 | 2009-11-30 | 网卡重置的测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102082715A true CN102082715A (zh) | 2011-06-01 |
Family
ID=44088471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102533372A Pending CN102082715A (zh) | 2009-11-30 | 2009-11-30 | 网卡重置的测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102082715A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917390A (zh) * | 2012-09-21 | 2013-02-06 | 北京创毅讯联科技股份有限公司 | 一种控制lte数据卡的连接状态的方法和系统 |
CN105354167A (zh) * | 2015-11-17 | 2016-02-24 | 无锡江南计算技术研究所 | 一种pci桥次级总线复位的缓冲排空方法 |
CN111464377A (zh) * | 2020-03-12 | 2020-07-28 | 苏州浪潮智能科技有限公司 | 一种网卡检验方法、装置、设备及存储介质 |
-
2009
- 2009-11-30 CN CN2009102533372A patent/CN102082715A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917390A (zh) * | 2012-09-21 | 2013-02-06 | 北京创毅讯联科技股份有限公司 | 一种控制lte数据卡的连接状态的方法和系统 |
CN105354167A (zh) * | 2015-11-17 | 2016-02-24 | 无锡江南计算技术研究所 | 一种pci桥次级总线复位的缓冲排空方法 |
CN105354167B (zh) * | 2015-11-17 | 2018-01-19 | 无锡江南计算技术研究所 | 一种pci桥次级总线复位的缓冲排空方法 |
CN111464377A (zh) * | 2020-03-12 | 2020-07-28 | 苏州浪潮智能科技有限公司 | 一种网卡检验方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423169B (zh) | 用于测试高速外围设备互连设备的方法和系统 | |
US7715450B2 (en) | Sideband bus setting system and method thereof | |
US20060161714A1 (en) | Method and apparatus for monitoring number of lanes between controller and PCI Express device | |
US8103993B2 (en) | Structure for dynamically allocating lanes to a plurality of PCI express connectors | |
JP2000305678A (ja) | コンピュータ・システムの電源を切らずに構成要素を追加および除去する方法および装置 | |
US20080034122A1 (en) | Apparatus and Method to Detect Miscabling in a Storage Area Network | |
US8775712B2 (en) | Bus connecting device for connecting host with external device | |
US11704269B2 (en) | Switch pruning in a switch fabric bus chassis | |
US10762029B2 (en) | Electronic apparatus and detection method using the same | |
CN102053898A (zh) | 针对主机pcie插槽上总线接口的测试方法及其读写测试方法 | |
KR20040052239A (ko) | 전자 장치 및 전자 장치의 자동 설정 방법 | |
US20220283978A1 (en) | Data transmission system, data transmission apparatus and data transmission method thereof | |
CN102082715A (zh) | 网卡重置的测试方法 | |
CN110830563A (zh) | 一种主从架构服务器及其信息读写方法 | |
CN116126613A (zh) | 一种PCIe设备的位置检测方法、装置、电子设备及存储介质 | |
US20060095626A1 (en) | Multifunction adapter | |
CN100520727C (zh) | 直立转接卡类型辨识方法及系统 | |
CN111723032B (zh) | 一种中断管控方法及电子设备 | |
CN115905072A (zh) | 计算机系统、基于PCIe设备的控制方法及相关设备 | |
CN102479129B (zh) | 周边组件状态的检测装置 | |
TW201118559A (en) | Test method for resetting network interface card | |
US20050125583A1 (en) | Detecting method for PCI system | |
TW202111548A (zh) | 複雜可程式邏輯裝置及其運作方法 | |
CN212229628U (zh) | 从机设备 | |
CN111124970B (zh) | 子板热插拔方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110601 |