diff --git a/lib/SNMP/Info/Layer3/Raisecom.pm b/lib/SNMP/Info/Layer3/Raisecom.pm index acd3f618..a6f2b19f 100755 --- a/lib/SNMP/Info/Layer3/Raisecom.pm +++ b/lib/SNMP/Info/Layer3/Raisecom.pm @@ -71,8 +71,15 @@ sub os_ver { $brom = $1 . ' (' . $2 . ')'; } elsif ($id =~ /8886\.6\.(191|21[3,4])$/) { - $obj->os_ver_oid_8886_6_140 =~ /(\d*\.+\d*)\(Compiled/; - $os_ver = $1; + my $os_ver_oid = $obj->os_ver_oid_8886_6_140; + if ($os_ver_oid =~ /Compiled/) { + $os_ver_oid =~ /(\d*\.+\d*)\(Compiled/; + $os_ver = $1; + } + else { + $os_ver_oid =~ /ROS_(.*\d)\.+ISCOM[\d,\w,-]+\.([\d,\.]*)/; + $os_ver = $1 . ' (' . $2 . ')'; + } $brom = $obj->brom_oid_8886_6_140; } else { @@ -128,15 +135,12 @@ sub hvver { $obj->hw_oid_41752 =~ /.*\sversion\s(.*)/; return $1; } - elsif ($id =~ /8886\.6\.(140|150|191)$/) { + elsif ($id =~ /8886\.6\./) { $obj->hw_oid_8886_6_140 =~ /.*\s[v,V]ersion\s(.*)/; return $1 if defined $1; return $obj->hw_oid_8886_6_140; } - elsif ($id =~ /8886\.6\.(21[3,4])$/) { - return $obj->hw_oid_8886_6_140; - } return $obj->SUPER::hvver() }