linux查询网卡bdf信息,Linux获取pci设备的厂商号、设备号、class号
要描述一个pci设备,就需要知道设备的厂商号(venderId)、设备号(devId)和class号。那么,在Linux系统中,如何获取这三个数据呢? 既然是一个pci设备,那么首先就得知道BDF——该pci设备在OS中的唯一标识符。以网卡举例,我们可以通过ethtool来得到BDF。其中,bus-info对应的信息就是BDF。
# ethtool -i p12p1
driver: ixgbe
version: 4.0.1-k
firmware-version: 0x800003e1
bus-info: 0000:11:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
厂商号和设备号
可通过lspci命令获取pci设备的厂商号和设备号。
# lspci -n -s 11:00.0
11:00.0 0200: 8086:1528 (rev 01)
其中,8086就是厂商号,1528就是设备号。
# lspci | grep 11:00.0
11:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
当然,也可以通过上面的方法直接使用lspci命令来查看该设备的基础信息。上面可以看出,这是一个intel的网卡设备,X540网卡。
class号
一个完整的class号应该包含三个部分:Device class、Device subclass和Program interface,每个部分占2个16进制数字,一个类型的设备,他们的class号是一样的。其实,在上面的lspci命令中已经获取到了部分的class号。下面实例的0200就是class号的前两部分Device class和Device subclass,只是没有Program interface这一部分。要查询完整的class号,可以通过在线网站pci-ids来查询。
# lspci -n -s 11:00.0
11:00.0 0200: 8086:1528 (rev 01)
无Program interface情况
还是以上面的网卡为例,我们已经知道这是个网卡控制器(Ethernet controller)。那么我们就在网页的Jump一栏中输入关键字“Ethernet controller”,就会直接跳转该项。由于该项没有Program interface,因此,最终的class号就是020000。
有Program interface情况
再以三星的ssd磁盘为例。
# lspci | grep Samsung
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)
0c:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)
10:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)
# lspci -n -s 01:00.0
01:00.0 0108: 144d:a802 (rev 01)
在pci-ids查询关键字“Non-Volatile memory controller”,进入该项后,了解到该项的Device class和Device subclass为0108。同时,我们还发现该项有两个Program Interface。由于这个ssd是NVMe总线的,所以该ssd的最终class号就是010802。
linux查询网卡bdf信息,Linux获取pci设备的厂商号、设备号、class号相关推荐
- linux查看网卡驱动信息,linux 查看网卡驱动信息
方法一: 1:ethtool -i ethx 如: linux:/mnt # ethtool -i eth1 driver: e1000e version: 1.0.2-k2 firmware-ver ...
- Linux网卡模块,linux查看网卡驱动模块信息
linux查看网卡驱动模块信息 来源:互联网 作者:佚名 时间:2015-03-19 09:23 1.查看网卡使用的驱动[root@slavetwo~]#ethtool-iem1driver:tg3v ...
- linux保存动态进程信息,Linux 命令 - top: 动态显示进程信息
命令格式 top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...] 命令参数 -a 根据内存的使用排序. -b 以批处理模式操作. ...
- Linux登录的shell信息,Linux展示登录Shell信息
Linux显示登录Shell信息 Linux显示登录Shell信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -p Login Name T ...
- linux如何获取网卡计数信息,Linux下如何获取网卡信息
有时候,写程序的时候需要获取计算机的网络信息,比如IP地址.电脑名称.DNS等信息.IP地址和电脑名称是比较容易获取到的,而要想获取地址掩码.DNS.网关等信息就有些麻烦了. 在Windows下我们一 ...
- linux 查看网卡驱动信息
方法一: 1:ethtool -i ethx 如: linux:/mnt # ethtool -i eth1 driver: e1000e version: 1.0.2-k2 firmware-ver ...
- linux下查看系统硬件,Linux 查看系统硬件信息 Linux 查看系统硬件信息(实例详解)...
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并作了分类,实例解说.html cpu lscpu命令,查看的是cpu的统计信息.linux blue@ ...
- linux物理网卡地址没有,Linux更改网卡物理地址
Linux更改网卡ip地址 网卡eth0 IP修改为 102.168.0.1 ifconfig eth0 102.168.0.1 netmask 255.255.255.0 ------------- ...
- linux查看本机信息,linux系统怎么查看本机配置?
linux如何查看系统的硬件配置 如何在linux系统下查看系统配置? 在图形模式下我们可以很方便的利用Linux的图形工具,点击几下就可以查看到Linux系统的的硬件信息.但是大部分生产服务器系统为 ...
最新文章
- 我的Dll(动态链接库)学习笔记
- linux中top命令详解
- 详解布隆过滤器的原理、使用场景和注意事项
- 【Spring MVC 中 HandlerInterceptorAdapter的使用】
- Linux系统开机自动加载驱动module
- QT开发及实例学习之六控件
- 升级 python 2.6.6 到 2.7.14 版本(pip工具安装)
- STM32 常见的问题解决
- JAVA语言程序设计(基础篇)第四章——课后习题解
- OpenDDS环境搭建-Windows 10
- 小程序毕设作品之微信校园二手书交易小程序毕业设计成品(6)开题答辩PPT
- (七)练习:美萍酒店管理系统中系统设置的房间管理选项卡部分测试
- 不等式计算机在线使用,不等式传递性在线计算器
- 牛客网算法之洗牌详解
- 用C#调用Matlab图像处理自制QQ游戏2D桌球瞄准器
- python打卡记录去重_Pandas 数据筛选,去重结合group by
- 面试B站,结果面试官牵着一条狗出来面试我....这是什么操作??
- golang mongodb驱动mgo异常崩溃问题
- 头歌 共享单车大数据项目数据分析
- php 无限极分销,PHP实现无限极分类的两种方式
热门文章
- 麒麟处理器和鸿蒙是什么,失去了麒麟处理器,鸿蒙将成为华为手机最大的王牌...
- ADB 控制Android自动刷抖音
- spring boot获取spring容器中的bean对象
- 关于RxSwift MVVM flatMapLatest 点击事件网络请求失败整个序列结束
- 假如你有个妹子,你便理解了大部分程序,可惜木有!!!!
- 计算机复试机试题目与答案,二零一四年华中科技大学计算机研究生复试机试题目...
- 老学姐2021年数字IC秋招复盘
- 【python】字典常用方法
- KODI播放器连接tfcenter webdav文件服务
- C语言学习(八)整数(int、short、long)的具体介绍、不同进制表示、输出,sizeof、unsinged的使用