faq обучение настройка
Текущее время: Чт авг 07, 2025 02:06

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: dgs36** firmware upgrade via snmp
СообщениеДобавлено: Ср мар 11, 2009 13:23 
Не в сети

Зарегистрирован: Вт окт 21, 2008 12:28
Сообщений: 18
На 3200 обновляю прошивку такой функцией:

Код:
sub dlink {
    my $host = $_[0];
    my $sFileAddr =     '1.3.6.1.4.1.171.12.1.2.1.1.3.1';
    my $sTransferType = '1.3.6.1.4.1.171.12.1.2.1.1.4.1';
    my $sFile =         '1.3.6.1.4.1.171.12.1.2.1.1.5.1';
    my $sFileID =       '1.3.6.1.4.1.171.12.1.2.1.1.6.1';
    my $sFileLoadType = '1.3.6.1.4.1.171.12.1.2.1.1.7.0';
    my $sFileCtrl =     '1.3.6.1.4.1.171.12.1.2.1.1.8.1';
    my $sSaveCfg =      '1.3.4.1.4.1.171.12.1.2.6.0';   
        if ($ping->ping($host)){                         
        print $host."\n";                               
                                                         
            ($session, $error) = Net::SNMP->session (-hostname => $host,
                                                        -community => $w_comm,
                                                        -port => 161,         
                                                        -version => 2 ,       
                                                        -timeout => 1,       
                                                        -debug => 0);         
            if ($error){print "$error\n"; return 1}                           
            #$set=$session->set_request (-varbindlist =>        [$sSaveCfg, INTEGER, 3]);#сохранить конфиг
            #sleep 10;                                                                                   
            $set=$session->set_request (-varbindlist => [$sFileAddr, IPADDRESS, $sftp] ); #Адрес сервера 
                if ($session->error)  {                                                                   
                $r=$session->error;                                                                       
                print "$r\nfadd\n";                                                                       
                $set=$session->close;                                                                     
                return 1;                                                                                 
                }                                                                                         

            $set=$session->set_request (-varbindlist => [$sTransferType, INTEGER, 2]);#тип передачи -- сеть
                if ($session->error)  {                                                                   
                $r=$session->error;                                                                       
                print "$r\ntrtype\n";                                                                     
                $set=$session->close;                                                                     
                return 1;                                                                                 
                }                                                                                         


            $set=$session->set_request (-varbindlist => [$sFile, OCTET_STRING, $fName]);#Имя файла на сервере
                if ($session->error)  {                                                                     
                $r=$session->error;                                                                         
                print "$r\nfname\n";                                                                         
                $set=$session->close;                                                                       
                return 1;                                                                                   
                }                                                                                           

           
            $set=$session->set_request (-varbindlist => [$sFileID, INTEGER, 1]); #ID файла прошивки
                if ($session->error)  {                                                           
                $r=$session->error;                                                               
                print "$r\nfid\n";                                                                 
                $set=$session->close;                                                             
                return 1;                                                                         
                }                                                                                 

            $set=$session->set_request (-varbindlist => [$sFileLoadType, INTEGER, 2]);#тип загрузки -- слив
                if ($session->error)  {                                                                     
                $r=$session->error;                                                                         
                print "$r\nloadtype\n";                                                                     
                $set=$session->close;                                                                       
                return 1;                                                                                   
                }                                                                                           

            $set=$session->set_request (-varbindlist => [$sFileCtrl, INTEGER, 3]);#команда на слив :)
                if ($session->error)  {                                                             
                $r=$session->error;                                                                 
                print "$r\n\fctr\n";                                                                 
                $set=$session->close;                                                               
                return 1;                                                                           
                }                                                                                   
            $set=$session->close;                                                                   
          }
return 0;   
}

На 36** это не работает, очевидно в нем другие оиды, а возможно и алгоритм.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 11, 2009 14:52 
Не в сети

Зарегистрирован: Вт окт 21, 2008 12:28
Сообщений: 18
http://dlink.ru/ru/faq/59/259.html
:( Хочется, все же унификации хотябы SNMP


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 11, 2009 23:18 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Пт май 13, 2005 15:49
Сообщений: 20616
Откуда: D-Link, Moscow
К сожалению это невозможно.


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

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


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 26


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

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