SNMPd: невозможно открыть / proc / bus / pci - PullRequest
2 голосов
/ 27 февраля 2012

Я кросс-скомпилировал NET-SNMP 5.7.1 из источников в PowerPC, используя ELDK-3.1. Когда я пытаюсь загрузить демон snmpd во встроенную плату, я вижу сообщение:

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

Конечно, на моей плате PPC нет PCI, и мне интересно, почему netsnmp ищет ее.

В нескольких местах я вижу одно и то же сообщение ( sourceforge , mail-archive , google-groups ), но у них нет ответа вообще , Другой вариант, с небольшими, но бесполезными ответами на ( archlinuxarm ).

Кто-нибудь может мне помочь?

Ответы [ 3 ]

4 голосов
/ 28 февраля 2012

Я предполагаю, что вы нацелены на Linux.

Списки изменений Net-SNMP "[PATCH 3057093]: разрешить linux использовать libpci для создания полезных строк ifDescr".

Скрипт configure найдет доступный libpci и, найдя его, определит HAVE_PCI_LOOKUP_NAME и HAVE_PCI_PCI_H. Чтобы отключить этот код: после настройки вы можете изменить эти определения в include/net-snmp/net-snmp-config.h, а затем пересобрать. Уязвимый код находится в agent/mibgroup/if-mib/data_access/interface_linux.c.

1 голос
/ 09 октября 2013

В этом отчете об ошибках также есть патч: http://sourceforge.net/p/net-snmp/bugs/2449/

0 голосов
/ 06 июня 2016

Я решил проблему, используя набор 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.

...