Tlaciaren Samsung ML-2525 - firmware

Počítače stolní, notebooky, tablety, tiskárny, scanery a vše, co nějak souvisí s PC

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

Tlaciaren Samsung ML-2525 - firmware

#1 Příspěvek od rnbw »

Mam tu tlaciaren Samsung ML-2525, ktora ma pravdepodobne poskodeny firmware - po zapnuti sa rozsvieti vypinac, prebliknu na oranzovo dve LED a tym to skonci, dalej vobec nereaguje, ani sa neda vypnut, ani nekomunikuje cez USB.

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?

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#2 Příspěvek od rnbw »

Pripojil som seriovu konzolu. Sluzi na to (neosadeny) konektor CN1 HYPER, piny zlava: GND, RX, TX, 3V3. Na RX je neosadeny odpor, takze je nefunkcny. Uroven 3,3V, parametre 38400 8 N 1.

Normalny start (so zamrznutim):

Kód: Vybrat vše

[HWIC]
1PLL
2IOC
3SDRAM
4GPIO
5AHB
[END][Y]
Decompression ***********
-->>>> GO Kernel
jump_ExecCode() : ul_addr - 0x0200800
Pokus 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 bytes
Pokus 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 Again

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#3 Příspěvek od rnbw »

Tak som sa konecne na to poriadne pozrel. Ten 512KB firmware je spravny, funkcna tlaciaren (resp riadiaca doska) ho akceptuje a flashne.

Pruser 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.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#4 Příspěvek od Andrea »

Mně to komprimovaný nepřijde, texty jsou všechny čitelný.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#5 Příspěvek od rnbw »

Lenze tie texty tam nie su vsetky. Tlaciaren vie vytlacit testovaciu stranku s roznymi textami (pocty stran a pod.) a tie tam nie su. Zato tam je "inflate 1.2.3 Copyright 1995-2005 Mark Adler". Takze algoritmus uz je znamy, ale ako je tam pouzity, to je druha vec.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#6 Příspěvek od Andrea »

To se bude rozbalovat, až když se to spustí, ten flashovací program to asi rozbalovat nebude. Vidím dobře, že je tam Samsung ML-6060 a ne ML-2525?
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.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#7 Příspěvek od rnbw »

Ano, ten retazec ML-6060 som videl vo viacerych firmwaroch Samsung. Je to asi nejaky pozostatok z bordelu, co v tom maju...

Pravda, ten flasher to asi rozbalovat nebude, to by bolo prilis zlozite. Procesor by mal byt ARM940T.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#8 Příspěvek od Andrea »

Hmm, jenže z DISARMu, co tu mám, nevypadlo nic, co by vypadalo jako smysluplný kód. Možná je to v THUMBu.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#9 Příspěvek od rnbw »

Asi bude:

Kód: Vybrat vše

This code can only run on a Thumb compatible processor

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#10 Příspěvek od Andrea »

Umí něco z GCC disassemblovat takovýhle binární kód? Objdump hlásí, že nezná formát souboru. :( Já s GCC moc nekamarádím, ale mám tu ARMový počítač s Linuxem, třeba by to nějak šlo disassemblit. :)

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#11 Příspěvek od rnbw »

Vraj "objdump -D -b binary", ale nikdy som neskusal. A ARM verziu nemam nikde...

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#12 Příspěvek od Andrea »

Jo, to funguje, ale to, co z toho vypadlo, není o nic lepší než z toho DISARMu. Asi se to neumí samo přepínat mezi ARM a THUMB. :(

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#13 Příspěvek od rnbw »

Mozno prepinac -m by pomohol, neviem ake architektury ta ARM verzia pozna. Na x86 vidim: i386 i386:x86-64 i8086 i386:intel i386:x86-64:intel l1om l1om:intel plugin.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#14 Příspěvek od Andrea »

Pro binary formát mi to nabízí jen arm a s tím jsem to přeložila. Když dám -Mforce-thumb, tak to přeloží celé jako Thumb, ale to asi taky není ono. :( Být to pro x86, tak je to o dost jednodušší.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#15 Příspěvek od Andrea »

Aha, to není čistej BIN, to má nějakou hlavičku, takže je to celý pošouplý. Mně se to zdálo nějaký divně zarovnaný.

Odpovědět

Zpět na „Výpočetní technika“