[Nexus S Q&A, Help & Troubleshooting] unai_goiko:
The initial problem

My i9023 got totally bricked after restoring it to factory defaults. As soon as I changed the SIM card and tried to power the phone up, it just wouldn't do anything; the display wouldn't turn on (neither while charging), no vibration, no light on the touch keys, nothing.

The inspirers

I found the posts by AdamOutler about the Unbrickable Mod and the Unbrickable Resurrector, plus a nice thread started by cyberalex88 on how he unbricked his Nexus S.

Current situation

Starting from what it is mentioned on the threads mentioned above, I performed the Unbrickable Mod with the help of a friend last Monday, and now the phone is detected by the Unbrickable Resurrector, but I cannot get it to work again.

The Unbrickable Resurrector interacts with the phone somehow ("S5PC110 detected") and seems to enable the Download Mode, but it is not working as I think it should.

My diagnosis

I think that the partition table of the phone is broken, but there might also be a problem with the resurrection. I've spent a good time finding information, but still I haven't been able to find a way to fix the issue. I do not how to proceed anymore.

Working environment

I've been using a dual boot PC, with Ubuntu 13.04 64bit and Windows 7, trying both Odin 1.83 and Heimdall 1.4.0 (from Ubuntu) to flash the original firmware (I9023_EUR_GRI54_XXKB3) downloaded from samfirmware.

Using The Unbrickable Resurrector

After launching the Unbrickable Resurrector, inserting the battery to the phone and plugin the usb to the Linux machine, the Resurrector detects my phone. From that starting point, I've been able to enable the "Download Mode" (search and home buttons lighted on) in the phone in two different ways:

Selecting Nexus S as Device type

After selecting "Nexus S" and performing the resurrection, the phone enters on what it should be the "Download Mode" (search and home buttons lighted on), but then it is not detected by Heimdall.

user@host:~#heimdall detect
ERROR: Failed to detect compatible download-mode device.

I don't know if it's related with this, but the Resurrector does not show the "Download Mode" photo on top of the window after resurrecting.

This is the log from the resurrection:

Building command list
#S5PC110 (Nexus S)
#RESURRECTOR SELECTED:HIBL.bin LOCATION:0xD0020000
#SBL: nexus_sbl.bin LOCATION:0x33040000 tool:SMDK
1. Apply UnBrickable Mod
2. Remove then insert Device battery
3. Connect to computer via USB.
4. Click the Download Mode button while holding button combination
5. Download new software with fastboot for Linux.

Begin Resurrection Sequence

Requesting Permission to access device

Please wait.... Uploading..
-------------------------------------------------------------
Hummingbird Interceptor Boot Loader (HIBL) v2.1
Copyright (C) Rebellos 2011
-------------------------------------------------------------
SMDK42XX,S3C64XX USB Download Tool
Version 0.20 (c) 2004,2005,2006 Ben Dooks <ben-linux@fluff.org>

S3C64XX Detected!
=> found device: bus 001, dev 031
=> loaded 24576 bytes from /tmp/TempHeimdallOneClickA2EFF4DC/UnBrickPack/HIBL.bin
=> Downloading 24586 bytes to 0xd0020000
=> Data checksum d8dc
=> usb_bulk_write() returned 24586

Interceptor Injection Complete. Injecting modified SBL

SMDK42XX,S3C64XX USB Download Tool
Version 0.20 (c) 2004,2005,2006 Ben Dooks <ben-linux@fluff.org>

S3C64XX Detected!
=> found device: bus 001, dev 032
=> loaded 1310720 bytes from /tmp/TempHeimdallOneClickA2EFF4DC/UnBrickPack/nexus_sbl.bin
=> Downloading 1310730 bytes to 0x33040000
=> Data checksum 6106
=> usb_bulk_write() returned 1310730
Modified SBL Injection Completed Download Mode Activated

Selecting Galaxy S as Device type

Since the Heimdall message got me worried, I tried to resurrect the phone selecting the other two device types, and it seems that it gets to "Download Mode" (search and home buttons lighted on) as "Galaxy S". As Galaxy S, after the resurrection, and unlike as Nexus S, the window shows the Download Mode photo on the top part and Heimdall detects the phone:

user@host:~#heimdall detect
Device detected

This is the log from the resurrection:

