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

Planet SGSW-24240 - слетела прошивка, как залить? загрузчик жив, нужно залить прошивку вручную

Доброго всем денька!

 

При заливке новой прошивки в Planet SGSW-24240 произошёл сбой, новая прошивка залилась некорректно, свич не стартует, кнопка сброса не работает. Загрузчик RedBoot жив, подсоединение консольным кабелем даёт такое:

+
SGSW/WGSW-24040 Bootloader v1.0 - built Aug 19 2008
RAM:   0x00000000 - 0x04000000,
FLASH: 0x80000000 - 0x80800000, 256 blocks of 0x00010000 bytes each.
memtest
Testing [0x0002c340-0x03fe1000]...
Completed (no errors)
fis load managed
** Warning - checksum failure.  stored: 0x28f80849, computed: 0xdcdd468e
go
No entry point known - aborted

В консоли доступны следующие команды:

help
Manage aliases kept in FLASH memory
  alias name [value]
Manage machine caches
  cache [ON | OFF]
Display/switch console channel
  channel [<channel number>]
Compute a 32bit checksum [POSIX algorithm] for a range of memory
  cksum -b <location> -l <length>
Display (hex dump) a range of memory
  dump -b <location> [-l <length>] [-s] [-1|-2|-4]
Execute an image - with MMU off
  exec [-w timeout] [-b <load addr> [-l <length>]]
       [-r <ramdisk addr> [-s <ramdisk length>]]
       [-c "kernel command line"] [-t <target> ] [<entry_point>]
Manage FLASH images
  fis {cmds}
Manage configuration kept in FLASH memory
  fconfig [-i] [-l] [-n] [-f] [-d] | [-d] nickname [value]
Execute code at a location
  go [-w <timeout>] [-c] [entry]
Uncompress GZIP compressed data
  gunzip -s <location> -d <location>
Help about help?
  help [<topic>]
Display command history
  history
Load a file
  load [-r] [-v] [-d] [-m <varies>]
       [-b <base_address>] <file_name>
Compare two blocks of memory
  mcmp -s <location> -d <location> -l <length> [-1|-2|-4]
Copy memory from one address to another
  mcopy -s <location> -d <location> -l <length> [-1|-2|-4]
Display result of membist
  membist [-d]
Performs a casual read/write test of the free memory
  memtest
Fill a block of memory with a pattern
  mfill -b <location> -l <length> -p <pattern> [-1|-2|-4]
Reset the system
  reset
Show/Set the time of day
  date [YYYY/MM/DD HH:MM:SS]
Display RedBoot version information
  version
Display (hex dump) a range of memory
  x -b <location> [-l <length>] [-s] [-1|-2|-4]

Я так понимаю, нужно уничтожить файл managed и залить на его место новый, правильный.

Тут я не специалист, может кто-то дать пошаговую инструкцию как это сделать чтобы не убить свич окончательно?

 

Спасибо за помощь.

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


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

вряд ли для тебя решение этого вопроса ещё актуально после стольких лет, но я только сегодня восстанавливал такую железку (sgsw-24240r).

может кому-то будет полезно, ибо решения готового до сих пор я не видел, делал с нуля.

 

сначала нужно подготовить файл прошивки:

* скачиваем https://www.planet.com.tw/storage/products/30489/FW-SGSW-24040_24040R_24240_24240R_24040P_24040P4_24040HP_v1.8b150312.zip

* обрезаем служебные первые 8 и последние 36 байт у dat-файла из архива, должен получиться файл длиной 5156820 байт

 

далее грузим его в железку через com-кабель по xmodem-протоколу (при помощи ExtraPuTTY или любого понравившегося терминала):

RedBoot> load -v -r -b 0x00100000 -m xmodem

 

шьём содержимое оперативки во флэшку:

RedBoot> fis create managed -f 0x80040000 -r 0x00100000 -l 0x00760000 -e 0x00100040

(может ругнуться, что раздел "managed" уже существует, соглашаемся переписать его)

 

убеждаемся, что раздел создан корректно. для этой железки список будет следующим:

RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0x80000000  0x80000000  0x00020000  0x00000000
managed           0x80040000  0x00100000  0x00760000  0x00100040
RedBoot config    0x807A0000  0x807A0000  0x00001000  0x00000000
FIS directory     0x807E0000  0x807E0000  0x00020000  0x00000000

 

убеждаемся, что загрузочный скрипт не испорчен. требуемый выглядит так:

RedBoot> fconfig -l
Run script at boot: true
Boot script:
.. memtest
.. fis load managed
.. go

Boot script timeout (1000ms resolution): 2

 

ребут, профит.

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


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

Join the conversation

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

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

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

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

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

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

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