要描述一个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号相关推荐

  1. linux查看网卡驱动信息,linux 查看网卡驱动信息

    方法一: 1:ethtool -i ethx 如: linux:/mnt # ethtool -i eth1 driver: e1000e version: 1.0.2-k2 firmware-ver ...

  2. Linux网卡模块,linux查看网卡驱动模块信息

    linux查看网卡驱动模块信息 来源:互联网 作者:佚名 时间:2015-03-19 09:23 1.查看网卡使用的驱动[root@slavetwo~]#ethtool-iem1driver:tg3v ...

  3. linux保存动态进程信息,Linux 命令 - top: 动态显示进程信息

    命令格式 top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...] 命令参数 -a 根据内存的使用排序. -b 以批处理模式操作. ...

  4. Linux登录的shell信息,Linux展示登录Shell信息

    Linux显示登录Shell信息 Linux显示登录Shell信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -p Login Name T ...

  5. linux如何获取网卡计数信息,Linux下如何获取网卡信息

    有时候,写程序的时候需要获取计算机的网络信息,比如IP地址.电脑名称.DNS等信息.IP地址和电脑名称是比较容易获取到的,而要想获取地址掩码.DNS.网关等信息就有些麻烦了. 在Windows下我们一 ...

  6. linux 查看网卡驱动信息

    方法一: 1:ethtool -i ethx 如: linux:/mnt # ethtool -i eth1 driver: e1000e version: 1.0.2-k2 firmware-ver ...

  7. linux下查看系统硬件,Linux 查看系统硬件信息 Linux 查看系统硬件信息(实例详解)...

    linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并作了分类,实例解说.html cpu lscpu命令,查看的是cpu的统计信息.linux blue@ ...

  8. linux物理网卡地址没有,Linux更改网卡物理地址

    Linux更改网卡ip地址 网卡eth0 IP修改为 102.168.0.1 ifconfig eth0 102.168.0.1 netmask 255.255.255.0 ------------- ...

  9. linux查看本机信息,linux系统怎么查看本机配置?

    linux如何查看系统的硬件配置 如何在linux系统下查看系统配置? 在图形模式下我们可以很方便的利用Linux的图形工具,点击几下就可以查看到Linux系统的的硬件信息.但是大部分生产服务器系统为 ...

最新文章

  1. 我的Dll(动态链接库)学习笔记
  2. linux中top命令详解
  3. 详解布隆过滤器的原理、使用场景和注意事项
  4. 【Spring MVC 中 HandlerInterceptorAdapter的使用】
  5. Linux系统开机自动加载驱动module
  6. QT开发及实例学习之六控件
  7. 升级 python 2.6.6 到 2.7.14 版本(pip工具安装)
  8. STM32 常见的问题解决
  9. JAVA语言程序设计(基础篇)第四章——课后习题解
  10. OpenDDS环境搭建-Windows 10
  11. 小程序毕设作品之微信校园二手书交易小程序毕业设计成品(6)开题答辩PPT
  12. (七)练习:美萍酒店管理系统中系统设置的房间管理选项卡部分测试
  13. 不等式计算机在线使用,不等式传递性在线计算器
  14. 牛客网算法之洗牌详解
  15. 用C#调用Matlab图像处理自制QQ游戏2D桌球瞄准器
  16. python打卡记录去重_Pandas 数据筛选,去重结合group by
  17. 面试B站,结果面试官牵着一条狗出来面试我....这是什么操作??
  18. golang mongodb驱动mgo异常崩溃问题
  19. 头歌 共享单车大数据项目数据分析
  20. php 无限极分销,PHP实现无限极分类的两种方式

热门文章

  1. 麒麟处理器和鸿蒙是什么,失去了麒麟处理器,鸿蒙将成为华为手机最大的王牌...
  2. ADB 控制Android自动刷抖音
  3. spring boot获取spring容器中的bean对象
  4. 关于RxSwift MVVM flatMapLatest 点击事件网络请求失败整个序列结束
  5. 假如你有个妹子,你便理解了大部分程序,可惜木有!!!!
  6. 计算机复试机试题目与答案,二零一四年华中科技大学计算机研究生复试机试题目...
  7. 老学姐2021年数字IC秋招复盘
  8. 【python】字典常用方法
  9. KODI播放器连接tfcenter webdav文件服务
  10. C语言学习(八)整数(int、short、long)的具体介绍、不同进制表示、输出,sizeof、unsinged的使用