Jump to content

Paul's guide to... changing the HTC Touch / T-Mobile Wing PagePool size


Guest PaulOBrien

Recommended Posts

Guest designtion

This worked quite well, I have 21+MB free, but the device seems sluggish. I can't tell if it's more sluggish now than it was or not. I'm going to try overclocking it next, has anyone tried that with this pagepool hack?

Thanks Paul!

Jordan

Link to comment
Share on other sites

Guest genaldar
This worked quite well, I have 21+MB free, but the device seems sluggish. I can't tell if it's more sluggish now than it was or not. I'm going to try overclocking it next, has anyone tried that with this pagepool hack?

Thanks Paul!

Jordan

I've overclocked my wing using battery status, but I don't leave it that way. As for the sluggishness some people say 4mb isn't enough of a pagepool and you should use 6. I haven't had any problems with 4. Of course I still wish it was faster at going from portrait to landscape when you slide out the keyboard.

Link to comment
Share on other sites

Guest marwhit724
Paul,

Great guide! Tried it this morning on my Wing, and i have 22+MB of ram. I LOVE IT! The only question i have for you is if this is compatible with the Dash (excalibur). I am pretty sure that it is, since it is the same OS (after t-mobile upgrade), but was more curious if it is at the same hex location. (wanted to check, but left it at a friends house). Have you experimented with any other HTC devices than the ones mentioned?

hey im in the process of doin my unit too and i dowloaded everything needed in this task including the ruu file just in case.. ok i installed the cab on the unit and executed it. ok step 2 states to open a command prompt at the new directory.. ok im lost on this part i tryed on my vista machine then went to my xp machine i found where to get the command prompt thru the start menu but when i type pdocread -1 or w/e its not a recognized as an internal or exteral command .. any help is greatly appreciated

Link to comment
Share on other sites

Guest marwhit724
[teaser]Welcome to another edition of 'Paul's Guide to...' :P

Today's guide is aimed at owners of the HTC Touch and the T-Mobile Wing, as they are 2 devices that seem to have particular problems with device memory, but the same techniques can probably be applied to other devices (untested by myself).

HTC Touch and T-Mobile Wing owners will know that these two devices suffer somewhat from low memory problems. Users need to be careful with what they have running at any one time, particularly if launching memory hungry applications such as the Camera.

Deep in the depths of the operating system of your device, there is something called the 'PagePool'. Without going into too much detail (and as I understand it!), the PagePool is a special area of memory reserved for loading apps into from ROM. This PagePool is a lot faster than ROM, so when things are executed from this 'cache' instead, the performance of a device will be quicker. On the flipside, if you have a 8MB pagepool (HTC Touch) and you're using, say, 4MB of the pagepool, then 4MB of space is wasted that could be program memory. Similarly if you have a 12MB pagepool (!) (T-Mobile Wing) in this instance you would we wasting 8MB of space!

The key is striking the balance...

On both my Touch and my Wing, i've been experimenting with the PagePool, and have personally settled on 4MB. I've tried 2MB (bad), 4MB, 6MB and 8MB, and I think I can happily use 4MB without noticing a performance decrease. I'm tempted to try 6MB out for a bit longer, particularly on the Wing (which has a generally better state of affairs than the Touch it seems), but this guide will let you choose your own.

Sadly, these PagePool settings are in an area that cannot be easily changed, hence this is a ROM guide.[/teaser]

Firstly, a disclaimer.

This guide involves downloading, editing and flashing of your device ROM.

This is dangerous, very dangerous. In a worst case scenario using these techniques, your device will become unusable, with a corrupted 'OS area'. While your bootloader will (should) still be accessible, your device will be a paperweight until such time as a RUU (Rom Update Utility) becomes available for your device with the shipping ROM. We won't be able to help you, and your operator / manufacturers won't either. It's quite possible your warranty will be invalidated by editing your ROM.

If you follow this guide, you take full responsibility for what could happen. I have of course successfully been through this guide myself, but be aware that I TAKE NO RESPONSIBILITY SHOULD SOMETHING GO WRONG.

You've read the disclaimer and you want to have a play, now what do you need to do? Here's the guide... enjoy :)

