faq обучение настройка
Текущее время: Пн июл 21, 2025 21:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: Ср окт 24, 2012 11:58 
Не в сети

Зарегистрирован: Ср окт 24, 2012 11:36
Сообщений: 28
Пишу кабельный тестер, используемый через веб.
С большинством свичей в сети все ОК. Проблема возникла со свичами REV C1.

Во первых не срабатывает OID
.1.3.6.1.4.1.171.12.58.1.1.1.13
Syntax: INTEGER {not-run(1),processing(2),last-test-ok(3),last-test-failed(4)}
Пишет, что свич его не поддерживает.

Во вторых не коректно работает проверка статуса пар и их длины.
Тоесть если я через телнет получаю
Link Down
Pair 2 Open at 72M
Pair 3 Open at 71M

То по SNMP -
Link Down
Pair 1 No Cable
Pair 2 Open at 72 m
Pair 3 Other

Можете что то подсказать.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср окт 24, 2012 12:24 
Не в сети

Зарегистрирован: Ср мар 10, 2010 12:15
Сообщений: 128
На ранних версиях прошивки по snmp не верно отдавалось состояние третьей пары.

На прошивке 4.31.B007 скрипт под спойлером работает корректно (взят из модуля, но суть должна быть понятна).


Скрытый текст: показать
Код:
# ----------------------------------------------------------------
# 09) cable_test
# ----------------------------------------------------------------
sub cable_test {
    my ($self, @ports) = @_;
    my @pairstate=("OK","Open","Short","open/-short","Crosstalk","Unknow","count","NC","Other");
    my $oid_link_state="1.3.6.1.4.1.171.12.58.1.1.1.3.";
    my $oid_p1_state="1.3.6.1.4.1.171.12.58.1.1.1.5.";
    my $oid_p1_length="1.3.6.1.4.1.171.12.58.1.1.1.9.";
    my $oid_p2_state="1.3.6.1.4.1.171.12.58.1.1.1.6.";
    my $oid_p2_length="1.3.6.1.4.1.171.12.58.1.1.1.10.";
    my $oid_cable_test="1.3.6.1.4.1.171.12.58.1.1.1.12.";
    my $hash;
    my @link_state;
    my @p1_state;
    my @p1_length;
    my @p2_state;
    my @p2_length;
    my $rz=0;

    if ($self->is_ready()) {
   $rz=1;
   if (!(@ports) or (@ports == NULL)) {
           @ports=(1..$self->{test_ports});
   }
        foreach $prt (@ports) {
       if ($prt <= $self->{test_ports}) {
      # start cable-test for port $prt
                $self->{snmp}->set_request(-varbindlist=>[$oid_cable_test.$prt,INTEGER,1]);
      usleep(100000);
      # get link state
      $hash=$self->{snmp}->get_request($oid_link_state.$prt);
      $link_state[$prt]=$hash->{$oid_link_state.$prt};
      # get pair 1 state
      $hash=$self->{snmp}->get_request($oid_p1_state.$prt);
          $p1_state[$prt]=$pairstate[$hash->{$oid_p1_state.$prt}];
      # get pair 1 length
      if ($p1_state[$prt] ne "NC") {
          $hash=$self->{snmp}->get_request($oid_p1_length.$prt);
          $p1_length[$prt]=$hash->{$oid_p1_length.$prt};
          if ($p1_length[$prt] eq 0) {$p1_length[$prt]="---"}
      } else {
          $p1_length[$prt]="---";
      }
      # get pair 2 state
          $hash=$self->{snmp}->get_request($oid_p2_state.$prt);
          $p2_state[$prt]=$pairstate[$hash->{$oid_p2_state.$prt}];
          # get pair 2 length
          if ($p2_state[$prt] ne "NC") {
               $hash=$self->{snmp}->get_request($oid_p2_length.$prt);
               $p2_length[$prt]=$hash->{$oid_p2_length.$prt};
          if ($p2_length[$prt] eq 0) {$p2_length[$prt]="---"}
          } else {
               $p2_length[$prt]="---";
          }
       }
   }
   $self->link_state(@link_state);
   $self->p1_state(@p1_state);
   $self->p1_length(@p1_length);
   $self->p2_state(@p2_state);
   $self->p2_length(@p2_length);
    }

    return $rz;
}


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср окт 24, 2012 12:29 
Не в сети

Зарегистрирован: Ср окт 24, 2012 11:36
Сообщений: 28
Если правильно понял, мне нужно перешивать свичи - тогда SNMP будет отдавать правильные результаты?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср окт 24, 2012 12:35 
Не в сети

Зарегистрирован: Ср мар 10, 2010 12:15
Сообщений: 128
Ну у меня на прошивке 4.31.B007 заработало. Если у вас более ранняя - то, скорей всего, именно в этом и проблема.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср окт 24, 2012 15:26 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Прошивку нужно обновить, так как были исправления в этом плане.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср окт 24, 2012 18:15 
Не в сети

Зарегистрирован: Ср окт 24, 2012 11:36
Сообщений: 28
Понял. Спасибо, будем обновлять. Только вот такой еще вопрос. Demiurgos пишет про прошивку 4.31.B007, но на фтп я нашел только 4.00.024 для свичей REV C1. В этой прошивке внесены исправления?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср окт 24, 2012 20:14 
Не в сети

Зарегистрирован: Ср окт 24, 2012 11:36
Сообщений: 28
http://ftp.dlink.ru/pub/Switch/DES-3200%20Series/Firmware/C1/DES-3200-26_28_C1_Run_v4.00.024.had
Есть толь эта прошивка. Судя из названия она для 26-28 портовок. А для 10 подойдет?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт окт 25, 2012 10:15 
Не в сети

Зарегистрирован: Ср окт 24, 2012 11:36
Сообщений: 28
Перепрошил на эту прошивку.
http://ftp.dlink.ru/pub/Switch/DES-3200 ... 00.024.had
Не помогло, все равно возвращает не корректные результаты.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт окт 25, 2012 10:58 
Не в сети

Зарегистрирован: Ср мар 10, 2010 12:15
Сообщений: 128
Это старая прошивка, возьмите из первого сообщения тут:
viewtopic.php?p=475510#p475510


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт окт 25, 2012 11:55 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Актуальная прошивка здесь: https://dl.dropbox.com/u/41324937/D-Link_Firmwares/DES-3200_Series/DES3200_revC1_R4.rar


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 29, 2012 11:04 
Не в сети

Зарегистрирован: Ср окт 24, 2012 11:36
Сообщений: 28
Отлично!!! С этой прошивкой все работает. Огромное спасибо) :P :o


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 29, 2012 11:10 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Не за что.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB