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.

Ребят поделитесь кто нибудь

Ребят поделитесь кто нибудь файлами для прошивки dib 120 ( a-config-jffs2.img a-fs-cramfs.img a-html-cramfs.img a-up-cramfs.img cfe_32_256.bin splash.image vmlinuz-7402c0). Или ткните где их можно скачать.

Добрый день, есть 2 приставки

Добрый день, есть 2 приставки dib 120, одна виснет на заставке альфа, ее норм прошил по вашему мануалу, вторая вообще не включается , при попытке включить ее индикаторы загораются желтым светом (я так думаю там вообще никакой прошивки нету).В тот момент когда идет попытка залить прошивку в приставку - она отваливается по сети, пинг на нее пропадает, вот такой текст:

BCM97401
AB
FFFFFFFF
1s
K1
K2

K3

K4

K5
0000000A 0000000D 00000013 0000003B 0000000E 00000024 0000000E 0000000D 0000000E 0000003B 00000024 0000000A 00000024 00000012 00000024 0000000E 00000008 0000002E 2
Copy Code...34TUCV

BCM97401C1 CFE v1.5, CFE core v1.4, Endian Mode: Little
Build Date: Tue Aug 28 19:19:42 2007 (Rance@Rance-AsusU5F)
Copyright (C) Broadcom Corporation.

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

Total memory used by CFE: 0x87000000 - 0x8703EB90 (256912)
Initialized Data: 0x8703CAB0 - 0x8703E900 (7760)
BSS Area: 0x8703E900 - 0x8703EB90 (656)
Local Heap: 0x8703EC10 - 0x87A3EC10 (10485760)
Stack Area: 0x87A3EC10 - 0x87A40C10 (8192)
Text (code) segment: 0x87000000 - 0x8700F2AC (62124)

flash0.splash=1FCC0000
JPEG size=12797, resolution=720x480, mode=1
bvn_cfg: enter
bvn_cfg: surface_size 0x2d000f0
bvn_cfg: src_start address 0x4d04630
bvn_cfg: sur_src_pitch 0x1680
bvn_cfg: disp_pic_size 0x2d000f0
bvn_cfg: leave
JPEG decoding
Decode done
Loader:elf Filesys:raw Dev:flash0.kernel File: Options:root=/dev/mtdblock0 ro
Loading: Failed.
Could not load : Invalid ELF file
CFE> ifconfig eth0 -addr=192.168.1.1
100 MB Full-Duplex (auto-neg)
Device eth0: hwaddr 00-10-18-05-B2-17, ipaddr 192.168.1.1, mask not set
gateway not set, nameserver not set
*** command status = 0
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. 12566528 bytes read
Programming...

и на этом все (, опять ребутаю заново подключаюсь, подскажите как ее прошить.

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

Здравствуйте,проблема в следующем:Нужно перепрошить приставку,приставка прошита другим провайдером,телнет запоролен,при подключении через 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.