Step 1: Install the permissions CAB to your device

In order to be able to do the read / write operations on your ROM, the security on your device needs to be set up in a certain way. Download this CAB file, and run it on your device.

ITSUTILS_Preperation.CAB

Step 2: Create a directory and download itsutils

Now we need to create a working directory. I suggest creating a directory called 'pagepool' on your desktop. When you've done this, download this ZIP file, and extract it to the new directory.

http://nah6.com/~itsme/itsutilsbin-20070323.zip (Kudos to Willem Jan Hengeveld (aka itsme) for this excellent toolkit!)

Step 3: Extract the ROM from your device

We're now going to extract the ROM from your device. This is a completely safe operation, so don't panic yet ;) Take the following steps...

- Ensure device is connected to PC and Activesync'd / WMDC'd

- Open a command prompt at your new directory

- Type 'pdocread -l' (minus the quotes of course)

You will then be presented with something that looks like this:

 70.95M (0x46f2000) TrueFFS

	   |		   3.06M (0x30fc00) Part00

	   |		   3.06M (0x310000) Part01

	   |		  64.82M (0x40d2000) Part02

We want to read the Part02 area (the bottom line above), so...

- Type 'pdocread 0 0x40d2000 Part02.dump' substituting 0x40d2000 with the appropriate value from your 'pdocread -l' output

You will see something like 'CopyTFFSToFile(0x0, 0x40d2000, Part02.dump)' appear, and after a wait of a few minutes (it is dumping a lot of data!), you'll be returned to the command prompt. During the operation you can open Windows Explorer to your working directory and see the file growing.

Step 4: Use a hex editor to modify the pagepool size

To edit your Part02.dump ROM image, you'll need to use a Hex Editor. The instructions below assume use of the excellent, free HxD application.

After installing and launching HxD, do the following...

- Open your new 'Part02.dump' file

- Click 'Search'

- Enter 'NKKD8'

- Press F3 to find the second instance

- Click 'Search' again

- Change 'Data Type' to 'Hex Values'

- Enter 'FF FF FF FF FF FF FF FF 9B 4F FF FF 64 B0 00 00' and hit search

You will then be presented with the search results as shown below.

22-Jun-2007_HxD.jpg

After 8 more values, you'll see your pagepool setting. In the screenshot aobve, it is set to '00 00 40 00', which means 4MB. The possible values are as follows:

4MB = 00 00 40 00

6MB = 00 00 60 00

8MB = 00 00 80 00 (HTC Touch default)

12MB = 00 00 C0 00 (HTC Wing Default)

(for reference, on both my Touch and my Wing the offset location is 37B558... you can go straight to this location be selecting 'Search -> Goto').

So, to change your pagepool size...

- After locating your current pagepool value, update it to one of those shown above by selecting the value and overtyping

- Select File -> Save As, and enter a new name (e.g. Part02.4MB.dump)

- Exit the hex editor

You have now edited your ROM dump, and are ready to flash it back to the device!

Step 5: Flashing your edited dump back to the device

So this is where it gets dangerous. If you've done something wrong with your dump, then nasty things could (probably will) happen. If the flashing process goes wrong, then nasty things could happen. One final warning - you undertake this step at your own risk! Ready to continue? OK then...

- Ensure device is connected to PC and Activesync'd / WMDC'd

- Put the device in flight mode. This is for safety reasons... receiving a call during the flash would probably be bad

- Open a command prompt to your working directory (or use the one you already have open)

- Type 'pdocwrite Part02.4MB.dump' (or whichever name you used in the step above)

You will see something like 'CopyFileToTFFS(part02.4mb.dump:0, 0, 040d2000)' appear, and after a wait of a few minutes (it is writing a lot of data!), you'll be returned to the command prompt. DO NOT USE THE DEVICE DURING THIS OPERATION!

Step 6: Soft reset, cross fingers

Has that command finished (i.e. you have control again at the command prompt)? Then you're done! Simply press the soft reset pin on your device, and when it comes back up, you should see you the amount of program memory in the Settings -> Memory applet has changed. Good job! You can breathe easy again :D

P

hey this is wat i got when i try to open the command prompt thru windows vista.

