yashsingh1/xdaforums huggingface dataset:
[Windows Phone 7 Development and Hacking] Da_G:
There are a few reasons we don't yet have a dump from those devices...

1.) Device is locked from running 3rd party native code. To get a dump of NAND we need to be able to run native code, and an app needs to be developed to do the actual dumping. Unlike with CE/WM we don't already have a program written or the system "jailbroken" to be able to do that (like TestWM5.exe, grab_it.exe, itsutils, so forth). That leaves you with the option to either jailbreak the system and create this program (I plan to start on that as soon as I can get my hands on a WP7 device), or...

2.) Hook up a bunch of probes to the test pins on running device, figure out the JTAG pinout, solder up a JTAG, figure out the initialization routine for the platform and/or obtain initialization scripts online, read the NAND raw to a dump file. There probably isn't a very large overlap of people who have devices in possession and people who can accomplish this.

Regarding running WP7 natively on a device ported from another similar device (similar meaning same platform, different daughterboards/etc. hardware) - its looking like running it natively will be quite improbable due to quite different architecture in lowest level things (like DSP code, radio rom code, so on) - attempting to use native code from another device always results in an initialization failure - determine the cause of it, fix it, and you run into another one, ad nauseum. Unfortunately it's not like the Raphael/Diamond/X1 where 95% of the driver/platform code is identical, it's more the opposite with 5% being identical. Everything was re-written for WP7. A loader with an abstration layer for CE5 is probably the only way to go. I'll know more as soon as I manage to get debug output from HD2 on JTAG :) Progress is slow for me right now due to my circumstances (only about an hour a day free to work on it right now, unemployment dried up)
[Windows Phone 7 Development and Hacking] HD2Owner:
@da_g:

can you please post some pics of your progress (soldering, jtag etc.).

i would like to see some pictures... :-)
[Windows Phone 7 Development and Hacking] stepw:
3). Desolder NAND and dump with a flash programmer? There's almost no chance to solder a ball grid array IC back though, so motherboard will be pooched.
[Windows Phone 7 Development and Hacking] Da_G:
@HD2Owner:

You just wanna see the HD2 nekkid, doncha! Perv! Hehe :) I'll get some photos tonight! I've got a older nikon that does great macro photos. I just went out and bought a new soldering iron, small gauge wire, etc., etc. yesterday, so good timing!

@stepw:

Yeah, I didn't consider that one, there are hugely expensive machines that can desolder/resolder BGA chips without damaging the motherboard too, I know PPCTechs has one as i've sent in my hx4705 in for a RAM upgrade many years ago (requires desoldering the BGA RAM chips and soldering in higher density ones)
[Windows Phone 7 Development and Hacking] HD2Owner:
HEHE... :) a live feed would be very nice.....
[Windows Phone 7 Development and Hacking] Da_G:
Here's the first pic :)

Clicky

The poor innocent HD2 is so unsuspecting, unaware of it's surroundings...!
[Windows Phone 7 Development and Hacking] RustyGrom:
Just remind it that you're doing this for it's own good. You're going to give it a nice, shiny new OS.
[Windows Phone 7 Development and Hacking] HD2Owner:
not really innocent.. leo likes to get naked... you can do it... don't be shy.... :)

can you open a new thread and write down your steps and post some more pics?

i doubt that many users see it in this thread at the end.
[Windows Phone 7 Development and Hacking] silentP:
So Leo's really a dirty dirty pirate hooker?
[Windows Phone 7 Development and Hacking] HD2Owner:
hd2 is no virgin anymore...

other OS's already touched it (android, ubuntu, win95)...

let's hope the Artificial JTAGination works.... hehe :)
[Windows Phone 7 Development and Hacking] hoss_n2:
looooooooooooooooooooool :D
[Windows Phone 7 Development and Hacking] hoss_n2:
android on hd2 was a good experience but windows is the best :D
[Windows Phone 7 Development and Hacking] TheATHEiST:
@ Da_G

So what are your hopes and expectations in the chances of actually been able to successfully port WP7 over to the HD2, Will it be much like booting android ie rebooting into kernel or do you think its possible/probable that we will be running like normal when you flash a cooked rom?

Sorry if this has already been asked and thanks in advance.
[Windows Phone 7 Development and Hacking] hoss_n2:
i think an actual htc wp7 device would help us allot
[Windows Phone 7 Development and Hacking] saints5354:
According to pocketnow.com , more than 3000 set of Windows Phone 7 already distributed to developer .... hope 1 can drop to xda devs hand.

Android already running on HD2, W7 to go ....
[Windows Phone 7 Development and Hacking] mvaughan06:
ya, i'm quite curious myself. what exactly are you guys hoping to gain with the JTAG? i'm clueless to what all of this super technical stuff means.
[Windows Phone 7 Development and Hacking] Da_G:
Anywho, back on topic, the JTAG allows a direct connection between the target platform CPU (Qualcomm Snapdragon) and a host computer (desktop or laptop machine)

This allows you to, among other things, initialize hardware directly through commands, get debug output before the device itself would be capable of providing you any (i.e. a crash occurs during the load of AMSS/Bootloader) - normally you would get no output aside from a frozen screen, and so no way to know what's going wrong to address the issue. With the JTAG you can view the contents of memory, what instructions were executing at that moment, register contents, and other infos that will allow you to determine the problem and fix/bypass it.

It also allows you to raw read/write the entire contents of the NAND storage, not just the areas allowed by bootloader (so for example, the hidden MFG partition) - so as a result one of the major uses for it is to ressurect phones killed by a failed/bad flash, where the only problem is the NAND is in some unknown state (maybe some bits failed to write correctly in the bootloader, so it never initializes) - the JTAG with the proper scripts will connect, initialize the hardware to the point it can communicate with the NAND controller, load up a fresh copy of the radio rom, bootloader, OS, MFG area, etc. and then voila, device works fine again :) Another necessary function when you're tooling with it at a low level.
[Windows Phone 7 Development and Hacking] Mindreaver:
Any progress on the soldering stuff? ;) Or still finding out what to connect to what or something?
[Windows Phone 7 Development and Hacking] elyl:
Apparently there's a HD2 RIFF Jig available soon, rather than risk a bad solder.
[Windows Phone 7 Development and Hacking] TheATHEiST:
@ Da_G

Thnx for info bud.

So what are your hopes and expectations in the chances of actually been able to successfully port WP7 over to the HD2, Will it be much like booting android ie rebooting into kernel or do you think its possible/probable that we will be running like normal when you flash a cooked rom?

Sorry if this has already been asked and thanks in advance.
[Windows Phone 7 Development and Hacking] Da_G:
Hey guys, sorry, my internet routers been down since friday (the ethernet ports died completely on it, wtf) I'll get the photos uploaded as soon as I get that sucker back up! (Probably going to RMA it) I have the cable soldered all together, and a temporary connection to the HD2, works great :) I need to get some debugging software set up though, right now only NAND read/write is set up.

Re: Like android reboot into kernel, i'm trying to set up a native loader so it would go straight from mARM init to WP7 like it would on a native device. Cotulla is working on a loader for the other method :)
[Windows Phone 7 Development and Hacking] HD2Owner:
thanks for the infos.

good to hear that cotulla is working on this too...

do you mean that he is working on a wp7 bootloader for the hd2 (to flash without jtag)?
[Windows Phone 7 Development and Hacking] RustyGrom:
I believe he's working on something like haret (or new features to haret) so that you would boot into WP7 after loading WM6.
[Windows Phone 7 Development and Hacking] hidden_hunter:
jeez, when does he sleep :P
[Windows Phone 7 Development and Hacking] orangekid:
when he dies!

:D

I don't know how the hell Cotulla sleeps with all the work he does on this and the constant builds of Android.
[Windows Phone 7 Development and Hacking] HD2Owner:
@da_G:

can you please give us a status-report and maybe show some more pics?
[Windows Phone 7 Development and Hacking] vaskodogamagmail:
yeah, we know you've been busy and don't have time for regular update, but we're eagerly waiting for the update! thanks man ;-)
[Windows Phone 7 Development and Hacking] naraby:
Hope

Another voice on...Just need the hope...
[Windows Phone 7 Development and Hacking] Da_G:
Sorry about the delay, i'm REALLY swamped lately, heres some more of the pics I took:

I promise a more verbose update as soon as I get more time (hopefully today!) - The HD2 and assorted wires screws etc are sitting in a plastic box so they don't collect too much dust :)

I'm still looking to get my hands on the proper debugging software (TRACE32 or similar)

If anyone wants a more detailed photo of some part let me know, i've got it all torn asunder :P
[Windows Phone 7 Development and Hacking] :
I would like at least a dozen pics of the battery. I need detail view of it.

Thank you.
[Windows Phone 7 Development and Hacking] HD2Owner:
hehe... some detailed shots of the power cord would be nice too...

