Kiedyś pisałem o moim problemie z transmisją przez USB. Wciąż nie rozwiązanym. Chciałbym sprawdzić czy uda się wgrać poprawnie inny rom, ale boję się bez zabezpieczenia. :p Chciałbym zrobić backup romu na kartę (microSD 128MB) i w razie problemów przywrócić go, ale mój Wizard to G4 z wgranym HardSPL i nie uśmiecha mi się wydać ~100 zł na imei-check. Z tego co wyczytałem komendy bootloadera są dostępne tylko po całkowitym odblokowaniu CIDa (czego HardPL nie robi). Czy chodzi w tym ograniczeniu tylko o wgranie backupu z powrotem do pamięci, czy także o zrobienie samego backupu poprzez komendę r2sd? Takie problemy przewinęły się w tym co czytałem, mnie się natomiast udało zrobić r2sd all i żadnych błędów nie było chyba. Poniżej komunikaty z mtty:
Cmd>r2sd all
***** user area size = 0x7940000 Bytes
R2SDBackup() - Download type = 5
usTotalBlock = 1 sizeof(SDCARD_SIGNATRUE_TABLE)=512
Start address = 0x80000000 , Length = 0x800
Start address = 0x80000800 , Length = 0xC0000
Start address = 0x800C0800 , Length = 0x40000
Start address = 0x80100800 , Length = 0x280000
GSM - dwSize = 345B9
GSM Page0
Start address = 0x4E3D4C0 , Length = 0x3900000
Start address = 0x743D4C0 , Length = 0xA00000
SD user size = 0x7940000, Image total size = 0x4680800
1 Start=0x80000000, Length=0x800, Checksum=0xEBE7EEF
+WriteDataToSDCard() - pusSourceAddr = 0x8C100000 , ulSourceLength=0x800
WriteDataToSDCard() ulTargetSDAddr=0x200 pusSourceAddr=0x8C100000 dwTotalBlock=0x4
-WriteDataToSDCard() - pusSourceAddr = 0x8C100000 , ulSourceLength=0x800
2 Start=0x80000800, Length=0xC0000, Checksum=0x74EDC29B
+WriteDataToSDCard() - pusSourceAddr = 0x8C100000 , ulSourceLength=0xC0000
WriteDataToSDCard() ulTargetSDAddr=0xA00 pusSourceAddr=0x8C100000 dwTotalBlock=0x600
-WriteDataToSDCard() - pusSourceAddr = 0x8C180000 , ulSourceLength=0xC0000
3 Start=0x800C0800, Length=0x40000, Checksum=0x6A41FBB5
+WriteDataToSDCard() - pusSourceAddr = 0x8C100000 , ulSourceLength=0x40000
WriteDataToSDCard() ulTargetSDAddr=0xC0A00 pusSourceAddr=0x8C100000 dwTotalBlock=0x200
-WriteDataToSDCard() - pusSourceAddr = 0x8C100000 , ulSourceLength=0x40000
GSM - dwSize = 345B9
GSM Page0
4 Start=0x80100800, Length=0x280000, Checksum=0x61FEE4A3
+WriteDataToSDCard() - pusSourceAddr = 0x8C100000 , ulSourceLength=0x280000
WriteDataToSDCard() ulTargetSDAddr=0x100A00 pusSourceAddr=0x8C100000 dwTotalBlock=0x1400
-WriteDataToSDCard() - pusSourceAddr = 0x8C380000 , ulSourceLength=0x280000
5 Start=0x4E3D4C0, Length=0x3900000, Checksum=0x23B11E8F
+WriteDataToSDCard() - pusSourceAddr = 0x8C100000 , ulSourceLength=0x3900000
WriteDataToSDCard() ulTargetSDAddr=0x380A00 pusSourceAddr=0x8C100000 dwTotalBlock=0x1C800
-WriteDataToSDCard() - pusSourceAddr = 0x8FA00000 , ulSourceLength=0x3900000
6 Start=0x743D4C0, Length=0xA00000, Checksum=0x90F06EC
+WriteDataToSDCard() - pusSourceAddr = 0x8C100000 , ulSourceLength=0xA00000
WriteDataToSDCard() ulTargetSDAddr=0x3C80A00 pusSourceAddr=0x8C100000 dwTotalBlock=0x5000
-WriteDataToSDCard() - pusSourceAddr = 0x8CB00000 , ulSourceLength=0xA00000
Double Check 0 Start=0x80000000, Length=0x800, Checksum=0xEBE7EEF
Double Check 1 Start=0x80000800, Length=0xC0000, Checksum=0x74EDC29B
Double Check 2 Start=0x800C0800, Length=0x40000, Checksum=0x6A41FBB5
Double Check 3 Start=0x80100800, Length=0x280000, Checksum=0x61FEE4A3
Double Check 4 Start=0x4E3D4C0, Length=0x3900000, Checksum=0x23B11E8F
Double Check 5 Start=0x743D4C0, Length=0xA00000, Checksum=0x90F06EC
usTotalBlock = 1 sizeof(SDCARD_SIGNATRUE_TABLE)=512
+WriteHTCSignature,download type = 5
Common Info Checksum=0xB9E98B7
-WriteHTCSignature...
Wygląda na to, że operacja się powiodła. Tylko jak teraz z przywróceniem backupu z karty. Czy przy niezdjętym CIDzie poprostu się ta operacja nie powiedzie, czy cegła będzie? Boję się, że jeśli to się nie uda to w moim wizie nie da się zmienić romu już wogóle. ?-?
Druga sprawa, to czy i jak można porównać zrobiony właśnie zrzut z oryginałem? Wyobrażam sobie to tak:
1. r2sd all
2. wyodrębnienie ze zrzutu pliku .nb o samym, os'em komendą: psdread F: 3017216 28311552 osrom.nb (wg.
http://wiki.xda-developers.com/index.php?pagename=Wizard_ROM_Layout)
3. przerobienie pliku .nb na .nbf programem nb2nbf podając adres romu jako 80040000 i jeszcze kilka wpisów jak na załączonym zrzucie (przy okazji pytanie do mobiego, co tam wpisać w pola OEM Version, Operator Version i CID w przypadku NxS 3.3b)
[attachment=1]
4. porównanie otzrymanego pliku nbf z plikiem który był w oryginalnej paczce z romem, np. sprawdzenie sum kontrolnych (stąd potrzeba dokładnego powielenia danych, które wpisał mobi.
Problem tylko w tym, że otrzymuję plik o wielkości 27MB (taki jak wielkość romu podana w powyższym linku, a orginalny plik był ponad 2x większy. Gdzie robię błąd?
//poprawiłem literówkę w temacie
mobi