C:\Users\Golgo-13>pdocread -l

'pdocread' is not recognized as an internal or external command,

operable program or batch file.

i went thru the start menu to retrieve the command prompt typed in wat u have and thats wat came up .. am i doin sumthing wrong ..

Link to comment
Share on other sites

Guest marwhit724

for step e this is wat i got when i typed that in

C:\Users\Golgo-13\Desktop\PAGEPOOL>PDOCREAD -L

Usage: pdocread [options] start [ length [ filename ] ]

when no length is specified, 512 bytes are assumed

when no filename is specified, a hexdump is printed

-t : find exact disk size

-l : list all diskdevices

-v : be verbose

-s OFS : seek into source file ( for writing only )

-b SIZE: specify sectorsize used to calculate sector offsets

-B SIZE: specify blocksize to use when reading the disk

-G SIZE: specify blocksize to use when transfering over activesync

-u PASSWD : unlock DOC device

Source:

-d NAME : devicename or storename

-p NAME : partitionname

-h HANDLE : directly specify handle

either specify -d and optionally -p, or specify -h

Method:

-n NUM : binarypartition number ( normal p if omitted )

-w : read via windows disk api

-o : read OTP area

if the filename is omitted, the data is hexdumped to stdout

if no length is specified, 512 bytes are printed

numbers can be specified as hex (ex: 0x8000) or decimal (ex: 32768)

C:\Users\Golgo-13\Desktop\PAGEPOOL>

e. type "PDOCREAD -L" This will give you and output on the screen.. {"look for the line that says the larger number with M 51.2 M in my case and

then its followed by a (0xAAAAAAA)."} Make note of that hex number and use it in the next step

i dont see that on mine i have the t-mobile wing and im running winows vista.. i dont think the OS have anything to do with it.. but am i supposed to select something? :)

OK, So here's the deal:

You have to follow Paul's instructions to the letter, one line at a time as I did this yesterday to my t-mobile wing and it worked great. but if you dont follow it you will have problems...

I'm going to try to shed some light (for the ones that are new to this) about the instructions that Paul presented...

USE THESE INSTRUCTIONS AS AN ADDITIONAL HELP THE THE INSTRUCTIONS THAT PAUL PRESENTED EARLIER. This is to make it easier for some of you that are newer to this.

NOTE: Always ignore the " marks.. type the command just like it is between the " marks

So, first things first:

1. Install the permissions CAB to your device

a. you have to have your phone connected throught the whole time to your computer using the USB cable

b. you have to make sure the Active sync software is installed and working properly on your computer (meaning you can sync with your phone).

c. copy the file to your phone and run it from your phone so that it installs to the phone.

2. Create a directory and download itsutils

a. Create a directory on your computer on the desktop. Name it PAGEPOOL

b. Donload itsutils from the link in paul's instructions (step 2) to your desktop

c. open the zip file and copy the contents (38 files) to the PAGEPOOL directory

3. Extract the ROM from your device

a. open the PAGEPOOL folder and in the address bar at the top click on the path to highlight it and then Right click and choose copy from

