diff --git a/html/images/os/synology.png b/html/images/os/synology.png new file mode 100644 index 000000000..7cb13f2c2 Binary files /dev/null and b/html/images/os/synology.png differ diff --git a/includes/discovery/os/linux.inc.php b/includes/discovery/os/linux.inc.php index d5c8c67c1..454a76577 100755 --- a/includes/discovery/os/linux.inc.php +++ b/includes/discovery/os/linux.inc.php @@ -6,17 +6,23 @@ if (!$os) ## Specific Linux-derivatives - if ($os == "linux") { - + if ($os == "linux") + { ## Check for QNAP Systems TurboNAS $entPhysicalMfgName = snmp_get($device, "ENTITY-MIB::entPhysicalMfgName.1", "-Osqnv"); - if (strpos($entPhysicalMfgName, "QNAP") !== FALSE) { $os = "qnap";} - elseif(strstr($sysObjectId, ".1.3.6.1.4.1.5528.100.20.10.2014")) { $os = "netbotz"; } - elseif(strstr($sysDescr, "endian")) { $os = "endian"; } - elseif(preg_match("/Cisco Small Business/", $sysDescr)) { $os = "ciscosmblinux"; } - } + if(strstr($sysObjectId, ".1.3.6.1.4.1.5528.100.20.10.2014")) { $os = "netbotz"; } + elseif (strstr($sysDescr, "endian")) { $os = "endian"; } + elseif (preg_match("/Cisco Small Business/", $sysDescr)) { $os = "ciscosmblinux"; } + elseif (strpos($entPhysicalMfgName, "QNAP") !== FALSE) { $os = "qnap"; } + else + { + ## Check for Synology DSM + $hrSystemInitialLoadParameters = trim(snmp_get($device, "hrSystemInitialLoadParameters.0", "-Osqnv")); + if (strpos($hrSystemInitialLoadParameters, "syno_hw_version") !== FALSE) { $os = "dsm"; } + } + } } ?> diff --git a/includes/polling/os/unix.inc.php b/includes/polling/os/unix.inc.php index 4c00f0220..d8deb962c 100755 --- a/includes/polling/os/unix.inc.php +++ b/includes/polling/os/unix.inc.php @@ -71,5 +71,11 @@ elseif ($device['os'] == "qnap") $version = snmp_get($device, "ENTITY-MIB::entPhysicalFirmwareRev.1", "-Osqnv"); $serial = snmp_get($device, "ENTITY-MIB::entPhysicalSerial.1", "-Osqnv"); } +elseif ($device['os'] == "dsm") +{ +# FIXME only the build, not the actual version number, so won't use this.. yet? +# list(,,,$version,) = explode(" ",$poll_device['sysDescr'],5); +# $version = "Build " . trim($version,'#'); +} ?> diff --git a/includes/static-config.php b/includes/static-config.php index 99a527d6a..2da96b651 100644 --- a/includes/static-config.php +++ b/includes/static-config.php @@ -48,7 +48,7 @@ $config['os'][$os]['over'][2]['graph'] = "device_storage"; $config['os'][$os]['over'][2]['text'] = "Storage Usage"; $os = "qnap"; -$config['os'][$os]['type'] = "server"; +$config['os'][$os]['type'] = "storage"; $config['os'][$os]['group'] = "unix"; $config['os'][$os]['text'] = "QNAP TurboNAS"; $config['os'][$os]['ifXmcbc'] = 1; @@ -870,6 +870,12 @@ $config['os'][$os]['text'] = "ArubaOS"; $config['os'][$os]['type'] = "wireless"; $config['os'][$os]['icon'] = "arubaos"; +$os = "dsm"; +$config['os'][$os]['text'] = "Synology DSM"; +$config['os'][$os]['group'] = "unix"; +$config['os'][$os]['type'] = "storage"; +$config['os'][$os]['icon'] = "synology"; + foreach ($config['os'] as $this_os => $blah) { if (isset($config['os'][$this_os]['group'])) @@ -1071,6 +1077,11 @@ $config['device_types'][$i]['text'] = 'Load Balancers'; $config['device_types'][$i]['type'] = 'loadbalancer'; $config['device_types'][$i]['icon'] = 'loadbalancer.png'; +$i++; +$config['device_types'][$i]['text'] = 'Storage'; +$config['device_types'][$i]['type'] = 'storage'; +$config['device_types'][$i]['icon'] = 'storage.png'; + if (isset($config['enable_printers']) && $config['enable_printers']) { $i++;