HTC Hermes JTAG pins

scholbert

Senior Member
Aug 1, 2007
1,347
813
0
Hi,

it's done!!!
Today i discovered the JTAG pins of HTC hermes.
My device got bricked and was not able to boot anymore. Not even the bootlader came up.
Anyway i decided to do some investigation, there was nothing to loose :D

Thanks to Lt.Cmdr.Ivan who discovered the JTAG pins on the universal hardware.
(It made the step successful!!!)

See the attachment!
(had to make a zip because high-resolution pix :rolleyes: )

These are the testpoints to access Hermes main system Samsung MPU and recover OS bootloader!
To get access to the GSM chipset please have a look in the second post!

You may use this package to access the platform.
http://210.118.57.197/Products/Semi...or/ARM9Series/SC32442/JtagFlash_Prog_Code.zip

EDIT: If the link is not working, see attachment (backup package form samsung site, source code included)
See the documentation in the archive for information how to build a LPT adaptor, to use this software!

EDIT: The software tool has been modified to handle the /WP issue.
See attachment MSP_HERM.zip!
What ever happens to IPL/SPL on your device, it can be recovered quite easily now, using the JTAG method!

EDIT: Added Olipro's 2.10 (Hard-SPL V7) for completeness.
This is a pure binary file, ready to flash via JTAG. Thanks again to olipro for this beautiful bunch of bits!!

EDIT: Due to the numerous questions of some users how to go through this, here's what has already been written down all over the thread.
Follow these steps:
1. Disassemble your device (link to the Hermes Service-Manual is in the wiki).

2. Locate the JTAG pins on PCB (download/extract htc_hermes_jtag.zip -> look at the picture)

3. Use a very small soldering iron and attach some wires to the testpoints (only experienced users should do this!)

4. Use one of the wiggler clones (LPT-adaptor) to built up a connection to the JTAG pins using LPT port of your host pc.
Please have a look in the software documentation for the schematics (JtagFlash_Prog_Code.zip -> Source files and doc included).
Whatever your adaptor would look like, follow the pin assignment, that is used in the schematic (e.g. LPT pin 2 -> TCK, LPT pin 3 -> TDI, LPT pin 4 -> TMS, LPT pin 11 -> TDO)

5. Partly assemble your device and insert fully charged battery. Check all connections and press and hold power button on hermes (min 2sec.).
Though the device won't start if your bootloader is bricked, this step is necessary to activate internal power supply.
To check if power is O.K. measure the VCC pad (VCC ~ 3.15V).

6. Use the modifed samsung software on your host (download/extract MSP_HERM.zip -> MSP_HERM.exe is a command line tool)
Please make sure that the processor is recognized. If not check all connections again!

7. Grab IPLSPL210_OLIPRO.zip, extract it and put the file the directory where flashing software is located.

8. Use flashing software (MSP_HERM.exe) and try to reflash your NAND.
type: MSP_HERM.exe /f:IPLSPL210_OLIPRO.bin
type: 1 to choose the flash type
NAND flash type on hermes is k9f1g08 and should be recognized
type: 0 K9f1g08 Program
Start page and block must be set to 0

9. Be patient and cross fingers while flash is programmed.
Alternatively you may grab some coffee or beer and relax!

10. Enjoy the rebirth of your device.

Credits:
A warm and healthy "Thank you!" goes out to pof, cmonex, cr2, the_dipe and the others who gave useful hints or helped testing.

Regards,

scholbert
 

Attachments

Last edited:

scholbert

Senior Member
Aug 1, 2007
1,347
813
0
HTC Hermes GSM JTAG pins

Hi again,

after a lot of wicked things had been done with my device, i decided to lift another secret.
Anyway i spent some time to do some investigation and managed to trace the JTAG testpins of the GSM chipset on the hermes!

So it's done!
To be 100% secure, this has again to be verified with some software.
Work is in progress!

To solve the "noGSM" issue we need a bullet proof flash tool to rewrite the radio bootloader.

