Tlaciaren Samsung ML-2525 - firmware
Moderátor: Moderátoři
Tlaciaren Samsung ML-2525 - firmware
Ked podrzim pri zapnuti CANCEL, tak sa zapne v BOOT mode - LED rychlo blika roznymi farbami a komunikuje cez USB.
Nedari sa mi tam vsak nahrat ziadny firmware - skusal som z Linuxu (cat subor >/dev/usb/lp0), aj z Windows programami na to urcenymi (usbprns2.exe, usblist2.exe). Skusal som ML2525_V1.01.00.88.fls, ML2525_V1.01.00.83.hd (velkost 7 MB). Vzdy to skonci tak, ze sa prenesie cast suboru, LED sa rozsvieti na zeleno, potom sa prenos zastavi a tlaciaren nic dalej nerobi. Ked som skusal nejake mensie subory, tak tie sa prenesu a cele a tym to skonci.
Mam tu este jednu rovnaku tlaciaren, ale funkcnu. Firmware je tam V1.20.00.84. Na nej som tento postup vyskusal a sprava sa to uplne rovnako (tlaciaren po vypnuti a zapnuti zase funguje, nic sa neposkodi), takze vylucujem HW zavadu.
Skusal som to na dvoch roznych PC, s roznymi kablami.
Myslim si, ze nemam spravny firmware. Cim by to mohlo este byt?
Normalny start (so zamrznutim):
Kód: Vybrat vše
[HWIC]
1PLL
2IOC
3SDRAM
4GPIO
5AHB
[END][Y]
Decompression ***********
-->>>> GO Kernel
jump_ExecCode() : ul_addr - 0x0200800Pokus o flash celeho suboru velkosti 7340104 B (ML2525_V1.01.00.88.fls):
Kód: Vybrat vše
[HWIC]
1PLL
2IOC
3SDRAM
4GPIO
5AHB
[END]
jump_ExecCode() : ul_addr - 0x02600000
======================
Start flash_writer
======================
[Iflash]=== Iflash_HWProtection ===
verify_Image : 0x02700000
i_header->pul_start_addr : 0x00000000
i_header->ul_count : 0x00000000
temp_buf :
SIG : $IMG
Download Image from PC
{
Download destination Address : 0x02700000
Please send data via usb (ISP1582)!!!
USB Chip Device ID= 0000001500008230
Image includes PJL(0000001B) -> Waste 45 bytesPokus o flash kratkeho suboru velkosti 524345 B (ML2520_V1.01.00.84.fls):
Kód: Vybrat vše
[HWIC]
1PLL
2IOC
3SDRAM
4GPIO
5AHB
[END]
jump_ExecCode() : ul_addr - 0x02600000
======================
Start flash_writer
======================
[Iflash]=== Iflash_HWProtection ===
verify_Image : 0x02700000
i_header->pul_start_addr : 0x00000000
i_header->ul_count : 0x00000000
temp_buf :
SIG : $IMG
Download Image from PC
{
Download destination Address : 0x02700000
Please send data via usb (ISP1582)!!!
USB Chip Device ID= 0000001500008230
Image includes PJL(0000001B) -> Waste 45 bytes
[[524300 Bytes received]] - Complete Downloading
Download end
0x0008000C bytes Received
}/*Download End*/
verify_Image : 0x02700000
i_header->pul_start_addr : 0x00000000
i_header->ul_count : 0x00080000
temp_buf : $IMG
SIG : $IMG
IFlashCheckSum START!!!
start addr(0x0270000C) - end addr(0x0278000C)
checksum(0x0000A5A5) - end addr(0x0278000C)
IFlashCheckSum return TRUE END!!!
Source Checksum is valid
Found new kernel(0x0271C00C)!!!!
[[[FFFFFFF8]]], [[[000F69A4]]]
Image is invalid
Reset and Download AgainPruser je, ze flash je integrovana v procesore Jupiter4E. Mimo neho je akurat EEPROM 93C66 - tu som preveril a nesposobuje to ona.
Pruser je, ze k procesoru nie je ziadna dokumentacia. Jedine v servisnom manuali k inej tlaciarni (ML2010) som nasiel, ze vnutri je "MFL130 flash core" a v tovarni sa to pravdepodobne programuje cez piny SDA a SCL - tie su zdielane s JTAG pinmi a ich vyznam sa pravdepodobne prepina pinom PROGRAM.
Riadok
Kód: Vybrat vše
[[[FFFFFFF8]]], [[[000F69A4]]]z vypisu neuspesneho flashu pravdepodobne znamena kontrolu nejakeho ID modelu tlaciarne - aby to nepovolilo flashnut firmware pre nespravny typ. Vyzera to vsak, ze vo flash sa toto ID poskodilo na hodnotu FFFFFFF8 (ma tam byt 000F69A4) a tym padom boot loader neakceptuje firmware.
Takze ostava asi jedine nejako donutit boot loader, aby to zozral - mozno upravit subor - ale 000F69A4 sa tam priamo nikde nenachadza. Je tam pouzity neznamy kompresny algoritmus.
A ty texty, co vypisuje ten bootloader o tom checksumu a verzi (ID) v závorkách, tam jsou čitelné. Možná by ta část šla dekompilovat a zjistit, kde to tu verzi bere. Chce to ale vědět, co to je za procesor.
Kód: Vybrat vše
This code can only run on a Thumb compatible processor