Page 1 of 7

Egreat S1A

PostPosted: Sat Jan 15, 2011 14:35
by dreamW
Здравствуйте.

Имею (по собственной глупости) этот плеер.
Железо отличное, быстрый. Но совершенно ужасная прошивка.

Собственно вопрос: Имел ли кто-то опыт сборки файла прошивки для подобного плеера

Прошивка:
UpdatePacket.tar-
\-Packet.tar
\-Packet2.tar
\-Packet3.tar
\-update.zip
\-UpdatePacket.sh
\-unzip

Сама прошивка лежит в файле Packet.tar, в Packet2.tar - иконки и настройка внешнего вида интерфейса.
Модифицировать содержимое Packet2.tar получается без проблем, а вот если даже просто распаковать и запаковать обратно Packet.tar, то после перепрошивки плеер зависает.

Прошивка: http://www.andboson.net/UpdatePacket1.tar , пароль к ней (егритовский) : ww3sD5Dc5F6f7G42sXrcr6F6fg7Gyg6g

Re: Egreat S1A

PostPosted: Tue Jan 25, 2011 15:56
by dreamW
С архивами и прочим я разобрался.
Возникла другая проблема:
После попытки запустить интерфейс от другой прошивки (такого же точно девайса, dopodo s200), перестал запускаться родной интерфейс.
Ошибка проверки пароля (какого, где?).
Сравнивал значения /dev/nblock6 (там где конфиг лежит) с оригиналом, особо не отличается..

Сейчас экспериментирую с запуском прошивки от WDTVLive, есть периодические успехи (правда не удается запустить драйвер IR).

подробнее (чтоб не захламлять место тут): http://s1a.andboson.com/viewtopic.php?pid=37#p37

Вдруг кто чего скажет..

Re: Egreat S1A

PostPosted: Wed Jan 26, 2011 21:28
by dreamW
Снял xenv.
В них тоже ничего похожего на пароли не нашел.
Code: Select all
x.boot = 0x00005800      # 22528
z.stage1_ga = 0x81600000      # -2124414976
x.pll.1.pll = 0x01000024      # 16777252
x.mux = 0x00000201      # 513
x.ddr.0.density = 0x00000004      # 4
x.ddr.1.density = 0x00000004      # 4
x.ddr.grade = 0x00000004      # 4
x.ddr.fmin_mhz = 0x000000c8      # 200
x.ddr.fmax_mhz = 0x0000014d      # 333
x.ddr.method = 0x10015858      # 268523608
x.ddr.verbose = 0x00000001      # 1
a.avclk_mux = 0x17400000      # 390070272
a.hostclk_mux = 0x00000130      # 304
a.cd0_freq = 0x00000000      # 0
a.cd1_freq = 0x00000000      # 0
a.cd2_freq = 0x05b8d800      # 96000000
a.cd3_freq = 0x00000000      # 0
a.cd4_freq = 0x01fca055      # 33333333
a.cd5_freq = 0x00000000      # 0
a.cd6_freq = 0x00000000      # 0
a.cd7_freq = 0x00000000      # 0
a.cd8_freq = 0x00000000      # 0
a.cd9_freq = 0x00000000      # 0
a.cd10_freq = 0x00000000      # 0
a.cd11_freq = 0x00000000      # 0
a.irq_rise_edge_lo = 0xff28ca06      # -14104058
a.irq_rise_edge_hi = 0x0c10009f      # 202375327
a.irq_fall_edge_lo = 0x0000c000      # 49152
a.irq_fall_edge_hi = 0x00000000      # 0
a.gpio_irq_map = 0x000a0800      # 657408
a.pcidev1_irq_route = 0x01010101      # 16843009
a.pcidev2_irq_route = 0x01010101      # 16843009
a.pcidev3_irq_route = 0x01010101      # 16843009
a.pcidev4_irq_route = 0x01010101      # 16843009
a.gpio_dir = 0x00000880      # 2176
a.gpio_data = 0x00000880      # 2176
a.gpio7_pulse = {"10000\0"}
a.pb_def_timing = 0x03080202      # 50856450
a.pb_cs_config = 0x00330003      # 3342339
a.pb_cs_config1 = 0x00000000      # 0
a.pb_cs_ctrl = 0x00000000      # 0
a.pb_timing0 = 0x03080202      # 50856450
a.pb_use_timing0 = 0x000003f3      # 1011
a.uart0_gpio_mode = 0x0000006e      # 110
a.uart0_gpio_dir = 0x00000000      # 0
a.uart0_gpio_data = 0x00000000      # 0
a.uart1_gpio_mode = 0x0000006e      # 110
a.uart1_baudrate = 0x00002580      # 9600
a.scard_5v_pin = 0x00000000      # 0
a.scard_cmd_pin = 0x00000001      # 1
a.scard_off_pin = 0x00000002      # 2
a.scard1_5v_pin = 0x00000000      # 0
a.scard1_cmd_pin = 0x00000001      # 1
a.scard1_off_pin = 0x00000002      # 2
a.board_id = {"922-A3a\0"}
xmb.comment = {"--- review xmasboot/configs/8654_3-7.config for details [xmbb5-ezboot90-nand_st2] ---\x0a"}
a.enable_devices = 0x001b3efc      # 1785596
a.eth_mac = {"00:16:e8:00/25\0"}
a.eth1_mac = {"00:16:e8:00/25\0"}
a.sata_channel_cfg = 0x00008057      # 32855
z.boot0 = 0x00080000      # 524288
z.boot1 = 0x000c0000      # 786432
z.boot2 = 0x00000000      # 0
z.imatromfs_offset = 0x00800000      # 8388608
z.imatromfs_size = 0x00900000      # 9437184
z.imatromfs_mm = 0x00000001      # 1
z.xmatromfs_offset = 0x01800000      # 25165824
z.xmatromfs_size = 0x00200000      # 2097152
z.xmatromfs_mm = 0x00000001      # 1
z.default_boot = 0x00000001      # 1
z.interactive_boot_idx_sel = 0x00000001      # 1
z.bootdev_order = 0x0100      # 256
y.testvar = {"yamonfoo\0"}
y.b0 = {"nflash read 0x080000 0xa4a00000 0x040000 0; dump romfs 0xa4a00000; load zbf 0xa4a00080; go\0"}
y.b1 = {"nflash read 0x0c0000 0xa7000000 0x740000 0; dump romfs 0xa7000000; load zbf 0xa7000090; go\0"}
y.b2 = {"nflash read 0x000000 0xa4a00000 0x080000 0; dump romfs 0xa4a00000; load zbf 0xa4a00080; go\0"}
y.fb0 = {"nflash read 0x080000 0x84a00000 0x040000 0; dump romfs 0x84a00000; load zbf 0x84a00080; go\0"}
y.fb1 = {"nflash read 0x0c0000 0x87000000 0x740000 0; dump romfs 0x87000000; load zbf 0x87000090; go\0"}
y.fb2 = {"nflash read 0x480000 0x84a00000 0x080000 0; dump romfs 0x84a00000; load zbf 0x84a00080; go\0"}
y.spug = {"load uu 0xa4a00000; cksum 0xa4a00000 0x20000; nflash erase -p 0 0x20000 0; nflash write -p 0 0xa4a00000 0x20000 0; nflash read -p 0 0xa4a00001 0x20000 0; cksum 0xa4a00001 0x20000\0"}
y.pug = {"load -b tftp://172.30.2.212/ES5/phyblock0-latest-0x20000padded.922-A3a 0xa4a00000; cksum 0xa4a00000 0x20000; nflash erase -p 0 0x20000 0; nflash write -p 0 0xa4a00000 0x20000 0; nflash read -p 0 0xa4a00001 0x20000 0; cksum 0xa4a00001 0x20000\0"}
y.yug = {"load -b tftp://172.30.2.212/ES5/zbimage-yamon-xload-latest-0x40000padded 0xa4a00000; cksum 0xa4a00000 0x40000; nflash write 0x80000 0xa4a00000 0x40000 0; nflash read 0x80000 0xa4a00001 0x40000 0; cksum 0xa4a00001 0x40000\0"}
y.lug = {"load -b tftp://172.30.2.212/ES5/zbimage-linux-xload-latest-0x500000padded 0xa7000000; cksum 0xa7000000 0x740000; nflash write 0xc0000 0xa7000000 0x740000 0; nflash read 0xc0000 0xa7000001 0x740000 0; cksum 0xa7000001 0x740000\0"}
y.imu = {"load -b tftp://172.30.2.212/imaterial/imaterial.romfs.latest 0xa7000000; nflash erase 0x00800000 0x00900000 0; nflash write 0x00800000 0xa7000000 0x00900000 0; nflash read 0x00800000 0xa7000010 0x00900000 0; dump romfs 0xa7000010\0"}
y.xmu = {"load -b tftp://172.30.2.212/xmaterial/xmaterial.romfs.latest 0xa4a00000; nflash erase 0x01800000 0x00200000 0; nflash write 0x01800000 0xa4a00000 0x00200000 0; nflash read 0x01800000 0xa4a00010 0x00200000 0; dump romfs 0xa4a00010\0"}
y.pugUNSTABLE = {"load -b tftp://172.30.2.212/ES5/phyblock0-UNSTABLE-0x20000padded 0xa4a00000; cksum 0xa4a00000 0x20000; nflash erase -p 0 0x20000 0; nflash write -p 0 0xa4a00000 0x20000 0; nflash read -p 0 0xa4a00001 0x20000 0; cksum 0xa4a00001 0x20000\0"}
y.commit = {"nflash read -p 0 0xa4a00000 0x20000 0; copy $xenv_addr 0xa4a00000 0x4000; nflash erase -p 0 0x20000 0; nflash write -p 0 0xa4a00000 0x20000 0\0"}
y.ub = {"go 0xa00e5284\0"}
y.nwk = {"load -b tftp://172.30.2.212/ES5/vmlinux-latest.bin 0x84000000\0"}
y.nwg = {"go . root=/dev/nfs nfsroot=172.30.63.13:/roots/debinst-yourlogin ip=::::::dhcp rdinit=/none console=ttyS0 mem=135MB\0"}
l.cs0_size = 0x10000000      # 268435456
l.cs0_parts = 0x00000007      # 7
l.cs0_part1_offset = 0x00000000      # 0
l.cs0_part1_size = 0x00080000      # 524288
l.cs0_part2_offset = 0x00080000      # 524288
l.cs0_part2_size = 0x00040000      # 262144
l.cs0_part3_offset = 0x000c0000      # 786432
l.cs0_part3_size = 0x00740000      # 7602176
l.cs0_part4_offset = 0x00800000      # 8388608
l.cs0_part4_size = 0x01000000      # 16777216
l.cs0_part5_offset = 0x01800000      # 25165824
l.cs0_part5_size = 0x00800000      # 8388608
l.cs0_part6_offset = 0x02000000      # 33554432
l.cs0_part6_size = 0x00020000      # 131072
l.cs0_part7_offset = 0x02020000      # 33685504
l.cs0_part7_size = 0x09600000      # 157286400
l.cs1_size = 0x00000000      # 0
a.linux_cmd = {"console=ttyS0 mem=241M\0"}
z.log2_xpu0_size = 0x00000017      # 23
z.dsp0_size = 0x00500000      # 5242880
z.zdata0_size = 0x00004000      # 16384
z.uzdata0_size = 0x0000c000      # 49152
z.log2_xpu1_size = 0x00000015      # 21
z.dsp1_size = 0x00084000      # 540672
z.zdata1_size = 0x00008000      # 32768
z.uzdata1_size = 0x00014000      # 81920
z.ruamm0_offset = 0x00000000      # 0
z.ruamm1_offset = 0x0f100000      # 252706816
z.stage2_ga = 0xc0000000      # -1073741824
z.xos_public_mm = 0x00000001      # 1
z.log2_xos_public_size = 0x00000011      # 17
z.channel_index_mm = 0x00000001      # 1
z.ih_api_mm = 0x00000001      # 1
z.ios_mm = 0x00000000      # 0
z.ios_size = 0x006acfc1      # 7000001
z.splashscreen_enabled = 0x00000001      # 1
i.sp.scaler = 0x00000004      # 4
i.sp.digital_enable = 0x00000001      # 1
i.sp.component_enable = 0x00000001      # 1
i.sp.analog_enable = 0x00000001      # 1
i.sp.picture = {"splash.sdd\0"}
i.sp.hdmi_chip = 0x00000001      # 1
i.sp.animation_enable = 0x00000001      # 1
a.ps.mt3_hs = {0x1b 0x20 0x00 0x01 0x01 0x03 0x00 0x00 0x01 0x04 0x00 0x00 0x1a 0x00 0x14 0x35 0x2b 0x13 0x65 0x45 0x21 0x00 0x01 0x00 0x1a 0x00 0x14 0x35 0x2b 0x13 0x65 0x45 0x21 0x00 0x01 0x00 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0c 0x0c 0x0c 0x0c 0x80 0x80 0x80 0x80 0x7d 0x7f 0x7d 0x7f 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x0c 0x0c 0x0c 0x0c 0x80 0x80 0x80 0x80 0x7c 0x7c 0x7a 0x7a 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05}
a.ps.pll2 = 0x0101203b      # 16851003
a.ps.pll0 = 0x00000000      # 0
a.standby.mt3_hs = {0x2f 0x60 0x00 0x01 0x01 0x03 0x00 0x00 0x01 0x04 0x00 0x00}
a.standby.pll2 = 0x00000000      # 0
a.standby.pll0 = 0x00000000      # 0
a.standby.gpio_dir = 0x00000800      # 2048
a.standby.gpio_data = 0x00000000      # 0
i.sp.analog_standard = 0x0000007b      # 123
i.sp.digital_standard = 0x00000021      # 33
i.sp.component_standard = 0x00000071      # 113



