CN104809083A - 获取网卡硬件地址的方法 - Google Patents

获取网卡硬件地址的方法 Download PDF

Info

Publication number
CN104809083A
CN104809083A CN201410036974.5A CN201410036974A CN104809083A CN 104809083 A CN104809083 A CN 104809083A CN 201410036974 A CN201410036974 A CN 201410036974A CN 104809083 A CN104809083 A CN 104809083A
Authority
CN
China
Prior art keywords
interface card
network interface
address
bus
described network
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
Application number
CN201410036974.5A
Other languages
English (en)
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.)
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry 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 Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CN201410036974.5A priority Critical patent/CN104809083A/zh
Publication of CN104809083A publication Critical patent/CN104809083A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

一种获取网卡硬件地址的方法,应用于网络设备中,该方法包括:开机时,读取网络设备的网卡的总线地址信息;判断所述网卡的总线地址是否为0x0或0xFF;当所述网卡的总线地址不为0x0或0xFF时,读取其基地址信息;根据所述网卡的基地址对应的映射空间内的指定偏移位置,读取所述网卡的MAC地址;将所述网卡的MAC地址保存为Setup变量,显示在BIOS人机界面。利用本发明可以在开机时自动侦测网络设备的网卡的MAC地址,并在BIOS人机界面上显示出来,方便用户查看,提高用户的体验效果。

Description