just don't make any pics of the actual soldering and the connected riff-box.... :)
[Windows Phone 7 Development and Hacking] Da_G:
Here's some close-ups of the motherboard I took. Note that this is a B revision motherboard which is different in some ways from A revision (accompanying GPS antenna bears a different revision as well)

The various components broken out:

Revision A HD2 near Revision B HD2 (Revision B has a yellow reset button and Revision A has a red one):

Lastly, here's a pic of the JTAG JIG i cooked up to test the connection (really need a machined one, these test points are so friggin tiny it's near impossible to maintain a good connection this way, check the included penny in the photo for size)
[Windows Phone 7 Development and Hacking] irdawood:
Hey Da_G, first of all the snapdragon looks totally different to how I imagined it! lol, also are you in the process of still soldering up the JTAG to the HD2 or is it all hooked up?

Also once it is hooked up, what is the process forward? Im a computer guy so pardon my ignorance, however once you have root access (with the JTAG so you can flash) why is it so difficult to get WP7 on the device (i understand the driver issue because of the devices being different) however I remember you saying earlier that the boot sector and such was different which i also understand, but as the core system; Processor SOC is all the same and at the end of the day its just a storage medium, why cant the flash medium just be loaded with the new OS?

Also earlier in the thread you posted a to-do list with items completed checked off, can you repost an updated list please.

Sorry for the loaded question, and I really appreciate your time but was intrigued by the setup you have going with the HD2.
[Windows Phone 7 Development and Hacking] HD2Owner:
you need to connect the jig pins somehow to the red points??
[Windows Phone 7 Development and Hacking] dazza9075:
lol, im no expert but, you understand that the bootsector is totally different, and you understand that none of the drivers have been made for our device and yet your still asking why you cant just pop an OS in and fire it up?

curious
[Windows Phone 7 Development and Hacking] irdawood:
This is why I had to mention im a computer guy, even with no drivers, a Desktop OS will still bootup using generics, now with this mobile OS being so locked down I thought (probably wrong mind you) that they would include the Snapdragon and generic drivers with the OS; seeing as MS is locking down the API the drivers I presumed would be something MS would do/include in the OS.
[Windows Phone 7 Development and Hacking] RustyGrom:
WP7 (and WM and WinCE in general) is very different from a standard OS. There's no BIOS, HAL, and other things that even allows for "generic" drivers to work. The OS is customized by the OEM and includes just the drivers for that device. There's no "installation" process like there is on a PC that detects various things and sets up the OS to work.
[Windows Phone 7 Development and Hacking] Da_G:
Yup, RustyGrom pretty much has it covered. First, it's called "CE" for Compact Edition, and this is not a misnomer in any way. The system is designed to be as compact as possible (There are build-time switches for everything, so you can toggle off nearly all the components to acheive a very "light" image) obviously, including drivers for components not present would be a waste of space, as they would never get used. So there are none included. On the PC side of things the BIOS provides a basic level of functionality using a standard interface so generic drivers are created to bring the platform up to that level, and from there vendor-specific drivers can be loaded.

If you want to put an embedded device in terms of a desktop computer and loading Windows 7 on it, you start out with a fully assembled computer (video card, motherboard, cpu, ram, etc.) - power it on. It loads up the BIOS which initializes the basic hardware and begins to load the rest from the hard drive. The embedded device loads up the NAND XLDR, which provides only flash read/write support. The XLDR then loads the "EBOOT" or "IPL" into ram on typical devices. HTC doesn't use the EBOOT/IPL model as such (here already we're breaking away from the "standard" even further) and instead has that split out into mARM AMSS (a custom designed RtOS that loads and runs the Modem ARM CPU) and SPL. Once the AMSS loads the SPL into ram and executes it, the SPL initializes the aARM (apps ARM CPU), does various checks (are we in update mode? do we need to expose a flash interface to update the rest of the OS? do we just boot up the os and move aside?)

Then finally you get past the highly device-specific code and on to the (slightly) more generic CE Kernel/drivers which get copied into ram by the SPL and executed (Native Kernel/XIP partition)

So, how different is CE7/WP7 from that model? (Which is the model we have now in CE5.x/WM6.x) - The mARM AMSS provides a different interface and initialization proceedure. That means any of the WP7 drivers from a donor device we might port from would not work at all with our current AMSS. Which in turn means no boot without re-writing the drivers/kernel or AMSS.

