DIB-120 восстановление прошивки через UART

Как-то писалось middleware для этого ящика, и всё время при переключении звуковых дорожек (проще говоря при выборе языка тв-канала) приставка всё время уходила в ребут. Через некоторое время мне это надоело и было решено сменить паршивку на приставке (было: 4.05.004, была найдена 4.05.005).


Сначала смутило то, что для каждого файла (a-fs-cramfs.img, vmlinuz-7402c0) были свои a-fs-cramfs.sig и vmlinuz-7402c0.sig размером в 256 байт. Но это не остановило, и была предпринята попытка перешить приставку с помощью её "UI" (тоесть в менюшке через флешку), после неудачной проверки файла было принято решение "перешить втупую", методом, описанным Hades. после этой операции приставка умерла... Надпись "ALPHA" сменялась чёрным экраном, и приставка не отвечала.

Внутренности  устройства выглядят так (кликните для просмотра увеличенной картинки):

 

После вскрытия пациента, оказалось, что на борту имеется 4 разъёма:

 JP1 - скорее всего UART1.

 Vcc  1
 ???  2
 ???  3
 GND  4
 GND  5

JP2 - JTAG (был опознан сразу, он единственный - не распаян, и выводы пронумерованы неправильно).

 nTRST  1   2 GND
 TDI    3   4 GND
 TDO    5   6 GND
 TMS    7   8 GND
 TCK    9  10 GND
 nSRST 11  12 n/a
   n/a 13  14 Vcc

 

JP3 - неизвестен, выводы идут на неустановленную микросхему.

JP4 - UART0 (через него можно добраться к загрузчику)

 TX  1
 GND 2
 n/a 3
 GND 4
 RX  5

  

Итак, подкючаем 5-вольтовый UART (например от старого дата-кабеля, или паяем FT232) запускаем minicom, выставляем скорость 115200 8N1, и при старте наблюдаем попытки приставки запуститься:

BCM97401
AB
FFFFFFFF
1s
K1
K2

K3

K4

K5
2
Copy Code...34TUCV

BCM97402 CFE v1.8, CFE core v1.6, Endian Mode: Little
Build Date: Wed Apr 30 17:37:12     2008 (Rance@Rance-AsusU5F)
Copyright (C) Broadcom Corporation.

CPU speed: 297MHz
Total memory: 256MB
Total flash: 32MB

Total memory used by CFE:  0x87000000 - 0x87044890 (280720)
Initialized Data:          0x8703C990 - 0x87044548 (31672)
BSS Area:                  0x87044548 - 0x87044890 (840)
Local Heap:                0x87044910 - 0x87A44910 (10485760)
Stack Area:                0x87A44910 - 0x87A46910 (8192)
Text (code) segment:       0x87000000 - 0x8700F264 (62052)


flash0.splash=1FCC0000
JPEG size=12797, mode=1
JPEG decoding
Decode done
Splash Width = 720 Height = 480
Loader:elf Filesys:raw Dev:flash0.kernel File: Options:root=/dev/mtdblock0 ro
Loading: 0x80001000/3219589 0x80313085/139143 Entry address is 0x802f3000
total=  bytes
Starting program at 0x802f3000
**Exception 32: EPC=84F40000, Cause=00008028, VAddr=00000000
                RA=8701D9C0, PRID=00020000

        0  ($00) = 00000000     AT ($01) = 00000000
        v0 ($02) = 7FFFFFF0     v1 ($03) = 00000003
        a0 ($04) = 8704C410     a1 ($05) = 00000000
        a2 ($06) = 8701DA34     a3 ($07) = 43464531
        t0 ($08) = 802F3000     t1 ($09) = 80020000
        t2 ($10) = 87034C84     t3 ($11) = 87046810
        t4 ($12) = 00000001     t5 ($13) = 8705722E
        t6 ($14) = 87046D72     t7 ($15) = 00000ED6
        s0 ($16) = 8701D9C0     s1 ($17) = 87000000
        s2 ($18) = 87005DA0     s3 ($19) = 87044870
        s4 ($20) = 87FFFD60     s5 ($21) = 87046BF0
        s6 ($22) = 87FFFD08     s7 ($23) = 8700C79C
        t8 ($24) = 00000100     t9 ($25) = 87046834
        k0 ($26) = 8704C6F8     k1 ($27) = 00000000
        gp ($28) = 8704C410     sp ($29) = 87FFFBC0
        fp ($30) = 00000001     ra ($31) = 8701D9C0

  И так по кругу раз 5, пока не надоест...