获取网卡硬件地址的方法
技术领域
本发明涉及一种获取网卡硬件地址的方法。
背景技术
MAC(Media Access Control)地址即硬件地址,是一种用以定义网络设备位置的专属地址;网卡是工作在链路层的网络组件,是网络中连接计算机和传输介质的接口;当进行网络传输时,辨别网络设备的唯一标识即为该设备的网卡的MAC地址,只有通过网卡的MAC地址,网络才能识别发出资料的网络设备和接收资料的网络设备。目前,获取网卡的MAC地址一般需要进入到网络设备的操作系统,通过系统自带的命令或者其他软件才能获取,非常的不方便。
发明内容
鉴于以上内容,有必要提供一种获取网卡硬件地址的方法,在开机时自动侦测网络设备的网卡的MAC地址,并在BIOS(Basic Input OutputSystem:基本输入输出系统)人机界面上显示出来,方便用户查看。
一种获取网卡硬件地址的方法,应用于网络设备中,该方法包括:开机时,读取网络设备的网卡的总线地址信息;判断所述网卡的总线地址是否为0x0或0xFF;当所述网卡的总线地址不为0x0或0xFF时,读取其基地址信息;根据所述网卡的基地址对应的映射空间内的指定偏移位置,读取所述网卡的MAC地址;将所述网卡的MAC地址保存为Setup变量,显示在BIOS人机界面。
相较于现有技术,本发明利用BIOS开机时,自动侦测网络设备的网卡的MAC地址,既不会增加硬件和生产成本,还可以节省获取网卡MAC地址的时间,便于客户快速获悉主板上网卡相关信息,同时可以增加产品特色和卖点,提高了用户的体验效果。
附图说明
图1是本发明获取网卡硬件地址的方法较佳实施例的流程图。
图2是本发明获取网卡硬件地址的方法的具体实施例的流程图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
参阅图1所示,是本发明获取网卡硬件地址的方法较佳实施例的流程图。在本实施例中,所述的获取网卡硬件地址的方法应用于网络设备中,该方法通过将整合过的一系列已知的程序指令写入所述网络设备的BIOS芯片中,使其在所述网络设备开机时自动运行,侦测所述网络设备的网卡的MAC地址(即该网卡的硬件地址),并将其显示在BIOS人机界面中,以方便用户查看。所述的网络设备可以是一种桌上型计算机、笔记本、一体机或者服务器等电子装置。
如图1所示,本发明所述的获取网卡硬件地址的方法,通过下述步骤S21至步骤S25,使所述网络设备在开机时自动侦测其网卡的MAC地址,并在BIOS人机界面上显示出来,以方便用户查看,提高用户的体验效果。
步骤S21,开机时,读取网卡的总线地址信息。
网卡一般是挂载在网络设备的芯片组的根端口上,因此,读取所述网络设备的网卡的总线地址信息包括以下步骤:首先,查询网络设备的芯片组的总线端口信息;其次,根据不同平台的设计规范及硬件线路设计找到挂载网卡的根端口;最后,查询所述网络设备的芯片组总线根端口上的子总线地址寄存器,读取该寄存器中的信息,即为所述网卡的总线地址信息。
步骤S22,判断所述网卡的总线地址是否为0x0或0xFF,如果是则结束流程,否则,进入步骤S23。
一般情况下,网络设备总线上的根端口地址的值处于0x0与0xFF之间,且不能为所述的两个界值。因此,如果读取到的网卡的总线地址不是0x0或0xFF这两个值,则说明网卡被正常识别,可进行后续步骤;否则,说明网卡不能被正常识别,在后续的显示步骤中将无法在BIOS人机界面中显示出一个有效的MAC地址值,其显示的MAC地址为“FF-FF-FF-FF-FF-FF”的无效值。
步骤S23,读取所述网卡的基地址信息。
当所述网卡的总线地址为非0x0或0xFF时,根据PCI(PeripheralComponent Interconnect:局部总线的标准)总线规范,读取所述网卡的PCI配置空间内的10h号寄存器中的信息,该信息即为所述网卡的基地址信息。
步骤S24,读取所述网卡的MAC地址。
一般情况下,网卡的MAC地址存放在其基地址对应的映射空间内的指定偏移位置上。所述的映射空间一般分为两种:内存空间以及I/O(input/output:输入/输出)空间,由网卡使用的地址映射方式所决定。网卡的地址映射方式相应的也分为两种:内存映射方式和I/O映射方式,内存映射方式对应内存空间,I/O映射方式对应I/O空间。网卡使用的地址映射方式由其基地址的第0位的值决定:当所述第0位的值为1时,所述网卡使用的地址映射方式为I/O映射方式;当所述第0位的值为0时,所述网卡使用的地址映射方式为内存映射方式。因此,本发明读取所述网卡的MAC地址包括两个步骤:首先,读取所述网卡的基地址的第0位的值,查询所述网卡使用的地址映射方式;其次,根据所述网卡使用的地址映射方式及所述网卡芯片的设计规格书,在对应的映射空间内的指定偏移位置,读取所述网卡的MAC地址。
步骤S25,将读取到的所述网卡的MAC地址保存为一个Setup变量,显示在BIOS人机界面中。所述的Setup即为BIOS的人机交互界面的变量,该界面中的每一个项目都会对应着一个Setup变量去存储此项目的值。
在本实施例中,上述步骤所述的获取网卡硬件地址的方法适用于各种不同平台的芯片组。当然,在应用于特定平台的芯片组时,如应用于Intel(Intel Corporation:英特尔公司)平台或者AMD(Advanced MicroDevices:AMD公司)平台的芯片组时,某些步骤会有细微的差别,其步骤的差异将在后文图2所示的具体实施例的流程图中做详细描述。
参阅图2所示,是本发明获取网卡硬件地址的方法具体实施例的流程图。本实施例中,所述的网卡芯片为Realtek公司发行的RTL8111E或RTL8111F网卡芯片(下文均以RTL8111E为例说明),挂载于Intel平台8系列的H81芯片组中。则本发明所述的获取网卡硬件地址的方法应用于本实施例中的具体步骤如下:
步骤S31,开机时,读取H81芯片组的总线端口信息,根据Intel南桥规范及硬件线路设计,查询所述RTL8111E网卡芯片挂载的PCIE(PCI-Express:总线和接口标准)控制器(即根端口)信息。
所述的Intel南桥规范是Intel公司建立的Intel平台南桥芯片的设计规则,根据该规范的规定,Intel平台的南桥芯片有八个PCIE控制器(即八个根端口),所述的RTL8111E网卡芯片具体挂载在哪个PCIE控制器下,则需要结合H81芯片组的硬件线路设计来获取。
步骤S32,根据获取的PCIE控制器信息,读取该PCIE控制器下的19h号寄存器内的信息,即为下一级PCI总线(或PCI子总线)的总线地址,即为所述的RTL8111E网卡芯片挂载的总线地址。
步骤S33,判断所述网卡的总线地址是否为0x0或0xFF,如果是则结束流程,否则,进入步骤S34。
步骤S34,根据PCI总线规范,读取所述RTL8111E网卡芯片的PCI配置空间内的10h号寄存器中的信息,该信息即为所述RTL8111E网卡芯片的基地址信息。
步骤S35,读取所述RTL8111E网卡芯片的基地址的第0位的值,查询该网卡芯片使用的地址映射方式;进而根据所述RTL8111E网卡芯片使用的地址映射方式及其设计规格书,在对应的映射空间内的指定偏移位置,读取所述RTL8111E网卡芯片的MAC地址。
步骤S36,将读取到的所述网卡的MAC地址保存为一个Setup变量,并显示在BIOS人机界面中。
通过上述步骤,本发明利用BIOS开机时,自动侦测所述网络设备的网卡的MAC地址,既不会增加硬件和生产成本,还可以节省获取网卡MAC地址的时间,便于客户快速获悉主板上网卡相关信息,同时可以增加产品特色和卖点,提高了用户的体验效果。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换都不应脱离本发明技术方案的精神和范围。

