Доброе время суток!
Имеется в работе несколько чудищ, таких как DGS-3200-10. Понимаю, что они сняты с производства и более обновлений прошивок не предвидится. Но хочу добавить и их в свою автоматику по обновлению и обслуживанию. Но при попытке обновить получаю достаточно странный код возврата.
Итак - вся процедура подготовки проходит нормально, но после запуска передачи файла в OID DLINK-AGENT-MIB::agentStatusFileTransfer.0 начинает возвращаться какая-то бессмыслица. ниже привожу пару десятков считываний этого OID в процессе загрузки файла:
DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 85 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 85 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 85 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 85 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 85 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 85 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 83 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 87 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 78 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 81 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 81 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 83 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 81 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 81 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 82 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 80 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 81 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 82 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 87 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 81 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 82 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 83 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 82 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 85 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: in-process(2) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: in-process(2) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: violation(4) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: violation(4) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: violation(4) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: other(1) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: other(1) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: other(1) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: in-process(2) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: complete(7) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: file-not-found(5) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: file-not-found(5) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: time-out(8) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: invalid-file(3) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: other(1) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 36 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 37 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 39 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 35 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 26 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 29 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 32 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 31 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 35 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 100 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 100 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 100 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 100 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 100 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 100 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 100 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 100 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: complete(7) DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0 DLINK-AGENT-MIB::agentStatusFileTransfer.0 = INTEGER: 0
Далее считывается только 0. Теперь я пытаюсь понять что это, поскольку в MIB имеем вот такой перечень: agentStatusFileTransfer OBJECT-TYPE SYNTAX INTEGER { other(1) , in-process(2), invalid-file(3), violation(4), file-not-found(5), disk-full(6), complete(7), time-out(8), not-format(9), memory-full(10) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the firmware download control. If the value is stated as 'other', the firmware has not been updated since the device was started." ::= { agentBasicInfo 5 }
В котором нет ни "0" ни большинства из считанных значений. Мало того, complete(7) попадается дважды. Чему верить?
В логе коммутатора при этом сообщение об удачном обновлении. Что посоветуете? Просто считать, что DGS-3200-xx не поддерживает, agentStatusFileTransfer и тупо ждать секунд 40 перед ребутом? Или же есть какой-либо иной способ проконтролировать процесс загрузки файла?
Телнет не предлагать.
|