So to compare it to a desktop PC once again, we need to write a BIOS, a Hardware Abstraction Layer, and a set of drivers for each component on the system (likely a good deal of the drivers would be usable once the rest is done)

Do I sound jaded yet? Yes, yes I am :) It's probably a factor of 10 more complicated than I thought it would be initially.

Here's the JTAG pinouts that need to be connected, btw. There are pins on both sides of the motherboard which also is truely a pain in my ****, as i originally intended to mount an external port on the HD2 so I could easily keep a JTAG connection with it, but you basically have to remove the entire motherboard to maintain a reliable connection, which really precludes running it on a live device.
[Windows Phone 7 Development and Hacking] irdawood:
Da-G, I honestly think the work you have done so far is nothing short of amazing, however if you compare it to write the bios,hal and drivers; I believe the task ahead is very, very difficult not to mention very labour intensive.

How do you propose the road ahead? like i said the work you have done thus far is fantastic andI dont want to sound pessimistic however I fail to see the light at the end of the tunnel due to the monstrous task at hand.
[Windows Phone 7 Development and Hacking] Da_G:
I don't think the word "easy" ever came into play here at all :)

But i'm still trying anyway!

I think I gained some grey hair just connecting these: (those are wires from an 80 pin IDE cable if you are wondering how small they are)
[Windows Phone 7 Development and Hacking] naraby:
Newbie

Hi Guys

I am trying to understand what u write in this post. But it is totally strange to me now since I do not have the basics. Could you point me somewhere to understand the terms and the process..

Regards
[Windows Phone 7 Development and Hacking] -=Barin=-:
Did you try to do it yourself? Where did this module come from? What CPU type is it for?

It's .reloc section contains a few IMAGE_REL_BASED_MIPS_JMPADDR (type 5) fixups. Did you apply them?
[Windows Phone 7 Development and Hacking] saints5354:
No joke, it really never a easy job, the pin is so near to cpu and others connection, slight mistake everything will b gone ... well done Da_G
[Windows Phone 7 Development and Hacking] HD2Owner:
@ da_G:

kinda reminds me on my PS2-Messiah-chip mod i did many years ago.

24 wires (0.2mm diameter!!!) and most connection points where really, really tiny..

a real pain in the ***... it took me around 8 hours to solder this wires...... with a really bad soldering iron.

it was e early v30004 version. my first ps2. was very expensive.

would have been a paperweight if i would've messed up the mod.

later ps2-revisions and newer chips like matrix aren't comparable in soldering difficulty.

edit:

i just took it apart again, to show you what i'm talking about (laser is dead already).
[Windows Phone 7 Development and Hacking] csbaruah:
WP7 driver<-> AMSS i/f

Sorry bothering you when you are deep into the port & bringing up the debug setup, I am a newbie, so pardon if my question is invalid, but, given the same HD2 HW wouldn't Qualcomm's AMSS component(running on a different CPU?) remain constant from WM6.5 to WP7? If this is the case then only WP7's interface to AMSS changes, thus implying the need to implement a translation layer to adapt to current WM6.5<->AMSS i/f ? Or does both AMSS & thus WP7 i/f to AMSS changes? Haven't yet found any documentation on AMSS and/or WP7 driver<-> AMSS i/f, is there an URL u could point me to ? Thank you
[Windows Phone 7 Development and Hacking] Da_G:
@HD2Owner: Wow, looks like a similar amount of fun! Although I only wish I had that much clearance around the components, while roughly the same size test points, the HD2 motherboard is packed together like sardines in a can!

@csbaruah: I don't have HD2's WP7 AMSS component to work with though (that would be great!) - I have the Mondrian AMSS, so that's the difference i'm speaking to.

Unfortunately when I was connecting the test pins this morning, I heard a snap, I looked closely with the magnifying glass and put too much pressure on the wires after soldering, I broke off a solder pad :( I desoldered everything and took a pic, it's the TCK (Timing Clock) connector.. no chance for JTAG to work without that :( I tried to look for the same signal elsewhere on the board but it's a direct trace to the pin underneath the snapdragon BGA package.. the remaining trace on the motherboard is far too small for me to work back into a usable solder pad (I can't even see the thing with my naked eye, had to get the camera lens about 2 inches away just to photograph it)

Yep, the pooch got thuroughly screwed on that one :(
[Windows Phone 7 Development and Hacking] Farmer Ted:
Bummer, man. Haven't there been a bunch of Leo owners who bricked their phones with bad radio flashes? Maybe you should look around and see if you can pick one or two up and revive them.
[Windows Phone 7 Development and Hacking] ceesheim:
can I gif you a tip ?

if you are working on small things like this it is better to glue the wires after soldering with a glue pistol .

and you have to use a good solder iron http://www.komerci.de/shop/product_info.php?language=en&products_id=439

oh and another tip , practice on a old board ( old radio or somthing like that with small components )

edit : alink to a glue gun http://www.dickblick.com/categories/glueguns/
[Windows Phone 7 Development and Hacking] akimp3:
Hi,

Dont be disapointed by a little problem like this.

firstly, you could use this : multi-com.pl/index.php/en_US,details,id_pr,7912.html to connect the JTAG without any soldering.

Secondly, any mobile repai shop who has a microscope can repair you phone by adding a pogo pin and rewire the signal.

Good luck and thanks for your great work.

akimp3
[Windows Phone 7 Development and Hacking] Da_G:
Pogo pins are actually what I was using for the temporary connection before the incident! But it wasn't quite a reliable enough connection to maintain good signal during entire JTAG flash.

Thanks for the tips everyone but the damage was done already :( I'm trying to see if I can get ahold of a "bricked" HD2 to work with (as the bricking would be easily un-done)

I also contacted multi-com.pl several days ago to see if I can work out a deal for their JTAG JIG, so that way for the next go-round I won't have to use my horrible soldering skills :)
[Windows Phone 7 Development and Hacking] koven:
If you'll encounter a problem getting feedback from multi-com.pl please contact me and I'll give it a go as I'm from Poland.
[Windows Phone 7 Development and Hacking] Da_G:
Actually, multi-com has already replied more than once, they are incredibly fast with replies unlike every single other JTAG-related business i've tried to contact, which is refreshing for a change!
[Windows Phone 7 Development and Hacking] louieyasashi:
GOODLUCK!

Good luck to all of you friends.. I'm happy to know that the developers are porting the WP7.. Two thumbs up..

Oh! a small donation is on the way... Cheers!
[Windows Phone 7 Development and Hacking] vaskodogamagmail:
what's up Da_g? no other news?
[Windows Phone 7 Development and Hacking] ~~Tito~~:
Anymore arguments like that will lead to bans. This thread has been warned.

~~Tito~~

EDIT: I may have been a bit harsh, but these threads should stay OT.
[Windows Phone 7 Development and Hacking] hoss_n2:
why bans , no one didn't follow the rules , they are only telling their opinions
[Windows Phone 7 Development and Hacking] HD2Owner:
@da_G:

did you manage to fix the broken solder-pad? brick??
[Windows Phone 7 Development and Hacking] ~~Tito~~:
Well, Just as a precautionary measure and a warning to make sure no more arguments like this happen. Threads in the development section should generally be clean of clutter, and chit chat posts that aren't related to the OP. I want to keep these forums spotless lol. :cool:

I won't bring the banwagon unless I have to.

~~Tito~~
[Windows Phone 7 Development and Hacking] ~~Tito~~:
I will wipe this thread of the clutter posts after appropriate action has been taken against the recent instigators.

~~Tito~~

EDIT: To clarify, RECENT.
[Windows Phone 7 Development and Hacking] wacky.banana:
All,

Tito has respectfully asked that you remain on-topic in this thread. If you don't have a comment that will technically take this project forward and is not directly on topic then please don't post.

Further off topic posts will be viewed as spamming the board and will be acted on appropriately.

Thank you in advance for your cooperation.

WB
[Windows Phone 7 Development and Hacking] imfloflo:
A friend of mine just receive a WP7 phone, do you want to dump it or something else ?
[Windows Phone 7 Development and Hacking] HD2Owner:
could be useful.. ask da_g via P.M.

Do you know wich device exactly?
[Windows Phone 7 Development and Hacking] Mindreaver:
It's probably an LG, so that means it's useless.
[Windows Phone 7 Development and Hacking] imfloflo:
Yes it's an LG
[Windows Phone 7 Development and Hacking] oTToToTenTanz:
link is not working. Could you reupload the pic? Probably the LG Panther..?! Awesome!
[Windows Phone 7 Development and Hacking] ~~Tito~~:
Christ that's awesome! Tweet to Da_G and PM him asap!
[Windows Phone 7 Development and Hacking] HD2Owner:
@da_G:

what's up? please give us a status update...

do you need another hd2? fixed the solder-pad?