from the menu that pops up. (this will copy the path of the PAGEPOOL folder to your clipboard.

in my case its this (C:\Documents and Settings\paul\Desktop\pagepool )

b. Now, go to Start, Run, and type in CMD then hit enter (this will open your command prompt - black screen)

c. in this black screen type "CD " (and note there is a space after the CD) then right click the black screen and choose paste.

you should see the whole path pasted after the "CD " like this "CD C:\Documents and Settings\paul\Desktop\pagepool"

and you can see that the space is still there between the CD and C:\

d. now, hit enter and you will be at the correct prompt. in my case "C:\Documents and Settings\paul\Desktop\pagepool"

e. type "PDOCREAD -L" This will give you and output on the screen.. look for the line that says the larger number with M 51.2 M in my case and

then its followed by a (0xAAAAAAA). Make note of that hex number and use it in the next step

f. type "PDOCREAD 0 0x7777777 PART02.DUMP" Make sure to substitute your 0x7777777 with information found in the previous screen 0xAAAAAA

Note: This will take a few good minutes.. in my case about 10-15 minutes.

4. Run the T mobileWingPagePool 4 mb or 6 mb to replace step 4 in Paul's original instructions: and i quote him:

"

Here's a new idea for the Wing users... rather than doing the HexEdit thing, you can apply one of these patchers below to your part02.dump file - to do the edit for you - then just flash back. To use, copy to the same directory as your raw file and run!

So, THESE PATCHERS REPLACE STEP 4, note that they overwrite the part02.dump rather than creating a new file, so when you flash back you flash the part02.dump filename.

Let me know how it works out :P

P

PS These patchers have CRC checking enabled, so should be very safe!

Attached File(s) zip.gif T_MobileWingPagePool4MB.exe ( 4.31k ) Number of downloads: 50

zip.gif T_MobileWingPagePool6MB.exe ( 4.31k ) Number of downloads: 42"

5. Flashing your edited dump back to the device.

a. Make sure you're still connected with the cable from the phone to the computer

b. Go to the communication manager on your phone and turn off the phone option to put the phone in "Flight mode"

c. In the command prompt that you had opened type "PDOCWRITE PART02.DUMP"

NOTE: this will take about 10-15 minutes so have patience. If you get any errors, try it again with the same command. I got 2 errors and the third time it worked all the way through even thought i didnt mistype it or anything else.. Not sure why but it worked for me.

6. Soft reset the phone by using the stylus into the side of the phone next to the volume keys.. Wait for it to restart and you should be good.

Link to comment
Share on other sites

Guest marwhit724

also just tried it on my laptop same thing and tha has windows xp.. so ikno im doin sumthing wrong. can anyone help out i should e availale either on here or aim dexterslabcsi. all the helpis appreciatedi dont understand why im having such a difficulty with this.

for step e this is wat i got when i typed that in

C:\Users\Golgo-13\Desktop\PAGEPOOL>PDOCREAD -L

Usage: pdocread [options] start [ length [ filename ] ]

when no length is specified, 512 bytes are assumed

when no filename is specified, a hexdump is printed

-t : find exact disk size

-l : list all diskdevices

-v : be verbose

-s OFS : seek into source file ( for writing only )

-b SIZE: specify sectorsize used to calculate sector offsets

-B SIZE: specify blocksize to use when reading the disk

-G SIZE: specify blocksize to use when transfering over activesync

-u PASSWD : unlock DOC device

Source:

-d NAME : devicename or storename

-p NAME : partitionname

-h HANDLE : directly specify handle

either specify -d and optionally -p, or specify -h

Method:

-n NUM : binarypartition number ( normal p if omitted )

-w : read via windows disk api

-o : read OTP area

if the filename is omitted, the data is hexdumped to stdout

if no length is specified, 512 bytes are printed

numbers can be specified as hex (ex: 0x8000) or decimal (ex: 32768)

C:\Users\Golgo-13\Desktop\PAGEPOOL>

e. type "PDOCREAD -L" This will give you and output on the screen.. {"look for the line that says the larger number with M 51.2 M in my case and

then its followed by a (0xAAAAAAA)."} Make note of that hex number and use it in the next step

i dont see that on mine i have the t-mobile wing and im running winows vista.. i dont think the OS have anything to do with it.. but am i supposed to select something? :)

Link to comment
Share on other sites

Guest marwhit724

can anyone help me with this problem..?? can someone help point bout wat i did wrong or wat needs to be done.. hello out there.. and wat do paul mean by case sensitivity?? did i type letters in wrong without caps... .. i copy and pasted wat was explaing on the directions .

Case sensitivity people!

P

Link to comment
Share on other sites

Guest gcleric

I changed my T-Mobile Wing to 4 and seemed a little sluggish, I changed it to 6 and its working like a charm, even the portrait to landscape transition seems faster. Thanks for the Tutorial Paul, Great work.

Link to comment
Share on other sites

Guest kf6krc

Hi Paul,

I just completed this and I went from about 4 meg in program memory to 14 meg in program memory.

thanks a lot for figuring this out and letting everyone know about this fix.

I like my Wing but was about ready to return it due to the constant resetting for the memory.

T-Mobile should be paying you. :)

