| 
									
										
										
										
											2010-07-20 14:03:54 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-09 09:57:40 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-15 09:20:27 -06:00
										 |  |  | if (starts_with($sysDescr, 'Linux') || starts_with($sysObjectId, '.1.3.6.1.4.1.8072.3.2.10')) { | 
					
						
							| 
									
										
										
										
											2016-09-24 16:34:54 +03:00
										 |  |  |     $os = 'linux'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // Specific Linux-derivatives
 | 
					
						
							| 
									
										
										
										
											2017-01-14 08:54:16 -06:00
										 |  |  |     if (str_contains(snmp_get($device, 'ENTITY-MIB::entPhysicalMfgName.1', '-Osqnv'), 'QNAP')) { | 
					
						
							| 
									
										
										
										
											2016-09-24 16:34:54 +03:00
										 |  |  |         $os = 'qnap'; | 
					
						
							|  |  |  |     } elseif (starts_with($sysObjectId, array('.1.3.6.1.4.1.10002.1', '.1.3.6.1.4.1.41112.1.4')) || str_contains(snmp_get($device, 'dot11manufacturerName.5', '-Osqnv', 'IEEE802dot11-MIB'), 'Ubiquiti')) { | 
					
						
							|  |  |  |         $os = 'airos'; | 
					
						
							|  |  |  |         if (str_contains(snmp_walk($device, 'dot11manufacturerProductName', '-Osqnv', 'IEEE802dot11-MIB'), 'UAP')) { | 
					
						
							|  |  |  |             $os = 'unifi'; | 
					
						
							| 
									
										
										
										
											2016-11-26 21:18:42 +00:00
										 |  |  |         } elseif (snmp_get($device, 'fwVersion.1', '-Osqnv', 'UBNT-AirFIBER-MIB', 'ubnt') !== false) { | 
					
						
							| 
									
										
										
										
											2016-09-24 16:34:54 +03:00
										 |  |  |             $os = 'airos-af'; | 
					
						
							| 
									
										
										
										
											2012-05-02 11:01:34 +00:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2016-09-24 16:34:54 +03:00
										 |  |  |     } elseif (snmp_get($device, 'GANDI-MIB::rxCounter.0', '-Osqnv', 'GANDI-MIB') !== false) { | 
					
						
							|  |  |  |         $os = 'pktj'; | 
					
						
							|  |  |  |     } elseif (snmp_get($device, 'SFA-INFO::systemName.0', '-Osqnv', 'SFA-INFO') !== false) { | 
					
						
							|  |  |  |         $os = 'ddnos'; | 
					
						
							| 
									
										
										
										
											2016-12-17 19:49:56 +00:00
										 |  |  |     } elseif (is_numeric(trim(snmp_get($device, 'roomTemp.0', '-OqvU', 'CAREL-ug40cdz-MIB', 'carel')))) { | 
					
						
							| 
									
										
										
										
											2016-09-24 16:34:54 +03:00
										 |  |  |         $os = 'pcoweb'; // Carel PCOweb
 | 
					
						
							| 
									
										
										
										
											2017-01-13 15:31:11 +00:00
										 |  |  |     } elseif ($wrt = snmp_get($device, '.1.3.6.1.4.1.2021.7890.1.101.1', '-Osqnv')) { | 
					
						
							|  |  |  |         $wrt = trim($wrt, '"'); | 
					
						
							|  |  |  |         if (starts_with($wrt, 'ASUSWRT-Merlin')) { | 
					
						
							|  |  |  |             $os = 'asuswrt-merlin'; | 
					
						
							|  |  |  |         } elseif (starts_with($wrt, 'Tomato ')) { | 
					
						
							|  |  |  |             $os = 'tomato'; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2012-04-24 19:19:27 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2010-07-20 14:03:54 +00:00
										 |  |  | } |