diff --git a/includes/polling/os/unix.inc.php b/includes/polling/os/unix.inc.php index 96403771f..d15144de9 100644 --- a/includes/polling/os/unix.inc.php +++ b/includes/polling/os/unix.inc.php @@ -32,12 +32,16 @@ if ($device['os'] == "linux" || $device['os'] == "endian") { } # Distro "extend" support - $features = snmp_get($device, ".1.3.6.1.4.1.2021.7890.1.3.1.1.6.100.105.115.116.114.111", "-Oqv", "UCD-SNMP-MIB"); - $features = str_replace("\"", "", $features); + + # NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.\"distro\" + $features = str_replace("\"", "", snmp_get($device, ".1.3.6.1.4.1.8072.1.3.2.3.1.1.6.100.105.115.116.114.111", "-Oqv", "NET-SNMP-EXTEND-MIB")); + + if (!$features) { # No "extend" support, try legacy UCD-MIB shell support + $features = str_replace("\"", "", snmp_get($device, ".1.3.6.1.4.1.2021.7890.1.3.1.1.6.100.105.115.116.114.111", "-Oqv", "UCD-SNMP-MIB")); + } if (!$features) { # No "extend" support, try "exec" support - $features = snmp_get($device, ".1.3.6.1.4.1.2021.7890.1.101.1", "-Oqv", "UCD-SNMP-MIB"); - $features = str_replace("\"", "", $features); + $features = str_replace("\"", "", snmp_get($device, ".1.3.6.1.4.1.2021.7890.1.101.1", "-Oqv", "UCD-SNMP-MIB")); } # Detect Dell hardware via OpenManage SNMP @@ -80,12 +84,16 @@ elseif ($device['os'] == "freebsd") { } # Distro "extend" support - $features = snmp_get($device, ".1.3.6.1.4.1.2021.7890.1.3.1.1.6.100.105.115.116.114.111", "-Oqv", "UCD-SNMP-MIB"); - $features = str_replace("\"", "", $features); + + # NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.\"distro\" + $features = str_replace("\"", "", snmp_get($device, ".1.3.6.1.4.1.8072.1.3.2.3.1.1.6.100.105.115.116.114.111", "-Oqv", "NET-SNMP-EXTEND-MIB")); + + if (!$features) { # No "extend" support, try legacy UCD-MIB shell support + $features = str_replace("\"", "", snmp_get($device, ".1.3.6.1.4.1.2021.7890.1.3.1.1.6.100.105.115.116.114.111", "-Oqv", "UCD-SNMP-MIB")); + } if (!$features) { # No "extend" support, try "exec" support - $features = snmp_get($device, ".1.3.6.1.4.1.2021.7890.1.101.1", "-Oqv", "UCD-SNMP-MIB"); - $features = str_replace("\"", "", $features); + $features = str_replace("\"", "", snmp_get($device, ".1.3.6.1.4.1.2021.7890.1.101.1", "-Oqv", "UCD-SNMP-MIB")); } if (!$features) {