Link to comment
Share on other sites

Guest marwhit724
Hi Paul,

I just completed this and I went from about 4 meg in program memory to 14 meg in program memory.

thanks a lot for figuring this out and letting everyone know about this fix.

I like my Wing but was about ready to return it due to the constant resetting for the memory.

T-Mobile should be paying you. :)

HEY i was wondering if u look up at my post after i go thru the dos step why do i get that reading instead of it reading the phone is there sumthing i missed ???

Link to comment
Share on other sites

Guest marwhit724
HEY i was wondering if u look up at my post after i go thru the dos step why do i get that reading instead of it reading the phone is there sumthing i missed ???

4th post on this subject and still no help.. wow.

Link to comment
Share on other sites

Guest starlit
No, this patch is ONLY for the Wing... I could make a Touch one tho :)

P

Hi Paul,

I am going to try this out. I know it has been requested before. Not sure if you could make the crc checked patcher for Touch for us?

Many thanks!! :P

Link to comment
Share on other sites

Guest marwhit724
can anyone help me with this problem..?? can someone help point bout wat i did wrong or wat needs to be done.. hello out there.. and wat do paul mean by case sensitivity?? did i type letters in wrong without caps... .. i copy and pasted wat was explaing on the directions .

ok take that back after really thinkin bout wat u said and giving it another try.. hahaha case sensitive plays a major part in wat happen. thanx alot..m i was following the reworded version of ur hack by the other guy and he had it in caps.. and that messed it up.. hey its all good thanx again paul my mem jumped up and its running way better now 21.45megs storage and about 18029megs prgram freeeeeee :) :P ;) :D :D B) awsome.. now one thing i have to ask as far as the sliding is there any way of speeding that up..??

Link to comment
Share on other sites

Guest sgenou

After doing this change, trying with 4 and 6 meg, back to 12... My PDA is very very slow, even with 12megs back!??! I'm reflashing it with the offical ROM... U got an idea what is it so slow? Do I have to hard reset it? (Erase all my files?)

Link to comment
Share on other sites

Guest averatec
OK, So here's the deal:

You have to follow Paul's instructions to the letter, one line at a time as I did this yesterday to my t-mobile wing and it worked great. but if you dont follow it you will have problems...

I'm going to try to shed some light (for the ones that are new to this) about the instructions that Paul presented...

USE THESE INSTRUCTIONS AS AN ADDITIONAL HELP THE THE INSTRUCTIONS THAT PAUL PRESENTED EARLIER. This is to make it easier for some of you that are newer to this.

NOTE: Always ignore the " marks.. type the command just like it is between the " marks

So, first things first:

1. Install the permissions CAB to your device

a. you have to have your phone connected throught the whole time to your computer using the USB cable

b. you have to make sure the Active sync software is installed and working properly on your computer (meaning you can sync with your phone).

c. copy the file to your phone and run it from your phone so that it installs to the phone.

2. Create a directory and download itsutils

a. Create a directory on your computer on the desktop. Name it PAGEPOOL

b. Donload itsutils from the link in paul's instructions (step 2) to your desktop

c. open the zip file and copy the contents (38 files) to the PAGEPOOL directory

3. Extract the ROM from your device

a. open the PAGEPOOL folder and in the address bar at the top click on the path to highlight it and then Right click and choose copy from

from the menu that pops up. (this will copy the path of the PAGEPOOL folder to your clipboard.

in my case its this (C:\Documents and Settings\paul\Desktop\pagepool )

b. Now, go to Start, Run, and type in CMD then hit enter (this will open your command prompt - black screen)

c. in this black screen type "CD " (and note there is a space after the CD) then right click the black screen and choose paste.

you should see the whole path pasted after the "CD " like this "CD C:\Documents and Settings\paul\Desktop\pagepool"

and you can see that the space is still there between the CD and C:\

d. now, hit enter and you will be at the correct prompt. in my case "C:\Documents and Settings\paul\Desktop\pagepool"

e. type "PDOCREAD -L" This will give you and output on the screen.. look for the line that says the larger number with M 51.2 M in my case and

then its followed by a (0xAAAAAAA). Make note of that hex number and use it in the next step

f. type "PDOCREAD 0 0x7777777 PART02.DUMP" Make sure to substitute your 0x7777777 with information found in the previous screen 0xAAAAAA

Note: This will take a few good minutes.. in my case about 10-15 minutes.

4. Run the T mobileWingPagePool 4 mb or 6 mb to replace step 4 in Paul's original instructions: and i quote him:

"

Here's a new idea for the Wing users... rather than doing the HexEdit thing, you can apply one of these patchers below to your part02.dump file - to do the edit for you - then just flash back. To use, copy to the same directory as your raw file and run!

So, THESE PATCHERS REPLACE STEP 4, note that they overwrite the part02.dump rather than creating a new file, so when you flash back you flash the part02.dump filename.

Let me know how it works out ;)

