2

我使用 ELDK-3.1 将 NET-SNMP 5.7.1 从源代码交叉编译到 PowerPC。当我尝试snmpd在嵌入式板上加载守护程序时,我看到以下消息:

# snmpd -f -Lo
pcilib: Cannot open /proc/bus/pci
pcilib: Cannot find any working access method.

当然我的PPC板没有PCI,我想知道netsnmp为什么要找它。

在不止一个地方,我看到了同样的消息(sourceforgemail-archivegoogle-groups),但 ir 根本没有答案。另一个变体,在 ( archlinuxarm )处有一些但无用的响应。

有人可以帮我吗?

4

3 回答 3

4

我假设您使用的是 Linux 目标。

Net-SNMP 的变更日志列出了“[PATCH 3057093]:允许 linux 使用 libpci 来创建有用的 ifDescr 字符串”。

配置脚本将搜索一个可用的 libpci,并在找到一个后,将定义 HAVE_PCI_LOOKUP_NAMEHAVE_PCI_PCI_H. 要禁用此代码:配置后,您可以更改这些定义include/net-snmp/net-snmp-config.h,然后重新构建。受影响的代码位于agent/mibgroup/if-mib/data_access/interface_linux.c.

于 2012-02-27T20:43:10.960 回答
1

此错误报告中还有一个补丁:http: //sourceforge.net/p/net-snmp/bugs/2449/

于 2013-10-09T14:22:43.753 回答
0

snmpd我使用Raspbian 附带的库存解决了这个问题。

/etc/snmp/snmpd.conf文件中,我将问题隔离到以下行

agentAddress udp:161,udp6:[::1]:161

如果我指定接口的 IP 地址,而不是监听所有接口,eth0即:

agentAddress udp:10.0.1.5:161,udp6:[::1]:161

然后snmpd开始就好了。

我的猜测是股票snmpd试图列举所有可能的接口,包括 pci 接口。

于 2016-06-05T22:56:05.180 回答