Hopefully we could get the necessary information to do so!
Maybe someday all these "no GSM" devices could be brought to life again...
at least if it's software related issue (e.g. broken Radio bootloader)!!!

See the attachment for the pin location!
(had to make a zip because high-resolution pix)

These are the testpoints to get access to the Qualcomm GSM chipset and possibly fix broken radio bootloader!

Information about missing signals
TRST_N = could not be found (seems to be N.C.)
RTCK = could not be found (will only be needed for special debugger)
Mode0 = N.C.

We need your help!
If anyone got information about the JTAG chain of MSM6275 (BSDL file) or similar info, please PM me!

scholbert
 

Attachments

Last edited:

alkizmo

Senior Member
May 3, 2007
205
5
0
I have used JTAG on my linksys router when I bricked it.

It's actually pretty easy to make a cable for JTAG and uploading a ROM.

Did you actually manage to revive your tytn?
 

sphynx88

Senior Member
May 7, 2008
78
0
0
thanks for this ill look into this. im still trying to figure out which part messed up on my phone. no power anymore not even charge light. dead. hardware? i think i burnt a capacitor coz it died while charging/connected to usb. Also i just flashed a radio rom but it was successful... before it died out. is yours the same case that it did not even show life of accepting power? thanks.
 
Last edited:

sphynx88

Senior Member
May 7, 2008
78
0
0
i was looking at the schematics and i think i need a technician for that but if i can revive my dead phone using that since im going to try and find the messed up capacitor anyway, ill learn and research.
 

scholbert

Senior Member
Aug 1, 2007
1,347
813
0
Thanks

Hi again,

thank you for adding a link to this thread in the wiki!

Unfortunately my device still won't start :(
There maybe anything else broken.

Anyway, the JTAG thing worked very smart, programming is quite slow though.
O.K. but that's the bit banging (i just remember, once flashed an image to the skeyepad and it took nearly half a day using an LPT adaptor).


i was looking at the schematics and i think i need a technician for that but if i can revive my dead phone using that since im going to try and find the messed up capacitor anyway, ill learn and research.
@sphynx88:
What schematic are you talking about???
Do you got a schematic for hermes???

Regards,

scholbert
 

Pudl

Senior Member
Mar 6, 2007
95
0
0
Scematic

Hello sphynx88,

do you have a scematic of Hermes? I'm an technican and I'm used to JTAG programming. So if you have the scematic and I can have a look at it, perhaps I can help you bringing your hermes up again.

Greetings Pudl
 

scholbert

Senior Member
Aug 1, 2007
1,347
813
0
More info

Hi,

first i'll have to quote myself:
it seems to work fine with the program from the samsung site.
I just flashed IPL & SPL to my device.
There are some problems with rewriting flash on my device.
After some more investigation, i found out that my device still got OLIPRO'S IPL (version 1.04) but SPL is not HARD-SPL anymore (version 2.10 "Hard-SPL")
SPL was rewritten to original bootlader (version 1.04).
I made some memory dumps using the JTAG tools and compared the output with the binary files.

IPL and SPL do not match, that's why my device is not booting anymore.
For some reason i am not able to rewrite IPL with the samsung programmer.
There are no errors, everythings seems nice, but IPL remains unchanged after programming. No idea why :confused:

Maybe there's something special on hermes hardware, that protects NAND to be rewritten per default.

O.K., now that i found out what's wrong with my device, i'll have a look in the programmers source code, to understand what's going on.

I'll keep you informed about my progress :rolleyes:

scholbert
 

scholbert