Для входа в CFE, при загрузке жмём CTRL+C до появления приглашения:

Automatic startup canceled via Ctrl-C
CFE> ^C
CFE> ^C
CFE>

Далее есть 2 варианта прошивки, в случае если у вас "затёрся" бекапный раздел, вам нужен "сложный вариант", ну а если бекап - нетронут, или вы незнаете, то начинайте с "простого".

Простой вариант:

По уверениям некоторых товарищей, есть возможность загрузить бекапный раздел прошивки удерживая на пульте кнопочку "0" при загрузке. Но у меня это не получилось, поэтому загрузить этот раздел пришлось вручную, выполнив в CFE следующую команду:

CFE>boot -z -elf flash0.b0_kernel: 'root=/dev/mtdblock0 ro'

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

 

Сложный вариант:

Ну а если и бекап был затёрт, тогда следует поднять atftpd в своей сетке (к примеру по адресу 192.168.1.2)  залить туда файлы от мультикастной прошивки (желательно от 1.03.004M, так как там есть все разделы: a-config-jffs2.img  a-fs-cramfs.img  a-html-cramfs.img  a-up-cramfs.img  cfe_32_256.bin  splash.image  vmlinuz-7402c0) и выполнить следующие операции:

CFE>ifconfig eth0 -addr=192.168.1.1

Проверяем, видит ли стб-шка наш сервер:

CFE> ping 192.168.1.2
192.168.1.2 (192.168.1.2) is alive
192.168.1.2 (192.168.1.2): 1 packets sent, 1 received
*** command status = 0

Ну и сама прошивка:

CFE> flash -noheader 192.168.1.2:/a-fs-cramfs.img flash0.a0_rootfs
Reading 192.168.1.2:/a-fs-cramfs.img: Done. 9482240 bytes read
Programming...done. 9482240 bytes written
*** command status = 0

При привильно сконфигурированом atftpd, проблем возникнуть не должно. В убунте atftpd заработал с дефолтными настройками.

Соответственно повторим операции для a-config-jffs2.img  a-html-cramfs.img  splash.image  vmlinuz-7402c0:

CFE> flash -noheader 192.168.1.2:/a-html-cramfs.img flash0.html
CFE> flash -noheader 192.168.1.2:/vmlinuz-7402c0 flash0.kernel
CFE> flash -noheader 192.168.1.2:/a-config-jffs2.img flash0.a0_config
CFE> flash -noheader 192.168.1.2:/splash.image flash0.splash

В случае, если затёрт бекап, заливаем ещё и a-up-cramfs.img и vmlinuz-7402c0

CFE> flash -noheader 192.168.1.2:/vmlinuz-7402c0 flash0.b0_kernel
CFE> flash -noheader 192.168.1.2:/a-up-cramfs.img flash0.b0_rootfs

НА СВОЙ СТРАХ И РИСК можете обновить сам CFE:

CFE> flash -noheader 192.168.1.2:/cfe_32_256.bin flash0.cfe

Следует учесть, что если CFE не допишется до конца, то восстановить приставку можно будет только через JTAG.

Здравствуйте,проблема в

Здравствуйте,проблема в следующем:Нужно перепрошить приставку,приставка прошита другим провайдером,телнет запоролен,при подключении через uart тоже просит пароль??!!!Может я что-то не так делаю)))Подключил через конвертер к com1,115200 8 1,tx на rx,rx на tx,gnd на пин 2-4,питание включаю от сети,Подключаюсь через программу Putty!!!Что не так???Или вход через UART может быть запороленным???

Эхх, я всегда думал, что

Эхх, я всегда думал, что можно сделать нормально, если думать головой

Подскажите, вот такой девайс

Подскажите, вот такой девайс http://www.chipdip.ru/product/uartsbee-v4.aspx сгодится для прошивки описанным способом ?

 Да, только не забудьте

 Да, только не забудьте выставить напряжение 3.3В.

Поправочка к распиновке

Поправочка к распиновке UART0: 3-й пин - Vcc. Некоторые конвертеры без него не живут - выходной буфер питается от этого напряжения, заодно по нему подравниваются уровни TTL.

Очень нужна помощь по

Очень нужна помощь по приставке помогите пожалуйста ответьте мне karetas@mail.ru

Хорошая статья. 20 приставок

Хорошая статья. 20 приставок восстановлены. Всё что написано работает на все 100%.

Доброе утро....попалась ко

