返回信息流需要在linux下获取网卡的厂商信息,有没有系统函数可以完成类似lspci的工作啊
以下是我的机器上列出的以太网卡信息,我想用函数获取Ethernet controller后的字符串
$ lspci | grep Ethernet
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
牛人们请指教啊
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #4671同步于 2009/4/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
问一个获取网卡信息的问题
mere
2009/4/30镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
刚才找了一下,这些信息好像是出现在pciutils源码当中的:有个pci.ids文件,里面记录了各个ID对应的厂商和设备信息(比如你帖子里提到的设备,它的编号在6167行和6245行)
至于具体调哪个函数就不清楚了,我的猜测是这样:这个命令是这个软件包提供的(而不是Linux内核自带的),它通过读取硬件寄存器或者系统中设备结点中的ID,输出这些文字信息给你
希望对你有所帮助!
【 在 lester98 的大作中提到: 】
: 以太网控制器是可以直接寻址的,直接读就行了,包装到上层就不好说了
: 一般不会有api进行读取,这只是init的一个步骤而已
我上面说的那个软件包,安装到系统中之后,会生成一个库文件
如果用户程序想利用此库文件,#include就OK,那个源代码里已经包含了一个example.c
估摸着这个就能满足LZ的需求!
附件(259KB) pciutils-3.1.1.tar.bz2
顺便上传源码包,可以先看看,实际用的话可能还需要考虑版本的问题