[Galaxy S I9000 Android Development] AdamOutler:
Introduction

Some of you will, remember lets save some bricks? Well, it's taken a long time to perfect this on the i9000, which is ironic because this is where it started, but we finally have a way! You can perform this mod on a bricked device and resurrect it, or you can apply it as a protective measure.

The way this works is we change the OM value in the processor by modifying an individual electronic binary signal. The signal we are interested in is xOM5. This line is normally grounded, causing the overall OM value to equal 0x9. When we bring this line high, the OM value becomes 0x29. This reverses the booting order and ensures you will always have boot from USB available before the device starts.

This is a better option than JTAG for resurrecting a device. How could it possibly be better then JTAG? Let's count the ways....

1. The only part required is a wire.

2. No shipping time.

3. No cost for a box to interface the computer.

4. Permanent.

5. Can be done as a preventive measure.

6. Gives the ability to test new Bootloaders temporarily.

7. Allows development of the entire system.

8. Removes worry about flashing and acts as a backup.

After performing this mod:

Remove the battery, replace the battery, plug in USB, your phone will connect to the computer via USB and await commands for 2 seconds. Otherwise it will pretty much act like a i9000. See the Special Instructions section.

Part 1: Hardware Modification

You will need:

1. Get someone who knows what they're doing with a soldering iron. If they don't know what flux is, then they don't know what they're doing.

2. soldering iron - make sure it's sharp, if it's not sharp, then sharpen it, flux it and retin it.

3. flux

4. solder

5. tweezers

6. A relay (for the wire contained within)

getting started:

You will need a very small peice of wire. Tear apart the relay unravel the coil within and grab about 5cm~ of wire. The fact that it comes from a relay is important because relays generally have very small wire which are individually treated with a non-conductive coating.

Take the 5cm~ wire from the relay and tin the very edge of it. No more then 1/32". If you tin more then 1mm, cut off the excess. It is desirable to have a slight bit of excess solder on the tip of this wire.

1. Tear apart your device. Remove battery cover, battery, 6 screws, the back case and 4 connectors from the board.

2. remove the EM shield from the board to expose the resistors

3. Replace the xOM5 resistor from the top to the bottom or remove the xOM5 resistor and connect either xOM5 center pad to either xOM3's or xOM0's center pads.

4. Reassemble the device

Special Instructions

This replaces the battery charging sequence for the first few seconds of being plugged in.

To turn on the device, and operate in normal mode, you must hold the power button for 5 seconds.

3 button Download mode works as usual, however you must not have the S5PC110 drivers installed on the computer. You can use your custom rom menu option, adb reboot download, or use a terminal to "reboot download". 301Kohm Factory Mode JIGs work as well, but you must press power to bypass the S5PC110 mode.

Part 2: Software Based Resurrection

Connexion2005 (Mobiltechvideos) perfomed the very first resurrection on this device based on a Google+ post I made with a picture of the xOM pins. Usually I post two separate posts, but since the software resurrection was already ready already, I decided to include it in this post. The tools used are the same as every other GalaxyS device. The resurrector must be run within 2 seconds of plugging in the USB cable. Thanks Connexion2005!

You Must have UnBrickable Mod applied to your device. If you're not sure, run this tool under Linux: http://xdaforums.com/showthread.php?t=1257434

This currently only works for

Linux based

computers or Windows based computers with proper drivers installed, with a Linux Virtual Machine, Get Ubuntu here: http://www.ubuntu.com , Get Virtualbox Here: http://www.virtualbox.org/wiki/Downloads

You must have Java installed on your computer: http://www.java.com/en/download/

[YOUTUBE]fw-D_cKeAb8[/YOUTUBE]

Unbricking:

1. Apply UnBrickable Mod to your device: see Hardware Modification section

2. Run ModeDetect and plug in your i9000. (Not a requirment, but helpful)

When you see this image you are in S5PC110 SEC SoC mode. When you see this mode you must proceed to step 3.

If it will only show this image, then you have not performed the modification correctly, or you have a hardware problem.

If it shows this, regardless of what's on your screen, you're in download mode:

3. Run UnBrickable Resurrector: Get it from the SVN repository here: http://code.google.com/p/hummingbird-hibl/downloads/list This will only work on linux. Install Linux or dual boot if you have windows.

On this device the resurrector must be run within 2 seconds of plugging in the device. So you must be quick. I find it's easiest to click Download Mode, type a password, plug in the device, then press enter.

4. Run Heimdall One-Click to flash firmware on your device. http://files.teamkomin.com/i9000SGS/i9000-XXJVT-One-Click.jar

5. repeat steps 2, 3 and 4 with bootloader flashing enabled (Heimdall One-Click has a safety mechanism which requires you to flash once before flashing bootloaders).

Conclusion

Congratulations. You now have a device which works like a KIT-S5PC110 with an OM Value of 29. Now get to developing some serious custom software.

reading material

Creating your own Samsung Bootloaders: http://xdaforums.com/showthread.php?t=1233273

KIT-S5PC110 manual: http://www.mediafire.com/?94krzvvxksvmuxh

how to use DNW: http://tinyurl.com/dnw-how-to

Flash using openOCD and DNW: http://www.arm9board.net/wiki/index.php?title=Flash_using_OpenOCD_and_DNW

another DNW example: http://www.boardset.com/products/mv6410.php

ODroid dev center: http://dev.odroid.com/projects/uboot/wiki/#s-7.2

drivers and utilities

This will be an ever expanding list

Windows Drivers http://xdaforums.com/attachment.php?attachmentid=678937&d=1312590673

Windows Download Tool DNW: http://xdaforums.com/attachment.php?attachmentid=678938&d=1312590673

Windows Command Line tool: http://xdaforums.com/showpost.php?p=17202523&postcount=27

Linux DNW Utility: http://dev.odroid.com/projects/uboot/wiki/#s-7.2

Linux ModeDetect tool: http://code.google.com/p/hummingbird-hibl/downloads/list

Linux Automated UnBricker:http://code.google.com/p/hummingbird-hibl/downloads/list

firmware

Bootloader Hello World by Rebellos http://xdaforums.com/attachment.php?attachmentid=698077&d=1314105521

UnBrick tool http://xdaforums.com/showthread.php?t=1242466