тем не менее, ошибка есть:
Code: Select all
# ./av
ll_PowerOn() have executed!
cm_Init() have executed!
cm_SetUserZone 3 ucReturn code:0
cm_SetUserZone() 3 have executed ok!
cm_VerifyCrypto ucReturn code:22
cm_SetUserZone 1 ucReturn code:0
cm_SetUserZone() 1 have executed ok!
cm_VerifyPassword 1 ucReturn code:22
check i2c error!


Знатоки, подскажите, куда копать.

ЗЫ: доступа к ямон не имею, не нашел контактов на плате. Все делаю через телнет.

Re: Egreat S1A

PostPosted: Thu Jan 27, 2011 09:20
by Gennadyi
без YAMON-а работать с флешем (прошивкой) затруднительно.
покажите фото платы, может что и придумаем

Re: Egreat S1A

PostPosted: Thu Jan 27, 2011 12:14
by dreamW
Здравствуйте.

Вот фото:
http://s1a.andboson.com/Tools/

4 контакта около разьема питания SATA - это дублирование питания. Те 6, что спереди - то же нет нужной последовательности (питание, данные, данные, земля?).

После вчерашних попыток запуска, устройство вообще не грузится. Нет экрана загрузки, нет активности на флеш-накопителе (т.е. не стартует лоадер, ..xlinux.zbf). Хотя вроде сетка помаргивает и на ДУ вкл\выкл реагирует.