Claims (5)

1.一种获取网卡硬件地址的方法,应用于网络设备中,其特征在于,该方法包括:
开机时,读取网络设备的网卡的总线地址信息;
判断所述网卡的总线地址是否为0x0或0xFF;
当所述网卡的总线地址不为0x0或0xFF时,读取其基地址信息;
根据所述网卡的基地址对应的映射空间内的指定偏移位置,读取所述网卡的MAC地址;
将所述网卡的MAC地址保存为一个Setup变量,显示在BIOS人机界面。
2.如权利要求1所述的获取网卡硬件地址的方法,其特征在于,当所述网卡的总线地址为0x0或0xFF时,直接退出流程。
3.如权利要求1所述的获取网卡硬件地址的方法,其特征在于,该方法通过读取所述网卡的PCI配置空间内的10h号寄存器内的信息确定所述网卡的基地址信息。
4.如权利要求1所述的获取网卡硬件地址的方法,其特征在于,读取网络设备的网卡的总线地址信息包括:
查询网络设备的芯片组的总线端口信息;
根据不同平台的设计规范及硬件线路设计找到挂载网卡的根端口;
查询所述网络设备的芯片组总线根端口上的子总线地址寄存器,读取该寄存器中的信息。
5.如权利要求1所述的获取网卡硬件地址的方法,其特征在于,所述的网络设备是一种桌上型计算机或者笔记本或者一体机。
CN201410036974.5A 2014-01-25 2014-01-25 获取网卡硬件地址的方法 Pending CN104809083A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410036974.5A CN104809083A (zh) 2014-01-25 2014-01-25 获取网卡硬件地址的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410036974.5A CN104809083A (zh) 2014-01-25 2014-01-25 获取网卡硬件地址的方法

Publications (1)

Publication Number Publication Date
CN104809083A true CN104809083A (zh) 2015-07-29

Family

ID=53693920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410036974.5A Pending CN104809083A (zh) 2014-01-25 2014-01-25 获取网卡硬件地址的方法

Country Status (1)

