Перейти к содержимому
Калькуляторы

es3528m измерение длины витой пары

Добрый день.

На es3528m средствами telnet и web-интерфейса можно измерить длину витой пары на порте.

А есть-ли такая возможность через snmp. Если есть, подскажите, пожалуйста, OID для инициализации теста и для получения результатов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

рекомендую пошерстить мибы с названиями типа l2mgmt-чего-то-там, если таковые имеются. У длинка, например, cable_diag по snmp вполне себе нормально работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

       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);
       }

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для запуска теста пишете в 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 это и есть длина пары в метрах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо всем. Очень помогли. Все заработало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.