mfasakhov Posted November 12, 2011 Posted November 12, 2011 Добрый день. На es3528m средствами telnet и web-интерфейса можно измерить длину витой пары на порте. А есть-ли такая возможность через snmp. Если есть, подскажите, пожалуйста, OID для инициализации теста и для получения результатов. Вставить ник Quote
eill Posted November 12, 2011 Posted November 12, 2011 рекомендую пошерстить мибы с названиями типа l2mgmt-чего-то-там, если таковые имеются. У длинка, например, cable_diag по snmp вполне себе нормально работает. Вставить ник Quote
s.lobanov Posted November 12, 2011 Posted November 12, 2011 function statusCodeToString($statusCode) { if($statusCode==1) return "не тестировалась"; else if($statusCode==2) return "есть соединение"; else if($statusCode==3) return "нет соединения"; else if($statusCode==4) return "короткий"; else if($statusCode==5) return "короткий, нет соединения"; else if($statusCode==6) return "замыкание внутри пары"; else if($statusCode==7) return "нет кабеля/прочее"; else if($statusCode==8) return "не согласован импеданс"; else if($statusCode==9) return "не удалось проверить"; else if($statusCode==10) return "нельзя проверять"; } function getLastSavedDiagResult($portName) { $portIndex = $this->getSnmpIndexByPortName($portName); $statusPairA = $this->do_snmp2_get(".1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.2.$portIndex", LOG_INFO, 'statusPairA'); $statusPairB = $this->do_snmp2_get(".1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.3.$portIndex", LOG_INFO, 'statusPairB'); $distancePairA = $this->do_snmp2_get(".1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.6.$portIndex", LOG_INFO, 'distancePairA'); $distancePairB = $this->do_snmp2_get(".1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.7.$portIndex", LOG_INFO, 'distancePairB'); $resultTime = $this->do_snmp2_get(".1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.11.$portIndex", LOG_INFO, 'resultTime'); if($statusPairA===false||$statusPairB===false||$distancePairA===false||$distancePairB===false||$resultTime===false) { $this->swlog("getLastSavedDiagResult snmp read failed", LOG_ERR); return "Result read error"; } else { $statusPairA = $this->mibGetInteger($statusPairA); $statusPairB = $this->mibGetInteger($statusPairB); $distancePairA = $this->mibGetInteger($distancePairA); $distancePairB = $this->mibGetInteger($distancePairB); $resultTime = str_replace('"','',$this->mibGetString($resultTime)); if($statusPairA==1&&$statusPairB==1)//ничё не тестировалось $ret = "Не тестировался"; else { $ret = "Проверялся: $resultTime\nПара A: ".$this->statusCodeToString($statusPairA); if($statusPairA==3||$statusPairA==5||$statusPairA==8)//есть обрыв или несог. имп. $ret.="($distancePairA м)"; $ret .=", Пара B: ".$this->statusCodeToString($statusPairB); if($statusPairB==3||$statusPairB==5||$statusPairB==8)//есть обрыв или несог. имп. $ret.="($distancePairB м)"; } return $ret; } return ""; } function getDiagResult($portName) { $portIndex = $this->getSnmpIndexByPortName($portName); $startDiag = $this->do_snmp2_set(".1.3.6.1.4.1.259.6.10.94.1.2.3.1.0","i",$portIndex,LOG_INFO,"starting tdr cable diagnostics $portName",1000000,1); } Вставить ник Quote
gibbon Posted November 12, 2011 Posted November 12, 2011 Для запуска теста пишете в OID .1.3.6.1.4.1.259.6.10.94.1.2.3.1.0 номер порта коммутатора как integer далее опрашиваете OID .1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.2.порт как там стало не 1 можно читать результаты по следующим OID .1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.2.порт пара1 .1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.3.порт пара2 .1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.6.порт длина1 .1.3.6.1.4.1.259.6.10.94.1.2.3.2.1.7.порт длина2 где пара1 и пара2 результат теста 1 - не тестировался 2 - ОК 3 - Обрыв 4 - Замкнута 5 - Обрыв/КЗ 6 - Прекращен тест 7 - Неизвестно 8 - Неверное сопротивление 9 - Ошибка 10 - Не поддерживается ну а длина1 и длина2 это и есть длина пары в метрах Вставить ник Quote
alex_001 Posted November 13, 2011 Posted November 13, 2011 test cable-diagnostics tdr interface e 1/1 show cable-diagnostics tdr interface e 1/1 Port Type Link Status Pair A (meters) Pair B (meters) Last Update -------- ---- ----------- ---------------- ---------------- ------------------- Eth 1/ 1 FE Down Open (30) Open (30) 2001-01-18 06:07:25 Вставить ник Quote
mfasakhov Posted November 16, 2011 Author Posted November 16, 2011 Спасибо всем. Очень помогли. Все заработало. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.