Так что актуальность ямона выросла до небес.
Буду рад любым советам.

ЗЫ: если что: Всю флешку я сохранил в файл еще раньше. Так что xenv у меня есть.

Re: Egreat S1A

PostPosted: Thu Jan 27, 2011 15:53
by Gennadyi
dreamW wrote:Здравствуйте.

Вот фото:
http://s1a.andboson.com/Tools/

4 контакта около разьема питания SATA - это дублирование питания. Те 6, что спереди - то же нет нужной последовательности (питание, данные, данные, земля?).

После вчерашних попыток запуска, устройство вообще не грузится. Нет экрана загрузки, нет активности на флеш-накопителе. Хотя вроде сетка помаргивает и на ДУ вкл\выкл реагирует.

Так что актуальность ямона выросла до небес.
Буду рад любым советам.

ЗЫ: если что: Всю флешку я сохранил в файл еще раньше. Так что xenv у меня есть.

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

Re: Egreat S1A

PostPosted: Thu Jan 27, 2011 16:04
by dreamW
Да, действительно, как минимум трое из контактов ведут к чипу (а больше похоже, что 4).

Как выяснить, где что? Токи\напряжения искать на них? Какие уровни?

Re: Egreat S1A

PostPosted: Thu Jan 27, 2011 16:34
by None
dreamW wrote:Да, действительно, как минимум трое из контактов ведут к чипу (а больше похоже, что 4).
Как выяснить, где что? Токи\напряжения искать на них? Какие уровни?

Снимите карту напряжений с этого разъёма относительно земли, естественно, во включенном состоянии плеера.
А заодно и с того разъема, что Вы считаете дублированием питания SATA.

P.S. Фотографии платы у Вас вышли хреновые, когда снимаете делайте это осветив плату лампой, а на фотике выключите встроенную вспышку, ну и уперется во что-нибудь не помешает, а то "шевелёнка" на всех кадрах :(

Re: Egreat S1A

PostPosted: Thu Jan 27, 2011 17:07
by dreamW
Image

На втором, который дубляж сата 12-0-0-5.2 (т.е. таки сата)

Фото сделаю лучше обязательно, мне самому эти не нравятся. Просто тут условия хреновые (засветы от от ламп дневного света).

Re: Egreat S1A

PostPosted: Thu Jan 27, 2011 17:25
by Reyter
dreamW wrote:4 контакта около разьема питания SATA - это дублирование питания.

Ой чой-то я сильно сомневаюсь :) Очень сильно похоже именно на COM. Как посоветовал None, давайте сюда карту напряжений с этих контактов.