CN102033763B - 一种利用undi实现网络通信的方法 - Google Patents

一种利用undi实现网络通信的方法 Download PDF

Info

Publication number
CN102033763B
CN102033763B CN 201010559994 CN201010559994A CN102033763B CN 102033763 B CN102033763 B CN 102033763B CN 201010559994 CN201010559994 CN 201010559994 CN 201010559994 A CN201010559994 A CN 201010559994A CN 102033763 B CN102033763 B CN 102033763B
Authority
CN
China
Prior art keywords
rom
bios
undi
pxe
special
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.)
Active
Application number
CN 201010559994
Other languages
English (en)
Other versions
CN102033763A (zh
Inventor
刘奇
曾丽星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WUHAN OS-EASY CLOUD COMPUTING CO., LTD.
Original Assignee
WUHAN OS-EASY TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WUHAN OS-EASY TECHNOLOGY Co Ltd filed Critical WUHAN OS-EASY TECHNOLOGY Co Ltd
Priority to CN 201010559994 priority Critical patent/CN102033763B/zh
Publication of CN102033763A publication Critical patent/CN102033763A/zh
Application granted granted Critical
Publication of CN102033763B publication Critical patent/CN102033763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种利用UNDI实现网络通信的方法,先将专用BIOS扩展ROM刷入存储芯片内;该专用BIOS扩展ROM中包含一个支持UNDI接口的功能模块,该功能模块包括两个部分:初始化子程序、中断钩子子程序;当BIOS自动加载初始化子程序时,初始化子程序替换DHCP模块会调用的某一个系统中断服务程序的入口地址为中断钩子子程序的地址;中断钩子子程序用于UNDI驱动驻留内存后,中止PXE ROM继续运行。本发明所述的利用UNDI实现网络通信的方法,直接利用PXE ROM中的UNDI驱动实现网络通信,为远程维护软件提供网络通信服务,可以在不需要完整运行PXE ROM的情况下直接使用UNDI驱动,即在PXE ROM完成UNDI驱动的加载后,中止PXE ROM的运行。

Description

一种利用UNDI实现网络通信的方法
技术领域
本发明涉及计算机系统维护技术领域,具体说是一种利用UNDI(Universal Network Driver Interface,通用网络驱动接口)实现网络通信的方法。主要用来为工作在无操作系统环境下的远程维护软件提供通用可靠的网络通信服务。
背景技术
计算机远程维护的一种重要场景是在计算机开机启动进入操作系统引导之前,对计算机进行远程维护,比如杀毒、修复受损文件、安装新的操作系统等。在硬件没有故障的前提下,远程维护的通信基础是一个能够控制网卡的网卡驱动程序。
由于此场景没有操作系统,无法使用操作系统中的网卡驱动程序。因此需要一种可以工作在操作系统环境之外的网卡驱动程序。
由于各网卡厂家都支持美国Intel公司开发的PXE(PrebooteXecution Environment,预启动执行环境)规范,所以网卡厂家在提供网卡硬件的同时会配套提供支持PXE规范的网卡Option ROM,以下将支持PXE规范的网卡Option ROM,简称为PXE ROM。
PXE ROM符合BIOS扩展ROM规范,是BIOS扩展ROM的一个种类,所述BIOS扩展ROM是指:保存在只读存储芯片中的软件,这种只读存储芯片安装在计算机扩展卡或系统主板上。依据PXE规范,在PXEROM中包含一个支持UNDI接口的网卡驱动模块,以下简称UNDI驱动。PXE ROM将UNDI驱动作为网卡驱动使用。但由于UNDI驱动是PXE ROM的一部分,所以其它软件无法在不运行PXE ROM的情况下直接使用UNDI驱动。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种利用UNDI实现网络通信的方法,直接利用PXE ROM中的UNDI驱动实现网络通信,为远程维护软件提供网络通信服务,可以在不需要完整运行PXE ROM的情况下直接使用UNDI驱动,即在PXE ROM完成UNDI驱动的加载后,中止PXE ROM的运行。
为达到以上目的,本发明采取的技术方案是:
一种利用UNDI实现网络通信的方法,其特征在于,包括以下步骤:
步骤1、将专用BIOS扩展ROM刷入存储芯片内;
所述专用BIOS扩展ROM符合BIOS规范中关于BIOS扩展ROM的标准,且该专用BIOS扩展ROM中包含一个支持UNDI接口的功能模块,该功能模块包括两个部分:初始化子程序、中断钩子子程序;
步骤2、计算机开机引导,BIOS自动扫描BIOS扩展ROM,并自动加载被扫描到的BIOS扩展ROM中的初始化子程序,当专用BIOS扩展ROM被扫描到时,该专用BIOS扩展ROM的初始化子程序被加载,专用BIOS扩展ROM的初始化子程序修改中断向量表,替换PXE ROM的DHCP模块会调用的某一个系统中断服务程序的入口地址为专用BIOS扩展ROM的中断钩子子程序的地址,初始化子程序完成上述步骤后退出,控制权交回BIOS;
步骤3、BIOS在完成自动扫描BIOS扩展ROM过程后,按顺序加载可引导设备;当加载带有PXE ROM的网卡时,PXE ROM从BIOS获得控制权,PXE ROM执行引导操作时,依据PXE规范完成UNDI驱动的功能接口的准备工作;
步骤4、PXE ROM继续运行,接着调用DHCP模块,DHCP模块在执行过程中调用中断钩子子程序;
步骤5、中断钩子子程序被调用获得控制权后,中止PXE ROM继续运行,将控制权交回BIOS;完成上述步骤后,UNDI驱动已经驻留内存,只需要按照UNDI接口规范调用UNDI提供的API,即可进行网络通信。
在上述技术方案的基础上,所述存储芯片为:BIOS芯片,或采用PCI总线的外置卡的Option ROM芯片,或采用PCI-E总线的外置卡的Option ROM芯片。
在上述技术方案的基础上,步骤4的具体调用过程为:DHCP模块在执行过程中调用一些系统中断服务程序,当调用到入口地址已经被替换成中断钩子子程序的地址的系统中断服务程序的入口地址时,中断钩子子程序被DHCP模块调用。
在上述技术方案的基础上,专用BIOS扩展ROM的初始化子程序修改中断向量表,替换PXE ROM的DHCP模块会调用的编号为0x15或0x1A的系统中断服务程序的入口地址为专用BIOS扩展ROM的中断钩子子程序的地址。
本发明所述的利用UNDI实现网络通信的方法,直接利用PXE ROM中的UNDI驱动实现网络通信,为远程维护软件提供网络通信服务,可以在不需要完整运行PXE ROM的情况下直接使用UNDI驱动,即在PXE ROM完成UNDI驱动的加载后,中止PXE ROM的运行。
附图说明
本发明有如下附图:
图1本发明所述方法的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
本发明中,凡是未写明为芯片的,都是指软件范畴概念,凡是写明芯片的,都是指硬件范畴概念。例如:Option ROM是指软件范畴概念,即Option ROM软件;而Option ROM芯片是指硬件范畴概念。
专用BIOS扩展ROM有两种载体,一种是刷入BIOS芯片中,另一种刷入采用PCI总线或采用PCI-E总线的外置卡的Option ROM芯片中。
图1为本发明所述的利用UNDI实现网络通信的方法的流程图,包括以下步骤:
步骤1、将专用BIOS扩展ROM刷入存储芯片内;
所述存储芯片为:BIOS芯片,或采用PCI总线的外置卡的OptionROM芯片,或采用PCI-E总线的外置卡的Option ROM芯片;
所述专用BIOS扩展ROM符合BIOS规范中关于BIOS扩展ROM的标准,且该专用BIOS扩展ROM中包含一个支持UNDI接口的功能模块,该功能模块包括两个部分:初始化子程序、中断钩子子程序;
步骤2、计算机开机引导,BIOS自动扫描BIOS扩展ROM,并自动加载被扫描到的BIOS扩展ROM中的初始化子程序,当专用BIOS扩展ROM被扫描到时,该专用BIOS扩展ROM的初始化子程序被加载,专用BIOS扩展ROM的初始化子程序修改中断向量表,替换PXE ROM的DHCP模块会调用的某一个系统中断服务程序的入口地址为专用BIOS扩展ROM的中断钩子子程序的地址,初始化子程序完成上述步骤后退出,控制权交回BIOS;
DHCP模块会调用多个系统中断服务,专用BIOS扩展ROM的初始化子程序只需要替换任意一个DHCP模块会调用的系统中断服务程序的入口地址就可以获得控制权,例如:将编号为0x15或0x1A的系统中断服务程序的入口地址改为专用BIOS扩展ROM的中断钩子子程序的地址,初始化子程序完成上述步骤后退出,控制权交回BIOS;
步骤3、BIOS在完成自动扫描BIOS扩展ROM过程后,按顺序加载可引导设备,带有PXE ROM的网卡也属于可引导设备;当加载带有PXE ROM的网卡时,PXE ROM从BIOS获得控制权,PXE ROM执行引导操作时,依据PXE规范完成UNDI驱动的功能接口的准备工作;
步骤4、PXE ROM继续运行,接着调用DHCP(Dynamic HostConfiguration Protocol,动态主机设置协议)模块,DHCP模块在执行过程中调用中断钩子子程序;
DHCP模块在执行过程中会调用一些系统中断服务程序,由于在步骤2中DHCP模块会调用的某一个系统中断服务程序的入口地址已经被替换成中断钩子子程序的地址,所以当被替换的系统中断服务程序被调用时实际被调用的是中断钩子子程序;例如:DHCP模块在执行过程中调用编号为0x15和0x1A的系统中断服务程序,由于在步骤2中编号为0x15或0x1A的系统中断服务程序的入口地址已经被替换成中断钩子子程序的地址,所以被实际调用的是中断钩子子程序;
步骤5、中断钩子子程序被调用获得控制权后,中止PXE ROM继续运行,将控制权交回BIOS;
完成上述步骤后,UNDI驱动已经驻留内存,只需要按照UNDI接口规范调用UNDI提供的API,即可进行网络通信。
采用本发明提供的方法,可以在没有操作系统的环境下,直接利用UNDI驱动使用网络,避免了为各种网卡硬件单独编写驱动的麻烦。为运行在无操作系统环境下的远程维护软件提供了通用可靠的网络通信服务。
下面以保存在PCI总线网卡的Option ROM中为例说明其实现步骤。本发明所述利用UNDI实现网络通信的方法,提供专用BIOS扩展ROM。专用BIOS扩展ROM符合BIOS规范中关于BIOS扩展ROM的标准,且专用BIOS扩展ROM包含一个支持UNDI接口的功能模块,该模块包括两个部分:初始化子程序和中断钩子子程序。计算机网卡提供配套的支持PXE规范的网卡Option ROM,将网卡Option ROM简称为PXE ROM。
其具体步骤为:
步骤1、提供专用BIOS扩展ROM。专用BIOS扩展ROM符合BIOS规范中关于BIOS扩展ROM的标准,且专用BIOS扩展ROM包含一个支持UNDI接口的功能模块,该模块包括两个部分:初始化子程序和中断钩子子程序;将专用BIOS扩展ROM刷入PCI总线网卡的OptionROM中,将包含专用BIOS扩展ROM的PCI总线网卡的Option ROM简称为专用BIOS扩展ROM;
步骤2、计算机开机引导,BIOS会自动扫描BIOS扩展ROM(这是计算机现有标准中规定的,BIOS扫描,Option ROM是被扫描的对象),并对扫描到的BIOS扩展ROM进行初始化。当专用BIOS扩展ROM被扫描到,BIOS对专用BIOS扩展ROM进行初始化,专用BIOS扩展ROM的初始化子程序被调用,初始化子程序会修改中断向量表,替换PXE ROM的DHCP模块会调用的某一个系统中断服务程序的入口地址(DHCP模块会调用多个系统中断服务,我们只需要替换任意一个就可以获得控制权)改为专用BIOS扩展ROM的中断钩子子程序的地址。初始化子程序完成上述步骤后退出,控制权交回BIOS;
步骤3、BIOS在完成扫描过程后,会按顺序加载可引导设备,带有PXE ROM的网卡也属于引导设备。当PXE ROM从BIOS获得控制权,执行引导操作时,会依据PXE规范完成UNDI驱动的功能接口的准备工作;
步骤4、PXE ROM继续运行,接着调用DHCP模块,DHCP模块在执行过程中会调用一些系统中断服务程序进行初始化,由于在步骤2中DHCP模块会调用的某一个系统中断服务程序的入口地址已经被替换成中断钩子子程序的地址,所以当被替换的系统中断服务程序被调用时实际被调用的是中断钩子子程序;
步骤5、中断钩子子程序被调用获得控制权后,中止PXE ROM继续运行,将控制权交回BIOS。完成上述步骤后,UNDI驱动已经驻留内存,只需要按照UNDI接口规范调用UNDI提供的API,即可进行网络通信。
在具体实施时,其软硬件环境可能如下:
计算机的主板内置网卡,配有PXE ROM,因为主板内置网卡一般不再单独提供Option ROM的存储芯片。所以PXE ROM被保存在主板的BIOS芯片中。如果主板没有内置网卡,也可以单独配套一个PCI总线的网卡或PCI-E总线的网卡,但该网卡必须配套有PXE ROM,存储在网卡的ROM芯片中。
我们单独提供一片PCI总线的网卡,在网卡的ROM芯片中刷入我们的专用BIOS扩展ROM,
这样相当于计算机有两块网卡,一块网卡配PXE ROM,一块是我们的PCI总线网卡,配专用BIOS扩展ROM。
计算机进行网络通信时,使用的是配有PXE ROM的网卡。
我们的专用BIOS扩展ROM不一定要刷入网卡的Option ROM中,只要是符合PCI规范的卡,且支持Option ROM规范,都可以刷入我们的专用BIOS扩展ROM,但一般使用网卡比较方便。
因此最终的产品可分为两种:一种是使用的网卡+专用BIOS扩展ROM,另一种使用的是专用PCI设备+专用BIOS扩展ROM,专用PCI设备的设备类型不是网卡,而是新的设备类型。

Claims (1)

1.一种利用UNDI实现网络通信的方法,其特征在于,包括以下步骤:
步骤1、将专用BIOS扩展ROM刷入存储芯片内,所述存储芯片为:BIOS芯片,或采用PCI总线的外置卡的Option ROM芯片,或采用PCI-E总线的外置卡的Option ROM芯片;所述专用BIOS扩展ROM符合BIOS规范中关于BIOS扩展ROM的标准,且该专用BIOS扩展ROM中包含一个支持UNDI接口的功能模块,该功能模块包括两个部分:初始化子程序、中断钩子子程序;
步骤2、计算机开机引导,BIOS自动扫描BIOS扩展ROM,并自动加载被扫描到的BIOS扩展ROM中的初始化子程序,当专用BIOS扩展ROM被扫描到时,该专用BIOS扩展ROM的初始化子程序被加载,专用BIOS扩展ROM的初始化子程序修改中断向量表,替换PXE ROM的DHCP模块所调用的编号为0x15或0x1A的系统中断服务程序的入口地址为专用BIOS扩展ROM的中断钩子子程序的地址,初始化子程序完成上述步骤后退出,控制权交回BIOS;
步骤3、BIOS在完成自动扫描BIOS扩展ROM过程后,按顺序加载可引导设备;当加载带有PXE ROM的网卡时,PXE ROM从BIOS获得控制权,PXE ROM执行引导操作时,依据PXE规范完成UNDI驱动的功能接口的准备工作;
步骤4、PXE ROM继续运行,接着调用DHCP模块,DHCP模块在执行过程中调用一些系统中断服务程序,当调用到入口地址已经被替换成中断钩子子程序的地址的系统中断服务程序的入口地址时,中断钩子子程序被DHCP模块调用;
步骤5、中断钩子子程序被调用获得控制权后,中止PXE ROM继续运行,将控制权交回BIOS;完成上述步骤后,UNDI驱动已经驻留内存,只需要按照UNDI接口规范调用UNDI提供的API,即可进行网络通信。
CN 201010559994 2010-11-26 2010-11-26 一种利用undi实现网络通信的方法 Active CN102033763B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010559994 CN102033763B (zh) 2010-11-26 2010-11-26 一种利用undi实现网络通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010559994 CN102033763B (zh) 2010-11-26 2010-11-26 一种利用undi实现网络通信的方法

Publications (2)

Publication Number Publication Date
CN102033763A CN102033763A (zh) 2011-04-27
CN102033763B true CN102033763B (zh) 2013-09-04

Family

ID=43886697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010559994 Active CN102033763B (zh) 2010-11-26 2010-11-26 一种利用undi实现网络通信的方法

Country Status (1)

Country Link
CN (1) CN102033763B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169446B (zh) * 2011-05-16 2014-01-15 北京北大众志微系统科技有限责任公司 一种基于开源系统基本输入输出系统的bios系统和方法
CN105515786A (zh) * 2015-12-24 2016-04-20 浪潮电子信息产业股份有限公司 网卡、服务器以及预启动测试的方法
US11055104B2 (en) * 2019-10-23 2021-07-06 Mellanox Technologies, Ltd. Network-adapter configuration using option-ROM in multi-CPU devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862497A (zh) * 2005-05-12 2006-11-15 国际商业机器公司 通过undi服务维持因特网scsi通信的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155730A (ja) * 1998-11-20 2000-06-06 Toshiba Corp ネットワークコンピュータおよびそのログイン方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862497A (zh) * 2005-05-12 2006-11-15 国际商业机器公司 通过undi服务维持因特网scsi通信的方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JP特开2000-155730A 2000.06.06
一种基于BIOS嵌入式网卡驱动的设计与实现;赵文华;《中国优秀硕士学位论文全文数据库》;20070815(第02期);I137-25 *
赵文华.一种基于BIOS嵌入式网卡驱动的设计与实现.《中国优秀硕士学位论文全文数据库》.2007,(第02期),97.

Also Published As

Publication number Publication date
CN102033763A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
CN107423169B (zh) 用于测试高速外围设备互连设备的方法和系统
CN110134446B (zh) 启动pcie设备扫描的方法
US20080222406A1 (en) Hot-pluggable information processing device and setting method
CN111143256B (zh) 一种读取现场可更换单元信息的方法和装置
CN103853586A (zh) 一种在uefi层实现无线网卡驱动的方法
CN101211323A (zh) 一种硬件中断的处理方法和处理装置
US10303487B2 (en) System and method for booting an information handling system
US20150268970A1 (en) Selectively enabling platform-specific features
CN107463388A (zh) 一种uefi无盘启动方法
CN103593281A (zh) 测试系统及测试方法
TWI439869B (zh) 調整連結速度的方法及其電腦系統
CN102033763B (zh) 一种利用undi实现网络通信的方法
CN113760667A (zh) 一种硬盘管理方法、装置、可读存储介质及电子设备
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
US10491736B2 (en) Computer system and method thereof for bluetooth data sharing between UEFI firmware and OS
CN103842980B (zh) 用于协议中立织物的方法、系统和装置
KR20110120187A (ko) 저장 네트워크 환경에서 scsi 타겟으로부터 scsi 에러 응답을 커스터마이징하는 방법, 비-일시적 컴퓨터 판독 가능한 저장 매체, 저장 네트워크 환경에서 scsi 타겟으로부터 수신된 scsi 에러 응답을 커스터마이징하는 시스템
US7117353B2 (en) Methods and apparatus to enable console redirection in a multiple execution environment
US20200015296A1 (en) Computer system and method thereof for sharing of wireless connection information between uefi firmware and os
US20100241840A1 (en) System and method for resource assignment
CN107547277B (zh) 一种虚拟化控制板实现方法及网络通信设备
US20140040881A1 (en) Modem installation
US10007529B2 (en) Data terminal running mode switching method, device, and data terminal
CN115664953B (zh) 一种外接设备的资源分配方法及相关装置
CN101853142A (zh) 一种带虚拟光驱的usb设备的识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: WUHAN AOYI CLOUD COMPUTING CO., LTD.

Free format text: FORMER OWNER: WUHAN OS-EASY TECHNOLOGY CO., LTD.

Effective date: 20150213

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 430074 WUHAN, HUBEI PROVINCE TO: 430000 WUHAN, HUBEI PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150213

Address after: Optics Valley creative building No. 465 430000 Guanshan Wuhan East Lake New Technology Development Zone, Hubei Province Road 17 room 1701

Patentee after: WUHAN OS-EASY CLOUD COMPUTING CO., LTD.

Address before: 6, 7 SBI building, 430074 pioneering street, East Lake hi tech Development Zone, Wuhan, Hubei

Patentee before: Wuhan Os-easy Technology Co., Ltd.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 430000 Hubei city of Wuhan Province, East Lake New Technology Development Zone, Optics Valley Road No. 465 building 17 room 1701 creative

Patentee after: WUHAN OS-EASY CLOUD COMPUTING CO., LTD.

Address before: Optics Valley creative building No. 465 430000 Guanshan Wuhan East Lake New Technology Development Zone, Hubei Province Road 17 room 1701

Patentee before: WUHAN OS-EASY CLOUD COMPUTING CO., LTD.