Senior Member
Aug 1, 2007
1,347
813
0
...after having a look around, i'm quite sure that my flash is kind of blocked.
This maybe caused by damaged hardware :(.

If anyone would try to flash some bits to his damaged hermes, please let me know.
This would clear up if the the software provided by Samsung may be used to flash the hermes hardware and fix broken bootloaders.

At least flash content can be read out via JTAG, that's proven :p.

scholbert
 

bauner

Retired Recognized Developer
Jan 23, 2008
4,726
10,330
263
Near Nürnberg
I have bricked my hermes too.
I will try to flash IPL and SPL with the JTAG programmer.
How can I build a bin file for the programmer from an official RUU_signed.nbh or from the extracted 00_IPL.nb and 01_SPL.nb?
 

scholbert

Senior Member
Aug 1, 2007
1,347
813
0
Hi,

I have bricked my hermes too.
I will try to flash IPL and SPL with the JTAG programmer.
How can I build a bin file for the programmer from an official RUU_signed.nbh or from the extracted 00_IPL.nb and 01_SPL.nb?
It's sad that your Hermes got bricked :( .
Maybe it will be the first device revived by JTAG flashing.
Here we go:
00_IPL.nb and 01_SPL.nb are already binaries.
Refer to the memory map in the wiki to know where the contents have to be placed.
So you might flash them seperately or build one file to flash (see attachment).

To make it easier have a look in this slightly modified table, it shows the block numbers of NAND flash ( :

Code:
------------------------------------------
0x50000000		Page0
		Block0		IPL
0x5001ffff		Page63
------------------------------------------
0x50020000		Page0
		Block1		SPL
0x5003ffff		Page63
------------------------------------------
0x50040000		Page0
		Block2		SPL
0x5005ffff		Page63
------------------------------------------
0x50060000
...		not used
0x5009ffff
------------------------------------------
0x500a0000		Page0
		Block5		CID, S/N
0x500bffff		Page63
------------------------------------------
0x500c0000		Page0
		Block6		WLAN
0x500dffff		Page63
------------------------------------------
0x500e0000		Page0
		Block7		MainSplash
0x500fffff		Page63
------------------------------------------
0x50100000		Page0
		Block8		MainSplash
0x5011ffff		Page63
------------------------------------------
0x50120000
...
Good luck ;) !!!!

scholbert
 

Attachments

Last edited:

sphynx88

Senior Member
May 7, 2008
78
0
0
Im sorry to have replied for so long but i gave up on my hermes and have not been checking. ill subscribe to this thread. After crazy searching and one site leading to another i did find what i think was schematics for the hermes. a service manual. it was in chinese and i couldnt understand it but i saw one for my samsung one which was in english and i think it really is the service manual with schematics. ill try and retrace my tracks. cross fingers.
 

sphynx88

Senior Member
May 7, 2008
78
0
0
anyway, in my case, the phone died. not bricked. something inside short circuited. it was on and charging via usb then the next thing when it reached 100 coz i was pretty sure it was 90 the time i started installing apps, it just died. no turning on, no nothing not even the rlod. i opened the case and i think there might be a fuse to the left of the charger entry, maybe changing it would simply fix the whole problem. i dont know but hopefully my cpu isnt broken so i may even have two phones.
 
Last edited:

scholbert

Senior Member
Aug 1, 2007
1,347
813
0
JTAG flashing proven, my device definitely broken

Hi,

...anyway, in my case, the phone died. not bricked. something inside short circuited.
same with my second device, sphynx88.
Something hardware related is damaged.

I may use the flash tool a 1000 times, the flash seems unaccessable for programming. Maybe the WP-pin stucks to GND on my device :(
Anyway it's nice to access the device via JTAG, also debuggers may be used :cool:

Have fun!

scholbert
 

scholbert

Senior Member
Aug 1, 2007
1,347
813
0
I know what's wrong

Hi again,

can't stop my investigation and like to bring my dead hermes to life!
I started to look around and i found the WP testpoint :)
So i made sure what i assumed, the WP pin of flash is tied to ground.
This prevents NAND flash to be rewritten -> write protection!

I made some further measurements and found out, that there must be a general purpose pin responsible for this function. Obviously this pin is set low during basic setup, maybe it's done in IPL (after reset all pins are tied low by internal resistors).
The only way to find out which pin is responsible for write protection, is to set some of the GP output pins to high level and and measure the voltage level at the testpoint (maybe it's GPC4 because it's very close to WP).

So this goes out to pof or olipro who already done a lot reverse engineering on this platform :D
Any idea which pin is used for NAND write protection on hermes????

Regards,

scholbert
 
Last edited: