Tlaciaren Samsung ML-2525 - firmware
Moderátor: Moderátoři
Takze skutocne je ten jeden byte zmeneny, idem skumat zapis do flash.
Wiggler chodi bez problemov plnou rychlostou paralelneho portu - priblizne 500kHz (ked dam viac, tak sa to uz nezrychli), teraz to precita ten 512KB dump za 50 sekund![Smile :)](./images/smilies/icon_smile.gif)
[edit]
Takze zapis nejde. Flash som nadefinoval takto:
Jedine, co o nej viem, je tento text zo servisneho manualu: "mfl130_128Kx32". Skusal som nastavit aj sirku 2 B alebo 1 B, aj parameter jedec_probe, ale nejde to. Prikaz flash_probe 0 nedetekuje mfg. a device ID - namiesto toho nacitava prve byte z flash.
Neviem najst ziadnu dokumentaciu k nejakej podobnej flash, asi bude nutne skumat disassemblovany flashovaci kod...
Wiggler chodi bez problemov plnou rychlostou paralelneho portu - priblizne 500kHz (ked dam viac, tak sa to uz nezrychli), teraz to precita ten 512KB dump za 50 sekund
![Smile :)](./images/smilies/icon_smile.gif)
[edit]
Takze zapis nejde. Flash som nadefinoval takto:
Kód: Vybrat vše
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME cfi 0 524288 4 4 arm
Neviem najst ziadnu dokumentaciu k nejakej podobnej flash, asi bude nutne skumat disassemblovany flashovaci kod...
Umíš tam dát breakpoint? Jestli jo, dej ho na adresu 0xC3AC a spusť to od začátku a načti ten image z PC, až se to zastaví na tom breakpointu, budeš před instrukcema, co provádějí test toho čísla v [[[]]] patřícího ke starému kernelu. Pak přeskočíš na 0xC3BC a mělo by to vypsat "Valid image!" a pokračovat dál, jako by to číslo bylo OK. ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
No tak som skoncil
Zamrzlo to. Tak som dal halt a pozrel do flash, su tam same 0xFF. Zatial som to nevypinal, teraz by mal byt povoleny zapis do flash, tak skusim nejake bezne prikazy na zapis.
![Sad :(](./images/smilies/icon_sad.gif)
Kód: Vybrat vše
[[[[[ Internal Flash Writing : BASE : 0x00000000]]]]]
start_addr 0x00000000, end_addr = 0x00080000
stat_sector 0x00000000, end_sector 0x00000200
image_start_addr = 0x0270000C
IFlashMemChipErase START!!!
Neda sa z tej procedury zistit, ci to funguje ako nejaka standardna flash - napr. na adresu 0x555 zapisat 0xAA, potom na 0x2AA zapisat 0x55, potom na 0x555 zapisat 0xA0 (prikaz PROGRAM) a nasledne jeden byte dat?
Ale kedze to ma byt 32-bitova flash, tak to nebude asi take jednoduche. Navyse sa to kvoli tej cache velmi zle testuje.
Ale kedze to ma byt 32-bitova flash, tak to nebude asi take jednoduche. Navyse sa to kvoli tej cache velmi zle testuje.
Když ono je toho kódu moc a každou chvíli to volá nějakou proceduru. Zatím se mi podařilo identifikovat jen strcpy(), strcmp(), memcpy(), sprintf(). Ta flashovaci procedura taky pořád něco volá a já nevím, co to je. ![Sad :(](./images/smilies/icon_sad.gif)
Co zkusit pustit celý ten downloader znovu od 0x2600000? On se zase (možná) zacyklí na 0x26008EC a pak dát resume od 0x26008F0.
Edit: To je blbost, dyť to kontroluje i ten původní obsah a ten tam teď neni.![Sad :(](./images/smilies/icon_sad.gif)
![Sad :(](./images/smilies/icon_sad.gif)
Co zkusit pustit celý ten downloader znovu od 0x2600000? On se zase (možná) zacyklí na 0x26008EC a pak dát resume od 0x26008F0.
Edit: To je blbost, dyť to kontroluje i ten původní obsah a ten tam teď neni.
![Sad :(](./images/smilies/icon_sad.gif)