Country Link
CN (1) CN104809083A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228298A (zh) * 2018-01-02 2018-06-29 联想(北京)有限公司 一种信息处理方法及电子设备
CN109428903A (zh) * 2017-08-22 2019-03-05 佛山市顺德区顺达电脑厂有限公司 Pci装置的远程监控系统及其远程监控方法
CN112667538A (zh) * 2020-12-04 2021-04-16 苏州浪潮智能科技有限公司 一种获取网卡标识号方法、系统、设备以及介质
CN113194161A (zh) * 2021-04-26 2021-07-30 山东英信计算机技术有限公司 一种服务器系统mmioh基地址的设置方法、装置
CN113411416A (zh) * 2021-07-30 2021-09-17 广州朗国电子科技股份有限公司 一种控制网络芯片mac地址的写入方法及写入系统
CN114338485A (zh) * 2020-09-28 2022-04-12 神讯电脑(昆山)有限公司 一种网卡序号检查系统及方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109428903A (zh) * 2017-08-22 2019-03-05 佛山市顺德区顺达电脑厂有限公司 Pci装置的远程监控系统及其远程监控方法
CN108228298A (zh) * 2018-01-02 2018-06-29 联想(北京)有限公司 一种信息处理方法及电子设备
CN114338485A (zh) * 2020-09-28 2022-04-12 神讯电脑(昆山)有限公司 一种网卡序号检查系统及方法
CN112667538A (zh) * 2020-12-04 2021-04-16 苏州浪潮智能科技有限公司 一种获取网卡标识号方法、系统、设备以及介质
CN112667538B (zh) * 2020-12-04 2023-01-06 苏州浪潮智能科技有限公司 一种获取网卡标识号方法、系统、设备以及介质
CN113194161A (zh) * 2021-04-26 2021-07-30 山东英信计算机技术有限公司 一种服务器系统mmioh基地址的设置方法、装置
CN113194161B (zh) * 2021-04-26 2022-07-08 山东英信计算机技术有限公司 一种服务器系统mmioh基地址的设置方法、装置
US11847086B2 (en) 2021-04-26 2023-12-19 Shandong Yingxin Computer Technologies Co., Ltd. Method and apparatus for configuring MMIOH base address of server system
CN113411416A (zh) * 2021-07-30 2021-09-17 广州朗国电子科技股份有限公司 一种控制网络芯片mac地址的写入方法及写入系统

Similar Documents

Publication Publication Date Title
CN104809083A (zh) 获取网卡硬件地址的方法
US10585832B2 (en) Apparatus and methods for dynamic role switching among USB hosts and devices
CN101739283B (zh) 一种计算机及虚拟系统直接访问计算机硬件的方法
CN102622044B (zh) 主机板及其pcie端口动态配置方法
CN106055361B (zh) 基于bmc的多种不同机型的集成式固件实现方法及系统
CN109656630B (zh) 配置空间的访问方法、装置、架构及储存介质
CN102375787A (zh) 利用内存窗口实现接口的系统及方法
CN105182210B (zh) 一种计量芯片测试装置的通用接口及其实现方法
CN104317759A (zh) 一种支持虚拟机usb存储设备热插拔的方法
CN106933754A (zh) 一种usb驱动识别方法及装置
CN111294413B (zh) 一种互联网协议ip地址的确定方法、装置和可读介质
US9928207B1 (en) Generating transactions with a configurable port
CN105335309A (zh) 一种数据传输方法及计算机
CN111124508A (zh) 一种调整网卡pxe启动顺序的方法和装置
CN103986797A (zh) 一种基于linux操作系统的网卡顺序调整方法
US9984021B1 (en) Location-aware self-configuration of a peripheral device
CN104597983A (zh) 一种计算机风扇转速调节方法及主板系统
TW201435600A (zh) Tbt晶片集成系統及方法
CN104461603B (zh) 一种信息处理方法及电子设备
RU2643481C2 (ru) Способ идентификации типа операционной системы и устройство USB
US10877744B2 (en) Read/write method and read/write system for FRU
CN105279110A (zh) 一种usb设备识别主机系统的方法及usb设备
CN103164357B (zh) 电子装置及usb设备的移除策略设定方法
CN107885674B (zh) 蓝牙设备模拟器及其工作方法、蓝牙设备作业系统
CN105068962A (zh) I2c控制器访问方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150729

WD01 Invention patent application deemed withdrawn after publication