Jump to content

Recommended Posts

Posted

Добрый день.

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

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

Posted

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

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

Posted

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

Posted

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.