[Galaxy S I9000 Android Development] Richthofen:
Usually I would not release a firmware for a customized variant, but in this case I made an exception because the firmware felt so damn fast (feels like JM9 ^2).

It might just be because of the epic hangover I have, but anyway... :)

Few facts about this version:

BETA release (not official, obviously)

Version: 2.1 Eclair

PDA version I9000TDOJJ1

PDA Build time: 2010.10.05 18:37:01 KST

PDA Changelog: Unknown

MODEM version I9000XXJM4

MODEM Build time: 2010.08.31 10:26:45 KST

MODEM Changelog: Unknown

This firmware is made for Telstra "customized" (the firmware itself is not branded) GT-I9000T phone. The main hardware is identical with GT-I9000, so the firmware will work just fine with a normal GT-I9000 (atleast have not notice any problems yet). Of course we will use a modem FW made for Europe ;)

However the CSC files made for GT-I9000 do not work with this firmware directly. To be able to use the CSC files with this firmware, a fix needs to be applied:

USE CSCs FROM THIS ARCHIVE ONLY. OTHER ONES LISTED BELOW ARE FOR REFERENCE ONLY, THEY DO NOT WORK WITH THIS FIRMWARE.

They are all in single package to save time: GT-I9000(T)_FIXED_CSC.7z

Download and make your pick.

Use as a normal update.zip via recovery.

Clear cache afterwards (via recovery also).

DO NOT USE ODIN3 ;)

Extract the .7z archive and put the update.zip file to the root of your internal sd card.

Flash your phone with CODE and MODEM file

ONLY

.

After the flash there will be no CSC (does not matter). Reboot to recovery mode and select apply sdcard:update.zip (execute by pressing home key).

After that the CSC will be working fine.

The modem firmware has been updated from I9000XXJM3 used in my previous releases to I9000XXJM4 (final). This version should have some actual changes too (besides fixed typos in operator names).

All CSC versions are I9000???JM1 and

unbranded

, but CSC´s for specific operators (Vodafone for example) are included.

UI / Swype languages supported by DOJJ1:

UI: Bulgarian, Czech, Danish, Deutsch DACH, Dutch, English (Australia, Ireland, New Zealand, South Africa, UK, US), Estonian, Finnish, French, Greek, Hungarian, Icelandic, Irish, Italian, Kazakh, Latvian, Lithuanian, Macedonian, Norwegian, Polish, Portuguese, Russian, Slovakian, Slovenian, Spanish, Swedish, Turkish, Ukrainian

Swype: English (Australia, Ireland, New Zealand, South Africa, UK, US), Deutsch DACH, Dutch, French, Italian, Polish, Portuguese, Spanish, Turkish,

Usually Odin3 images are provided in a single integrated .tar package which contain all of the necessary files. This way the CSC cannot be selected separately.

That is why I splitted the release in three different parts (CODE, MODEM, CSC).

Since Odin3 has flashfile checksum support I also added md5 hash tail to the .tar files. This way is more secure because Odin will not allow flashing corrupted images. Flashing takes a bit longer thou because the checksums are checked in the beginning of the update process.

You need to download two files.

GT-I9000(T)-I9000TDOJJ1_I9000XXJM4_CODE-MODEM.7z

CSC_I9000?????? (CSC corresponding your PCODE)

I know this is not nearly all of the excisting variants, but repacking the softwares is quite a slow process for certain reasons. I have access to pretty much any Samsung firmware, so if you find a variant missing you can send me pm. I can have a look.

Download links:

GT-I9000(T)-I9000TDOJJ1_I9000XXJM4_CODE-MODEM

CSC_I9000DBTJM1 - Generic Germany (Unbranded, PCODE

DBT

)

CSC_I9000OXAJM1 - Generic Europe Multi-CSC (Unbranded, PCODE(s)

CPW, DBT, ITV, KOR, XEF, XEO, XEU

)

CSC_I9000OXEJM1 - Baltic, Kazakhstan, Russia, Ukraine Multi-CSC (Unbranded, PCODE(s)

SEB, SEK, SER, SKZ

)

CSC_I9000OXXJM4 - Europe - Africa Multi-CSC (Unbranded, PCODE(s)

ATO, AUT, CNX, COA, COS, CRO, CYO, CYV, EUR, HAT, IRD, KOR, MET, MOT, MOZ, MSR, MTL, O2C, O2I, ONE, ORO, SEB, SIM, SMO, SUN, TMZ, TOP, TPH, TRA, TSR, TWO, VDH, VDI, VIM, VIP, VVT, XEH, XEO, XEZ, XFA, XFC, XFE, XFM

CSC_I9000BMCJH2 - Bell Canada (Branded, PCODE

BMC

)

CSC_I9000HUIHUI - Tre H3G Italy (Branded, PCODE

HUI

)

CSC_I9000OLBJG4 - Asian Multi-CSC (Unbranded, PCODE(s)

CCM, DGI, GLB, MIS, MM1, SIN, SMA, STH, THL, UMB, XEV, XME, XSE, XSO, XSP, XTC, XTE, XXV

)

CSC_I9000OPSJG1 - Optus Australia (Unbranded, PCODE

OPS

)

CSC_I9000XEEJM1 - Generic Nordic (Unbranded, PCODE

XEE

)

CSC_I9000TMNJM1 - TMN Portugal (Branded, PCODE

TMN

)

CSC_I9000TMNJM1-CLEAN-v2 - TMN Portugal (Custom, PCODE

TMN

)

CSC_I9000XECJM1 - Generic Spain (Unbranded, PCODE

XEC

)

CSC_I9000PANJM1 - Telenor Hungary (Branded, PCODE

PAN

)

CSC_I9000PRTJM2 - Play Poland (Branded, PCODE

PRT

)

CSC_I9000SWCJM1 - Swisscom Switzerland (Branded, PCODE

SWC

)

CSC_I9000TENJM2 - Telenor Norway (Unbranded, PCODE

TEN

)

CSC_I9000TIMJM2 - TIM Italy (Branded, PCODE

TIM

)

CSC_I9000TMHJM2 - T-Mobile Hungary (Unbranded, PCODE

TMH

)

CSC_I9000GVD2JM3 - Vodafone Deutschland (Branded, PCODE

VD2

)

CSC_I9000XEFJM2 - Country Specific France (Unbranded, PCODE

XEF

)

CSC_I9000XENJM1 - Country Specific Netherlands (Unbranded, PCODE

XEN

) ;)