Building command list
#S5PC110 (Galaxy S)
#RESURRECTOR SELECTED:HIBL.bin LOCATION:0xD0020000
#SBL: Sbl.bin LOCATION:0x40244000 tool:SMDK
1. Apply UnBrickable Mod
2. Remove then insert Device battery
3. Connect to computer via USB.
4. Click the Download Mode button
5. Download new software with Heimdall.

Begin Resurrection Sequence

Requesting Permission to access device

Please wait.... Uploading..
-------------------------------------------------------------
Hummingbird Interceptor Boot Loader (HIBL) v2.1
Copyright (C) Rebellos 2011
-------------------------------------------------------------
SMDK42XX,S3C64XX USB Download Tool
Version 0.20 (c) 2004,2005,2006 Ben Dooks <ben-linux@fluff.org>

S3C64XX Detected!
=> found device: bus 001, dev 033
=> loaded 24576 bytes from /tmp/TempHeimdallOneClick9ECA7A24/UnBrickPack/HIBL.bin
=> Downloading 24586 bytes to 0xd0020000
=> Data checksum d8dc
=> usb_bulk_write() returned 24586

Interceptor Injection Complete. Injecting modified SBL

SMDK42XX,S3C64XX USB Download Tool
Version 0.20 (c) 2004,2005,2006 Ben Dooks <ben-linux@fluff.org>

S3C64XX Detected!
=> found device: bus 001, dev 034
=> loaded 1310720 bytes from /tmp/TempHeimdallOneClick9ECA7A24/UnBrickPack/Sbl.bin
=> Downloading 1310730 bytes to 0x40244000
=> Data checksum f37e
=> usb_bulk_write() returned 1310730
Modified SBL Injection Completed Download Mode Activated

Using Heimdall

Since Heimdall wouldn't detect the phone unless resurrecting as Galaxy S, I proceeded from that resurrection. The first thing I tried was to flash the original rom, but since I got an error message related with the phone's pit file, I focused on getting the pit file from the phone.

This is the output of the "print-pit" argument:

user@host:~#heimdall print-pit
Heimdall v1.4.0

Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
ERROR: Failed to receive PIT file size!
ERROR: Failed to download PIT file!
Ending session...
Rebooting device...
Releasing device interface...
Re-attaching kernel driver...

So, Heimdall is not able to get the PIT file from the phone, but it does reboot the device since the search and home buttons are turned off after launching the command. So there is some kind of communication.

Guessing that the partition table of the phone might be corrupted, I found a pit file that it is supposed to be for the device (u1_02_20110310_emmc_EXT4.pit), and launched the following Heimdall command trying to repartition the phone:

user@host:~#heimdall flash --repartition --pit u1_02_20110310_emmc_EXT4.pit --BOOT boot.img --SBL1 bootloader.img --RECOVERY recovery.img --FACTORYFS system.img --DATAFS userdata.img --MODEM modem.img --CACHE dgs.img
Heimdall v1.4.0

Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Attempt failed. Detaching driver...
Claiming interface again...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Uploading PIT
ERROR: Failed to confirm end of PIT file transfer!
ERROR: PIT upload failed!

Ending session...
Rebooting device...
Releasing device interface...
Re-attaching kernel driver...

Using Odin

Since I had no luck with Heimdall, I installed Windows 7 on my Linux machine and rebooted to Windows after the resurrection in both modes of operation (Nexus S and Galaxy S) to try Odin. The result was the same in both cases, the device was not detected and the program only checks if the rom files are correct.

<OSM> Enter CS for MD5..
<OSM> Check MD5.. Do not unplug the cable..
<OSM> Please wait..
<OSM> Bootloader_I9023XXKA3.tar.md5 is valid.
<OSM> PDA_SOJU_GRI54_TMO_EUR_MR1_SIGNED.tar.md5 is valid.
<OSM> MODEM_I9023XXKB3_REV_00_CL912571_SIGNED.tar.md5 is valid.
<OSM> Checking MD5 finished Sucessfully..
<OSM> Leave CS..
<OSM> All threads completed. (succeed 0 / failed 0)

I installed the Samsung USB drivers before using ODIN and plugging in the phone, so I don't think that the fact that the phone is not being detected by Odin has nothing to do with the computer itself.

Call for help

I've tried everything in my hands to try to unbrick the phone with no luck. I don't usually seek for help on the forums, but I see no other choice.

Does anyone have any clue on what to do in order to unbrick the phone?