Доброе утро....попалась ко мне эта чудо приставочка...телнетом не пингуется...вскрыл ее нашел JP4----у меня переходник валялся с USB на COM от мастер-кит...воткнул его....UBUNTU нашел его...подключил к приставке....запустил Миником(миником почему-то лезет через tty8---хотя железка вроде висит на ttyS0)..захажу в настройки миникома правлю порт...нжимаю exit...выскакивает менюшка ---инициализейшен модем---потом

OPTIONS: I18n
Compiled on Feb 5 2011, 06:31:35.
Port /dev/ttyS0

Press CTRL-A Z for help on special keys ....и все дальше тишина никокого опроса нет...железка не отвечает..думал может провода перепутал..перекинул местами...не помогает...можно чегонить зделать..))...

обычно usb-to-com

обычно usb-to-com определяются как /dev/ttyUSB0

Странно,на экране minicom

Странно,на экране minicom идет "мусор",такое впечатление, что некорректно выставлена скорость. Перебор скоростей не помог :(

 У меня такое было, когда

 У меня такое было, когда плохой контакт на "земле"

у кого есть загрузчик

у кого есть загрузчик ?
cfe_32_256.bin
поделитесь если не лень :(

Где скачать прошивку

Где скачать прошивку 1.03.004M ?

Нужно просить у длинка...

Нужно просить у длинка...

Приветствую! Вот запорили мы

Приветствую!
Вот запорили мы свой Dib. Но перепрочитав всё так и не поняли какой дата-кабель необходим!? COM-COM или Com-usb? прошарил весть интернет! Помогите, дайте сцылку на фото кабеля или подробнее, что к чему паять!
PS не силён в радиотехнике...

Тогда лучше отдать в

Тогда лучше отдать в ремонт.
ну или искать что-то наподобии такого

.sig файлы нужны только для

.sig файлы нужны только для перепрошивки со стандартной прошивки на локальный вариант (взятый с dlink.ua).
2 Yuriy вообще приставка позиционируется как решение для провайдеров и покупать ее для личного пользования без соответствующих знаний и оборудования очень не рекомендую. Формат для задания адреса вручную в этой прошивке соответствует linux-овому ifconfig. По поводу D-Link - если Вы из Украины, позвоните в локальный офис.
2 tipok - к последней из этих прошивок .sig выложен. Если какого не хватает - могу подписать. Только этой прошивкой лучше не шить - она делалась под определенный проект, который свернули и на сегодня перспектив ее доработки не вижу (а недоработок там есть).

JP4 - UART0 (через него можно

JP4 - UART0 (через него можно добраться к загрузчику)
TX 1
GND 2
n/a 3
GND 4
RX 5

а куда +5в паять?

не надо тут +5В никуда

не надо тут +5В никуда подключать. Нужные провода - это TX,RX и GND

У меня с этой приставкой

У меня с этой приставкой другая проблема:
перепрошился прошивкой отсюда http://www.dlink.ua/files/products/ftp/pub/Multimedia/DIB-120_UA.TV/last/ по методу Hades.
и все работало нормально пока я не указал приставке IP адрес вручную.
кнопки ресет на корпусе нет :( чтобы сбросить на дефолтные настройки нужно лезть в телнет.
Вобщем наломал дров. :)
дважды писал в поддержку DLink - глухо как в танке.
вышеописанный метод возможно и подошел бы для моего случая но данное предложение "5-вольтовый UART (например от старого дата-кабеля, или паяем FT232) запускаем minicom, выставляем скорость 115200 8N1" осилить в силу своих скудных знаний радиотехники не могу.
Огромная просьба к автору, если это возможно, описать вышеизложенный способ более доступно и "для широких масс": случай мой классический - имеется Винда без COM-портов.

Добрый вечер! Не могу скачать

Добрый вечер! Не могу скачать прошивку отсюда http://www.dlink.ua/files/products/ftp/pub/Multimedia/DIB-120_UA.TV/last/ (не пускает), не могли бы вы сбросить мне её на мыло. Спасибо! Николай.

Можете убрать последнюю папку

Можете убрать последнюю папку из URL, и увидеть содержимое директории: http://www.dlink.ua/files/products/ftp/pub/Multimedia/DIB-120_UA.TV/

Да, проблема известна, как

Да, проблема известна, как раз из-за отсутствия этих-самых .sig - файлов для Украинских прошивок, они и не хотят грузиться нормальным способом (через юзер-интерфейс). А насчёт более детальной инфы по UART, то тут нужно искать подходящий старый дата-кабель (с микросхемой внутри), и припаивать (или прикручивать) его к плате длинка. 

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <span> <img>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
All comments are PRE-MODERATED! Enter what you see:
Image CAPTCHA
Enter the characters shown in the image.