How to check which CSC (major) version you should use:

Open dialer and type: *2767*4387264636#

The second line will read: PCode:GT-I9000HK?xxx.

Make the last three characters match with the CSC product code.

Extract the downloaded .rar archives to the same folder.

The archives are contain .tar.md5 files. Do not open them with Winrar for example. They are compressed Odin images which do not need unpacking.

So how to proceed:

Put your phone to download mode (hold down: volume down, home key, power)

DO NOT plug in your phone yet, Odin / driver does not like it at this stage.

Start Odin3

Tick "Re-Partition", check that "Auto Reboot" and "F. Reset Time" have been ticked.

Click "PIT" button and select s1_odin_20100512.pit file.

Plug in the phone and wait until Odin finds it.

Click "Start" button... <Firmware update start...> <Get PIT for mapping...> appear. The phone will turn off and the screen indicates "Reset". Wait until Odin indicates "Pass".

Plug out your phone, remove the battery, put it back in and put phone to download mode again.

Click "Reset" button in Odin and untick "Re-Partition" box.

DO NOT select PIT file again.

Click "PDA" button and select "CODE_I9000TDOJJ1.tar.md5" file.

Click "MODEM" button and select "MODEM_I9000XXJM4.tar.md5" file.

Click "CSC" button and select the desired version "CSC_I9000???JM?.tar.md5".

Plug in the phone and wait until Odin finds it.

Click "Start" button and wait until phone reboots with the new software version.

When using *Multi CSC* you need to:

Turn on USB debugging and plug in the phone.

Open command prompt and type:

adb shell

am start -a android.intent.action.MAIN -n com.android.Preconfig/com.android.Preconfig.Preconfig

Then select the desired CSC version from the list and press "Install" (this happens on phone screen!).

The phone will reboot once the change is done.

**Read this if you are downgrading from I9000XXJPC rom**

Requirements: Rooted phone, "Root Explorer" (or similar), .nv_data.bak and .nv_data.bak.md5 files (PRIOR the date of I9000XXJPC release).

Because I9000XXJPC rom rewrites certain thing in the permanent memory area of the phone, certain things CAN occur when you downgrade the phone to <I9000XXJPC firmware. It is possible that there will not be any problems at all, but if there is read below.

Possible problems (I had them all due trying different thing to solve it):

IMEI "corruption".

nv_data.bin checksum does not pass the check and the phone / baseband generates a new blank one. Baseband test IMEI (000xxxxxxxxxxxx) will be displayed.

No service.

There is no service even a functional SIM card is inserted.

You cannot receive or make calls, receive or send sms, etc (obviously).

Freeze / lock-down.

The phone will not react to anything besides pressing power key.

You cannot unlock the display to enter PIN code.

Wrong PIN code.

The phone will not accept any PIN code on any SIM (even the correct one ;)).

Phone displays "wrong PIN code" message even the try counter (three strikes you know) does not change.

Product code changed to KOR.

= Blocked Kies updates (without a registry "hack")

Here is how to fix any or all of them:

Downgrade to I9000TDOJJ1 firmware with Odin (as usual).

Remove SIM card from the phone (to be able to boot in first place) and start the phone.

Gain root access and install "Root Explorer" (or similar), ADB works too.

Open Root Explorer and go to the "EFS" folder in the root.

Check the date on .nv_data.bak and .nv_data.bak.md5 files.

If it is earlier than 08/26/2010 you´re clear, if it is later then you may stop reading.

Once the date has been checked, select files nv_data.bin and nv_data.bin.md5 simultaneously and delete (yes, delete) them. Reboot the phone.

Now your phone is in the same condition (atleast permanent memory wise) as it was prior I9000XXJPC update.

There is a safety feature I would call "a dead mans switch".

If the current nv_data files are deleted, the phone will make new nv_data files from the .bak (backup) files (if they excist). The new nv_data files will be signed automatically so they pass the checks (none of the errors listed above will occur). However if they do not excist, the phone will just write an empty / test file (= IMEI corrupted, no service, etc). Also if you just rename .bak files they will have wrong signatures and the same problems will occur.

There is no bootloaders included, so it is safe to flash for everyone.

Regards.

- Nottingham