P

PS These patchers have CRC checking enabled, so should be very safe!

Attached File(s) zip.gif T_MobileWingPagePool4MB.exe ( 4.31k ) Number of downloads: 50

zip.gif T_MobileWingPagePool6MB.exe ( 4.31k ) Number of downloads: 42"

5. Flashing your edited dump back to the device.

a. Make sure you're still connected with the cable from the phone to the computer

b. Go to the communication manager on your phone and turn off the phone option to put the phone in "Flight mode"

c. In the command prompt that you had opened type "PDOCWRITE PART02.DUMP"

NOTE: this will take about 10-15 minutes so have patience. If you get any errors, try it again with the same command. I got 2 errors and the third time it worked all the way through even thought i didnt mistype it or anything else.. Not sure why but it worked for me.

6. Soft reset the phone by using the stylus into the side of the phone next to the volume keys.. Wait for it to restart and you should be good.

THANK YOU!!THANK YOU!!THANK YOU!!THANK YOU!! i WAS SO NERVOUS DOING THIS - B/C OF ALL THE WARNINGS BUT I TRICK MY MIND IN BELIEVING THAT IT WOULD WORK. AS I NERVOUSLY FOLLOWED YOUR REVISED INSTRUX, ALL I COULD THINK ABOUT WAS WASTING MY MONEY ON A BROKE PHONE -- BUT IT WORKED!!!!!!!!!! NOW I HAVE 22M OF MEMORY THANK YOU!!THANK YOU!!THANK YOU!!

Link to comment
Share on other sites

Guest Boostin06

Hey guys, i just tried doing this and everything was going smoothly, like in the instructions but i got this error message while it was copying the Part02.4MB.dump file and now my Wing wont power on, am i completely screwed or can i revive it with the RUU ?...was i supposed to overwrie the original file (Part02.dump) ?? I followed the instructions word for word though.

C:\Documents and Settings\vick\Desktop\pagepool>pdocread 0 0x39d0000 Part02.dump

CopyTFFSToFile(0x0, 0x39d0000, Part02.dump)

C:\Documents and Settings\vick\Desktop\pagepool>pdocwrite Part02.4MB.dump

CopyFileToTFFS(Part02.4MB.dump:0, 0, 039cffff)

ERROR: ITWriteDisk - An existing connection was forcibly closed by the remote host.

It looks like the connection was dropped by the Wing, but it was just sitting there on my bed and i made sure the connections were safe...what happened here guys ?? Im worried...

Link to comment
Share on other sites

Guest ramholdings

Thanks much Paul. Recouped about 10MB and noticed a sizable difference in performance. But I will say, I pretty much bricked my first one. When I did the hex edit, I put in a 06 instead of 60 and my Wing CRAAAWWWWLLEEEEDD. It didn't even have enough memory to load. Anyway, I got the RUU and was able to extract the dump and look to see where I made my mistake. Flashed it back but it still kept acting funny so I took it back before the 14 days showing the screwy double personality the phone took on. It was running two screens at once. In the foreground it was in setup after I did a hard reset when nothing else would work and in the background it showed my today screen. Problem was, the touchscreen failed so I could not get out of the setup.

Anyway, I used the 6MB patch for the second time around and it worked like a charm. Oh by the way, after I finished flashing my second phone, it began to sync with Activesync on it's own. I LET IT FINISH syncing then rebooted.

Thanks Paul!

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.