First I want to thank all from this site for all the work you've done!
OK, got a G2 few days ago rooted it using rage method, updated radio to 26.04.02.17 (read that solved some problems with cyanogen's 6.1.1 ROM), installed 6.1.1 ROM and all was well... Then I decided to upgrade hboot (for no particular reason) to 0.85.005 with fastboot. After install it rebooted and noticed I now have SHIP S-ON ...and it wouldn't boot..got stuck on HTC splash screen. So I say oops...pull battery and go into recovery and do a restore to a rooted stock ROM. Was successful but was hoping it would give me root back but no joy. Then tried to install 6.1.1 from ROM manager but no joy. (no surprise with S_ON) So I'm wondering:
Why did hboot update change it to S-ON?
Why didn't my restore restore S_OFF? ( thought restore re-wrote everything)
AND..where do I go from here? Should I just use rage again to get root?
Any help would be greatly appreciated!!
Again, thanks to all!!
Edit: OK just realized I still have root access threw terminal emulator???
How can this be with S-ON??
So I guess I still have root so I tried to install cyogen 6.1.1 from sd card using revovery.
all seems to go well, says its complete but when I reboot, it gets stuck on HTC splash screen
Also tried gfree and this method http://forum.xda-developers.com/wik...cess_.28Permanent_Root_.2F_.22Permaroot.22.29
got to 2nd to last command:
# /data/local/tmp/root
and get
# mkdir failed for /system/xbin, file exists
Anyone??
That sounds like the stock *DZ* hboot, not the G2 one. If so, you're lucky you didn't brick your phone. I wouldn't switch hboots between DZ/G2 unless you were flashing the whole ROM.
The fact that it's a stock one explains why you have S-ON, if you only had S-OFF via the eng hboot before.
What you need to do is run gfree, as you say, to get proper radio S-OFF.
S-ON/S-OFF has nothing to do with root. So you can still be S-ON and have root.
If you did a nandroid restore through Clockwork then as far as I'm aware that doesn't include a restore/backup of hboot.
You won't be able to flash another custom ROM/recovery until you get S-OFF back again.
That "mkdir" error message is normal, just ignore it. But gfree doesn't work with CM 6.1.1. It will work on 6.1 but there are some incompatible kernels too.
I suggest installing the eng hboot (the correct one for your phone, see the Wiki) to get S-OFF (but be careful doing this, e.g the checksums). Then revert to a ROM that is compatible with gfree and run gfree to get radio S-OFF. Then you can revert back to 6.1.1 or whatever you want.
steviewevie said:
That sounds like the stock *DZ* hboot, not the G2 one. If so, you're lucky you didn't brick your phone. I wouldn't switch hboots between DZ/G2 unless you were flashing the whole ROM.
The fact that it's a stock one explains why you have S-ON, if you only had S-OFF via the eng hboot before.
What you need to do is run gfree, as you say, to get proper radio S-OFF.
S-ON/S-OFF has nothing to do with root. So you can still be S-ON and have root.
If you did a nandroid restore through Clockwork then as far as I'm aware that doesn't include a restore/backup of hboot.
You won't be able to flash another custom ROM/recovery until you get S-OFF back again.
That "mkdir" error message is normal, just ignore it. But gfree doesn't work with CM 6.1.1. It will work on 6.1 but there are some incompatible kernels too.
I suggest installing the eng hboot (the correct one for your phone, see the Wiki) to get S-OFF (but be careful doing this, e.g the checksums). Then revert to a ROM that is compatible with gfree and run gfree to get radio S-OFF. Then you can revert back to 6.1.1 or whatever you want.
Click to expand...
Click to collapse
Thanks for responding! Especially after this post has turned into more of a rambling blog as I learn more.
I tried to run gfree to get s-off and it doesn't work, stays s-on. Thought it was because of the "mkdir" error message I was getting. Then tried to install eng hboot using the whole G2 ROOT INSTRUCTIONS here:
http://forum.xda-developers.com/showthread.php?t=834228
Everything goes smooth except for the"mkdir failed for /system/xbin. file exists"
When I reboot, still have:
VISION PVT SHIP S-ON
hboot-0.85.0005
Any ideas??
Again thanks for any help and suggestions!
Just noticed the first commands in the G2 ROOT INSTRUCTIONS have a "$" sigh ie: "$ adb push su /sdcard/su"
Does this mean you should run "adb shell" first? If that.s the case, I get "adb: permission denied" although I do see su on sdcard.
(I know I'm really grasping here )
No, you don't run "adb shell" before running those adb commands, because "adb shell" will give you a command prompt on your phone, and those adb push commands need running from your PC's command prompt. That "$" prompt shown in the guide can be confusing, because it's being run from a PC running Linux, which has a $ prompt. If you have Windows then you will have some sort of "C:\" prompt.
If you are only installing the eng hboot though, you don't need to do all that, since you already have root. Skip to the "Perm Root" section in that guide that you linked, and do everything up to and including the "dd" command. Then the sync and reboot bit (skip over the "root" script).
Although check what message you get from the insmod command. We might have a problem here, because if you're on CM 6.1.1 (that's what you're on, right ?) then gfree won't work and I don't know if either of those wpthis modules (OTA and pre-OTA) will work properly on CM 6.1.1.
The insmod is crucial because unless that command gives you the "right" error message as shown in the procedure, it won't disable the NAND write protection and so won't let you write the hboot permanently.
A bit offtopic, but maybe someone will find this helpful: in many tutorials for *NIX (Linux, OSX, BSD etc.) users you'll find that what you need to type in a command prompt (terminal) starts with either $ or #.
While that may be confusing for Windows users, it is a hint as to whether you are supposed to run the commands as a simple user (the prompt shows a $) or as the administrator (or root) user (in which case, the prompt shows a #).
steviewevie said:
No, you don't run "adb shell" before running those adb commands, because "adb shell" will give you a command prompt on your phone, and those adb push commands need running from your PC's command prompt. That "$" prompt shown in the guide can be confusing, because it's being run from a PC running Linux, which has a $ prompt. If you have Windows then you will have some sort of "C:\" prompt.
If you are only installing the eng hboot though, you don't need to do all that, since you already have root. Skip to the "Perm Root" section in that guide that you linked, and do everything up to and including the "dd" command. Then the sync and reboot bit (skip over the "root" script).
Although check what message you get from the insmod command. We might have a problem here, because if you're on CM 6.1.1 (that's what you're on, right ?) then gfree won't work and I don't know if either of those wpthis modules (OTA and pre-OTA) will work properly on CM 6.1.1.
The insmod is crucial because unless that command gives you the "right" error message as shown in the procedure, it won't disable the NAND write protection and so won't let you write the hboot permanently.
Click to expand...
Click to collapse
ahhhh..thanx for clarifying "$" issue for me.
I am NOT on CM 6.1.1
I have stock OTA rom right now (with root), sorry for the misunderstanding
OK,this is exact error message I get:
insmod: init_module '/data/local/wpthis-OTA.ko' failed (function not implemented)
After I run dd=..... I get
2048+0 records in
2048+0records out
1048576 bytes transferred in 0.079 secs (13273113bytes/sec)
So all looks perfect to me, but I still get stuck with:
....S-ON
hboot-0.85.0005
does the "insmod" being in error message mean anything?
In any event, at least I still have a working phone and learned alot more
(like you said..I'm very lucky I didn't brick it flashing this hboot update)
That's the "correct" error message from insmod. But weird stuff is going on here, which isn't too suprising if you have the wrong hboot for your phone.
I'm getting confused, I thought you were on CM 6.1.1. I also thought your phone was stuck in a boot loop, but you seem to be able to still run commands as root, so presumly it boots ok now ?
steviewevie said:
That's the "correct" error message from insmod. But weird stuff is going on here, which isn't too suprising if you have the wrong hboot for your phone.
I'm getting confused, I thought you were on CM 6.1.1. I also thought your phone was stuck in a boot loop, but you seem to be able to still run commands as root, so presumly it boots ok now ?
Click to expand...
Click to collapse
Sorry for the misunderstanding, I had CM 6.1.1 on when I flashed wrong hboot. After that it would get stuck on HTC screen when trying to boot up into CM 6.1.1
So I booted into recovery and did a restore which luckily worked. Which now I have no idea why that worked looking back other than because it was a legit stock ROM, so it allowed it. Is this the case??
Last night I actually tried to un-root and get everything back to stock (including hboot) via this method:
ttp://theunlockr.com/2010/12/01/how-to-unroot-the-t-mobile-g2-htc-vision/
but got stuck on "dd if=/sdcard
/miscnew.img of=/dev/block/mmcblk0p17" with a read only ermision denied message
which I wasn't surprised because I have S=ON
Related
I am using this website, and am at step 6. Everything up to this point has been going well, but i cannot get the recovery image to copy over. BTW I have the recovery-RA-sapphire-v1.7.0H.img file i'm using. When I type to push the file to the SDcard, it says, the transfer failed because the file system is read only.
How do I fix this? I've restarted the phone, taken the SD card in and out, i've typed adb remount, and nothing is working.
. Open command prompt and go to the Tools folder in Android SDK that you downloaded to create the gold card.
Assuming that you have not changed the file name of the recovery, use the following commands:
cd C:\AndroidSDk\tools
adb push recovery-RA-hero-v1.6.2.img /sdcard/
adb shell
flash_image recovery /sdcard/recovery-RA-hero-v1.6.2.img (file name of the recovery you downloaded)
OK, i've got that working, now another problem...
cd C:\AndroidSDk\tools
adb push recovery-RA-hero-v1.6.2.img /sdcard/
adb shell
flash_image recovery /sdcard/recovery-RA-hero-v1.6.2.img (file name of the recovery you downloaded)
7. After the recovery has been flashed, go to the following link to download the ENG SPL for HTC MAGIC 32A (SPL: 1.76.2007)
http://www.4shared.com/file/21114537...07-signed.html
8. Now copy the SPL to your memory card.
adb push update-hboot-1762007-signed.zip /sdcard/
9. Restart your phone using the home + power key till it boots up into the recovery mode.
(or just type 'adb shell reboot recovery')
10. Using the 'Flash zip file' option from the recovery, select the SPL file from the memory card and flash the HBOOT on your phone
Now i've done most of that, but when I restart into recovery mode, it keeps on randomly rebooting even though I don't want it to. I clicked on 'flash zip file' and it just rebooted right away.
Now when I flashed the recovery, the command prompt said that it did it, BUT nothing happened on my phone, it was just sitting there and didn't say it was doing anything. Could this be a problem?
OK i kept trying, and finally i got it to go into 'flash zip file', I clicked on the correct zip file, but right after clicking the screen went black and it restarted.
Does this sound like it worked? How do I check to confirm if it worked and it's rooted?
Ok I did this, and it said ADB is already running in root in the cmd, so i think i'm good!!!
Thanks!
The easiest way to test if the device is rooted is to open another command prompt in the tools dir and type
adb root
If it returns that adab is already running in root, then you're all set.
So as i said, i installed the sapphire recovery, but now i'm reading on the wiki page that you need the HERO recovery file. I need to change the radio, but then it is saying i needed the HERO recovery.
This is so damn confusing why can't anyone get this all straight and not have so many different and totally contradicting methods.
http://wiki.cyanogenmod.com/index.p...agic32A_Firmware_to_CyanogenMod#6.35.x_Radios
The wiki here says to use the HERO recovery, but this thread only gives the sapphire recovery for the HTC magic.
http://forum.xda-developers.com/showthread.php?t=530492
Now to clarify i checked and i think i have successfully rooted, but the specs are this.
Sapphire PVT 32A ship s-on H
Hboot-1.76.0008
CPLD-12
RADIO-6.35.08.29
I'm told i need to change the radio now before I can install the cyanogen rom, is this true?
I can't find out what to do because no one seems to talk about the 1.76.0008 spl...
Any help?
OK so more playing and more following guides, I installed the HERO recovery tool (1.6.2), and updated the radio to 6.35.10.18, changed my SPL to 1.76.2007, and have my PVT 32A ENG S-OFF H setup.
I'm confused though, because I did all of this work so I can install the lastest cyanogen rom, but it says it can't use this version of the radio... what the hell?
Someone REALLY needs to fix these tutorials to be self consistant.
http://forum.xda-developers.com/showthread.php?t=605239
follow this, got it all done, then go here to get the cyanogen mod...
http://forum.xda-developers.com/showthread.php?t=673394.
What do I do now?? Do I downgrade my radio or just use a different rom?
thesmoth said:
OK so more playing and more following guides, I installed the HERO recovery tool (1.6.2), and updated the radio to 6.35.10.18, changed my SPL to 1.76.2007, and have my PVT 32A ENG S-OFF H setup.
I'm confused though, because I did all of this work so I can install the lastest cyanogen rom, but it says it can't use this version of the radio... what the hell?
Someone REALLY needs to fix these tutorials to be self consistant.
http://forum.xda-developers.com/showthread.php?t=605239
follow this, got it all done, then go here to get the cyanogen mod...
http://forum.xda-developers.com/showthread.php?t=673394.
What do I do now?? Do I downgrade my radio or just use a different rom?
Click to expand...
Click to collapse
Here is a link to a test kernel port file for CM 5.0.8 from Brian Crook. This should allow you to run CM using your current Radio. Like I say it's a test port and I haven't tried it but Brian is the one that does all the ports to the Rogers 3.x radios.
http://briancrook.ca/android/testing/
you'll need to download the file bc-5.0.8-6355-ebi1-signed.zip
You would use recovery to flash CM 5.0.8 then flash this kernel port file. After that don't forget to flash the gapps package that should be linked in one of the URL's that you already posted or you can get it here http://kanged.net/mirror/download.php?file=gapps-ds-ERE36B-signed.zip
PLEASE NOTE
Do not change your radio from it's current 6.x version without flashing the matching SPL for the new radio. If you fail to flash the SPL/Radio combination correctly you WILL brick your phone.
So i've rooted my Desire Z with the stock rom of v. 1.34 .. I think i need to send it back for repairs since my green led is not working anymore.. But before i can do that i want to unroot the phone.. can someone here explain to me how i do it ? Im a total retard when it comes to this.. Sometimes i even wonder how the heck i managed to root the device
EDIT: Forgot to mention that i've applied a OC kernel.. !
No one ?
5char
I reckon ppl are a bit cautious in giving advice as there have been a few issues.
Lets start with which method did you use to root and s-off?
wileykat said:
I reckon ppl are a bit cautious in giving advice as there have been a few issues.
Lets start with which method did you use to root and s-off?
Click to expand...
Click to collapse
Thanks man.. Glad you want to help ..
I wanted to able to use this kernel, so i followed the suggested rooting guide from that thread.. Which i believe is this
I just want to make sure i do everything right you know
Da9L said:
So i've rooted my Desire Z with the stock rom of v. 1.34 .. I think i need to send it back for repairs since my green led is not working anymore.. But before i can do that i want to unroot the phone.. can someone here explain to me how i do it ? Im a total retard when it comes to this.. Sometimes i even wonder how the heck i managed to root the device
EDIT: Forgot to mention that i've applied a OC kernel.. !
Click to expand...
Click to collapse
Hi !
I need to know 2 things before I can help you:
1. Did you install the engineering hboot?
You can check this by booting into fastboot mode:
- Shutdown the phone
- Press and hold the touchpad-button and hold it while pressing the Power button.
-> On the screen with the surfing androids the first lines contains either SHIP or ENG. If you have ENG then you installed the engineering hboot.
2. Did you use gfree to achive radio S-OFF
You can check this by using the gfree_verify procedure - see http://forum.xda-developers.com/wiki/index.php?title=HTC_Vision#VERIFY_.28using_.22gfree_verify.22.29
if you have @secu_flag = 0 then you are radio S-OFF if @secu_flag = 1 you are radio S-ON.
Please check this and post your results, then i can post your way to go.
have fun - Guhl
guhl99 said:
Hi !
I need to know 2 things before I can help you:
1. Did you install the engineering hboot?
You can check this by booting into fastboot mode:
- Shutdown the phone
- Press and hold the touchpad-button and hold it while pressing the Power button.
-> On the screen with the surfing androids the first lines contains either SHIP or ENG. If you have ENG then you installed the engineering hboot.
2. Did you use gfree to achive radio S-OFF
You can check this by using the gfree_verify procedure - see http://forum.xda-developers.com/wiki/index.php?title=HTC_Vision#VERIFY_.28using_.22gfree_verify.22.29
if you have @secu_flag = 0 then you are radio S-OFF if @secu_flag = 1 you are radio S-ON.
Please check this and post your results, then i can post your way to go.
have fun - Guhl
Click to expand...
Click to collapse
1. Nope it shows SHIP
2. Gave me this output (My phone has allways been sim unlocked however.. Bought it without contract!)
Code:
gfree verify_cid returned:
@CID: 11111111
OK
gfree verify_secu_flag returned:
@secu_flag: 0
OK
gfree verify_simlock returned:
@SIMLOCK= 00
OK
Da9L said:
1. Nope it shows SHIP
2. Gave me this output :...
gfree verify_secu_flag returned:
@secu_flag: 0
Click to expand...
Click to collapse
!!! WARNING FOR OTHERS - DO NOT DO THIS IF YOU ARE NOT RADIO S-OFF AND HAVE THE ENGINEERING HBOOT INSTALLED !!!
OK this is good because as you don't have the eng-hboot installed we can safely flash the full stock rom and i assume that you have a custom kernel and a custom recovery installed that we need to get rid off.
Before i go into details of commands i would like to give you the principle procedure:
1. reinstall the stock firmware by copying a PC10IMG.zip to /sdcard and then boot into hboot and let it install the complete stock rom.
2. temproot again using psneuter
3. restore the backup of your partition 7 using gfree 0.4
So what we need is:
- a stock rom from here http://www.multiupload.com/GH26HXLLES
- psneuter from here http://www.thinkthinkdo.com/trac/project1/raw-attachment/wiki/psneuter/psneuter.zip
- gfree 0.4 from here http://www.thinkthinkdo.com/trac/project1/raw-attachment/wiki/gfree/gfree_04.zip
You need to make sure that this PC10IMG.zip really is your stock version (maybe find yours somewhere else)
1. Installing the stock rom:
connect the phone to usb.
download the file and rename it to PC10IMG.zip and put it to the root of your sdcard using:
Code:
adb push PCIMG10.zip /sdcard/
shutdown your phone.
boot into hboot by holding the <Vol-Down> key while you press <Power> to boot.
hboot (white screen with surfing androids and the word HBOOT in blue) will scan for the file PCIMG10.img and load it.
Then you can use <Vol-Up> to start the process. In the middle of the process the screen will get dark for some seconds and then it will start again -> don't panic wait until it is completely finished.
When done - reboot
2. Temp-root using psneuter:
On the phone go to Settings - Applications - Development and enable USB debugging again.
Unzip the psneuter.zip, install and execute psneuter on your phone:
Code:
adb push psneuter /data/local/
adb shell chmod 777 /data/local/psneuter
adb shell /data/local/psneuter
3. use gfree to restore your partition 7 backup
Unzip gfree_04.zip and install it on the phone
Code:
adb push gfree /data/local/
adb shell chmod 777 /data/local/gfree
3.a When you used gfree to get radio s-off it created a backup of the partition named /sdcard/part7backup-<time>.bin (replace <time> with the time number). We will restore this file now.
Get a root shell:
Code:
adb shell
The prompt should be # now
Execute gfree to restore the backup (in the root shell) - replace <time> with your time number in the following command.
Code:
/data/local/gfree -r /sdcard/part7backup-<time>.bin
3.b Alternative: (if you don't have your partition 7 backup anymore - don't do if you did 3.a):
You need to know the CID that your phone had originaly, it could be HTC__001
Excecute gfree to set S-ON and CID:
Code:
/data/local/gfree -s on -c HTC__001
4. clean up (still in the root shell):
Code:
rm /data/local/psneuter
rm /data/local/gfree
rm /sdcard/PC10IMG.zip
So now you are back to stock.
You might want to boot to hboot again and use "FACTORY RESET" to wipe data and cache.
And you might format the micro-sd card before you return the phone.
I hope this is it (written without a phone so there might be typos)
have fun - Guhl
Wow guhl99 that is really really helpfull ! I appriciate it so much! Im gonna try it later today ..
However i dont think i got the backup of that partition.. Must have deleted by mistake for some reason
Is there anyway i can find out what CID my phone had originaly ?
EDIT: Another question.. What would happen if i just acceptet the OTA upgrade ? Wouldn't that unroot and s-on my phone ?
Da9L said:
Wow guhl99 that is really really helpfull ! I appriciate it so much! Im gonna try it later today ..
However i dont think i got the backup of that partition.. Must have deleted by mistake for some reason
Is there anyway i can find out what CID my phone had originaly ?
Click to expand...
Click to collapse
Hi !
Welcome, i think it was time to summarize this once. And as I am constantly going back to stock to test some exploits and then reroot i have some practive.
Yes there is. The CID is also stored in the first 8 bytes of partition 17 - the misc partition - (and no one knows why).
So you can to the following (in a adb root shell)
Code:
dd if=/dev/block/mmcblk0p17 bs=8 count=1 2>/dev/null
The first 8 characters of the output should be your CID (the # behind it is the prompt for the next command as you do not receive a new-line by the command above)
have fun - Guhl
Da9L said:
EDIT: Another question.. What would happen if i just acceptet the OTA upgrade ? Wouldn't that unroot and s-on my phone ?
Click to expand...
Click to collapse
Sorry I did not see this question.
It will unroot but will NOT S-ON the phone.
But something really nasty will happen:
- It will install a radio firmware version that prevents gfree from dropping the write protection of the emmc chip for the radio configuration partition 7. And because of this you are not able to set S-ON again or set your CID back (or restore your partition 7 backup).
You would then have to downgrade the firmware again to 1.34 (using a procedure that is documented in this forum) and is even more complicated. And after the downgrade (that includes installing the stock rom as i described above) you would have to continue at point 2 of my description above.
SO DO NOT ACCEPT THE OTA (it would not brick things but needs another 2 steps).
have fun - Guhl
Guhl, could you use Gfree to restore your backup (or go S-ON) first while you were still rooted? Then with S-ON, use the PC10IMG.zip to restore back to the shipping ROM (which should work, assuming the zip to be signed).
Just wondering if that extra step of temp rooting before using gfree is necessary...
ianmcquinn said:
Guhl, could you use Gfree to restore your backup (or go S-ON) first while you were still rooted? Then with S-ON, use the PC10IMG.zip to restore back to the shipping ROM (which should work, assuming the zip to be signed).
Just wondering if that extra step of temp rooting before using gfree is necessary...
Click to expand...
Click to collapse
Hi !
You are absolutely right, you could do it this way.
The reason why i always remove s-on as the last step is just to have the system and recovery partitions write enabled till the last step.
So if anything goes wrong you still have options till the end.
But if you don't need that extra security you could do it your way.
have fun - Guhl
Hello!
I have a big problem.
I might have bricked the device however the things what i can do are the following:
- Boot into recovery (clockworkmod)
- start a usb data connection with a computer (clockworkmod)
- input of the ADB commands through terminal running in the computer
What i did?
Flashed the memory with a Cyanogenmod 6.3 according to official guideline:
http://wiki.cyanogenmod.com/index.php?title=HTC_Desire_HD:_Full_Update_Guide
and took note and used most procedures from there actually:
http://forum.xda-developers.com/wiki/index.php?title=HTC_Vision#Rooting_the_G2
Didn't do the engineering hboot.
Everything was working. I got cyanogenmod working.
Then after a while i tried to restore a backup which i had from original HTC configuration which was actually just before i did the cyanogenmod flash with clockworkmod.
So the backup was from the time i already unlocked the phone from locks and had root access.
So again the restore function worked and everything was back to normal.
How i managed to half brick the device?
Yesterday i wanted to put cyanogenmod back to my phone and then the s hit happened.
I admit that i didn't check whether the locks were off i just thought that these should have been off because backup soft was from time i had phone unlocked.
Anyway to cut the long story short - after flashing the memory with cyanogenmod with the help of rom manager the phone didn't boot anymore.
I tried all the options from clockworkmod flash and format and upgrade straight from sd card a new cyanogenmod but nothing worked. Again the white HTC screen and connection through a usb cable.
So probably i have the s-off and who knows what else.
I dont have a root access anymore as well because i already tried it through the terminal. It doesn't recognize the su command.
Question is, how can i put the cyanogenmod back on by only using clockworkmod recovery and working ADB connection through usb link?
Probably have to just get the locks off but the original instructions say i have to have terminal emulator running in phone but i only have clockworkmod recovery soft running at best.
S hit, again very long story, but hope someone can help me!
Cheers!
I had a similar problem yesterday, after flashing ClockwordkMod Recovery to version 3.0.0.5 (it said it had an update) and trying to reinstall CyanoGenmod 6.3 my phone would no longer boot, it got stuck in the white HTC Logo screen.
I'm not really an expert on this stuff, but I managed to "recover" my device by downgrading it again to 1.32.405.6 using this thread: http://forum.xda-developers.com/showthread.php?t=905003. First I had tried to recover a previously backed-up ROM, but that did not work.
I had to put the stock 1.32 PD98IMG.zip file on my SD card using ClockwordMod Recovery (since I could no longer boot), I'm not exactly sure which steps I took to do so, I have tried a lot of things yesterday before I got everything working again.
After this my phone could boot again and I was ready to play around again. I reinstalled CyanogenMod again using an older version of ClockwordMod Recovery. I'm not sure if this is related in any way, but my phone works smooth again..
Once again; I'm really not on expert on how all this stuffs works, I just hope that I can help you on the way with some ideas on how to fix your device.
So probably i have the s-off and who knows what else.
Click to expand...
Click to collapse
I figured out wether my device was S-OFF and/or Eng S-OFF by entering "adb reboot bootloader" from cmd. At the top of the page for me it states:
ACE PVT ENG S-OFF
I believe it stated only SHIP S-OFF when I had the problems you describe.
Thanks man for quick reply!
I definitely try the downgrading solution and i remember i too did the update for clockworkmod rom manager before the flash.
I'll report back tomorrow.
Cheers!
couldn't boot up any roms earlier after upgrading clockworkmod recovery to v3... downgraded to 2.5.1.3 and worked fine
Hi Guys, I have exactly the same problem. It would be really great if you provide me the step by step process to downgrade clockworkmod recovery.
Cheers,
Pav
I'd like to say to you guys that the downgrading solution worked
Didn't have to use any programs inside phone except clocworkmod recovery which was the only thing i had running.
Thank you user jvdminne!
The downgrading solution was in official cyanogenmod guidelines as well but forgot it anyway.
------------
Pavanka!
The downgrading solution from the link is pretty step by step actually.
But anyway, with my half-broken phone the lines didnt do the trick:
Code:
adb push psneuter /data/local/tmp
adb push misc_version /data/local/tmp
adb shell chmod 777 /data/local/tmp/psneuter
adb shell chmod 777 /data/local/tmp/misc_version
adb shell /data/local/tmp/psneuter
I had to copy psneuter and misc_version to /tmp folder not into /data/local/tmp.
But anyhow, i already had # root access through computer. Probably from last half flashed system.
So only thing i basically had to do was to cd in windows cmd into folder where i had psneuter and misc_version and after that:
Code:
adb push misc_version /tmp
adb shell chmod 777 /tmp/misc_version
adb shell
in the shell (adb shell):
Code:
cd /tmp
./misc_version -s 1.31.405.6
And after that follow the instructions from previous link.
To get the ADB functions working just follow the guide here or from previous link where it had adb program included, but not sure whether it was working cause i had it from Android SDK package already set.
Hope you got some sense out of it.
Cheers!
Hey
I had similar problems to those mentioned in the beginning with the cyanogen mod...
I installed cyanogen and the it got to the screen with the blue swirlyness and then just kept restarting. I decided to restore a backup and just got stuck on the white htc screen.
I decided to follow this post and now am stuck with this...
I just tried a couple of different things to no avail...
maxa1577 said:
Hey
I had similar problems to those mentioned in the beginning with the cyanogen mod...
I installed cyanogen and the it got to the screen with the blue swirlyness and then just kept restarting. I decided to restore a backup and just got stuck on the white htc screen.
I decided to follow this post and now am stuck with this...
I just tried a couple of different things to no avail...
Click to expand...
Click to collapse
If you had ROOT , S-OFF etc you shouldn't need to go through all this rigmarole, if you can access recovery carry out a full wipe /system /cache /dalvik-cache and reflash your chosen ROM, should be all that's required
ghostofcain said:
If you had ROOT , S-OFF etc you shouldn't need to go through all this rigmarole, if you can access recovery carry out a full wipe /system /cache /dalvik-cache and reflash your chosen ROM, should be all that's required
Click to expand...
Click to collapse
phew cheers for that. First time flashing and I thought I killed me poor desire.
READ THIS:
i have removed the dead multiupload links that have for some reason been causing an extreme amount of confusion. i thot the "mirror" following each link was self explanitory,but apparently not.
from this point forward,i will no longer respond to "links are dead" posts or PMs if i check them and find them to be working.
in other words,yes,the links are working.
___________________________________________________________________
the return to stock thread from 5/17 is outdated. it still works,but afterward youll need to allow your phone to OTA to mr2 if you want to be on the current firmware.
between the newer firmware,and having to execute extra steps if rotoed with revolutionary,the old thread seems to be causing some confusuion. i thot maybe it would help if i threw it up here as well
its geared toward a revolutionary rooter who doesnt have adb set up,so sorry if its a little insulting to more advanced users
last and not least,if you rooted old skool,and just need to flash mr2 files,just skip the part detailing getting the old 1.04.2000 eng hboot back. go directly to: Putting current stock firmware and s-on back onto the phone
as soon as the GB OTA hits for realeek i will update this with those files.
*please read all directions first. post up any questions you have before doing anythingyou are messing with your bootloader,wich is a vital part of your phones operation. screwing it up WILL make your phone an expensive paperweight.
how to unroot
the revolutionary method of rooting uses a sneeky hboot exploit,and replaces your stock 1.04.0000 or 1.05.0000 bootloader with a modified permanent hboot. it not only gives you all the same fashboot flash abilities as the original engineering bootloader,but it very effectively blocks other hboots for overwriting it. its good,as you will remain s-off if you accidentally flash a full RUU,or accept an OTA,but makes it a little trickier to remove.
for the time being, removal requires ADB to be set up and running and some commands entered in "fastboot" to to allow the permanent hboot to be overwritten. once an "s-on" tool is release,ill take th is part of this guide down.
if you rooted the old skool manual way and have adb setup and working,you can use this guide to remove the permanent hboot.
with Revolutionary,will come a new wave of rooters that have no clue what adb,or fastboot even are. for you folks, Sele and the crew in the "rescue sguad" at HTC Thunderbolt Forum have come up with a really clever way to get the adb basics,and the eng bootloader to flash,with minimal setup and confusion. with their permission,im borrowing it for our guide here.
*WARNING* no siginture or file checks will be done flashing the new bootloader in hboot or fastboot.fastboot will literally flash "lets golf" as a bootloader if you tell it to. DO NOT mess with your hboot unless absolutely neccessary to return to stock for warranty purposes. if youre just tired of being rooted,flash the gingerbread ruu to get back to unrooted firmware and factory recovery. leaving the revolutionary s-off bootloader in place is the safest,and best option,and will not affect your ability to recieve OTAs.
*AGAIN- if youre just following this procedure because youre tired of being rooted,skip this next section and leave the permanent hboot in place. jump to "Putting current stock firmware and s-on back onto the phone" and flash only the first "PG05IMG_no_hboot_2.11.605.9" file(you can flash the 2nd file too if you want,but the permanent hboot will block it )
Setting up adb and removing the permanent hboot if youve never used adb before
1)if you no longer have the htc drivers that you installed when rooting with revolutionary,download them again from here on revolutionarys website.
2)next download *link removed (mirror)to somewhere convenient that youll be able to find it,like your desktop,or a "downloads" folder. it contains the old eng 1.40.2000 s-off hboot,and the bare minumum tools to install it.
3)the following directions were using windows 7 and chrome browser. other OS may be slightly different-the end result is you want unzipped,inside tbolt folder to be on the root of your C: drive.
-find the tbolt.zipdownload
-click on tbolt.zip download and open it.
-inside tbolt.zip,there is a folder labled tbolt. drag it to the root of C:. inside tbolt is the unpermanent hboot and some adb tools.
4) charge your Thunderbolt to 100%
5)click on then "start" bubble in the lower left corner of your screen. type "command" in the search window and hit enter. this will open a small black command window.
6)enter the following command(by typing or copy/paste):
Code:
cd c:\tbolt
you should see your promt in the window change to: c:\tbolt>
7)enter the follwing command:
Code:
md5sums hbooteng.nb0
check the output on the command window. THIS IS VERY IMPORTANT. the command must equal exactly 6991368ee2deaf182048a3ed9d3c0fcb if it does not,STOP!. delete the tbolt.zip download,and the unzipped tbolt folder from C:,re download and try it again. again,do not procede if the output in your command number does not equal it exactly.
8)once the number matches,you can continue. copy and paste the following codes into the command window:
Code:
adb devices
the output should be your phones serial number
now enter:
Code:
adb reboot bootloader
this will cause your phone to boot into FASTBOOT mode,wich is a white screen with colored letters.
now enter:
Code:
fastboot devices
the result again,should be your phones serial number.
9) now youre ready to enter the command to unlock the permanent hboot and flash the new,non permanent one.
to unlock,enter:
Code:
fastboot oem mw 8d08ac54 1 31302E30
write the new hboot:
Code:
fastboot flash hboot hbooteng.nb0
if you select bootloader at this point from the fastboot menu, youll still see the permanent s-off hboot,so select reboot with the volume rocker and power button and let the phone reboot. after it boots,you can adb reboot bootloader again,or power off, then power on/vol down and check that your pink "UNLOCKED" or "REVOLUTIONARY" is gone and you have the old 1.49.2000 bootloader.
here is what you should see in the command window,the red are my inputs:
Code:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Scott>[COLOR="Red"]cd c:\tbolt[/COLOR]
c:\tbolt>[COLOR="red"]md5sums hbooteng.nb0[/COLOR]
MD5sums 1.2 freeware for Win9x/ME/NT/2000/XP+
Copyright (C) 2001-2005 Jem Berkes - http://www.pc-tools.net/
Type md5sums -h for help
[Path] / filename MD5 sum
-------------------------------------------------------------------------------
[c:\tbolt\]
hbooteng.nb0 6991368ee2deaf182048a3ed9d3c0fcb
c:\tbolt>[COLOR="red"][COLOR="red"]adb devices[/COLOR][/COLOR]
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT126S005970 device
c:\tbolt>[COLOR="red"]adb reboot bootloader[/COLOR]
c:\tbolt>[COLOR="red"]fastboot devices[/COLOR]
HT126S005970 fastboot
c:\tbolt>[COLOR="red"]fastboot oem mw 8d08ac54 1 31302E30[/COLOR]
...
OKAY [ 0.006s]
finished. total time: 0.006s
c:\tbolt>[COLOR="red"]fastboot flash hboot hbooteng.nb0[/COLOR]
sending 'hboot' (1024 KB)...
OKAY [ 0.183s]
writing 'hboot'...
OKAY [ 0.219s]
finished. total time: 0.403s
c:\tbolt>
Putting current stock firmware and s-on back onto the phone
after getting the bootloader back to the original s-off,engineering 1.04.2000 hboot download these 2 files:
1) PG05IMG_no_hboot_2.11.605.19.zip
mirror: https://rapidshare.com/files/271867813/PG05IMG_no_hboot_2.11.605.19.zip
md5: 334909756073760b3d7316e51a4ce837
2) *link removedPG05IMG_hboot_ONLY_2.11.605.19.zip
mirror:http://www.mediafire.com/?0z0rlzh9lrnh0qs
md5: d26b3253358407d459c654e6729a39ca
rename PG05IMG_no_hboot_2.11.605.19.zip to "PG05IMG",move to your sd card,and flash in hboot.
this is important! you must flash the PG05IMG_no_hboot_2.11.605.19.zip first
after successfully flashing that,you will be on unrooted gingerbread with an eng s-off bootloader. delete the PG05IMG file from your sd card. now place the PG05IMG_hboot_ONLY_2.11.605.19.zip on your sd card. check the md5. once youve verified it matches,you can rename PG05IMG and flash it.
again, only flash the hboot file after you have successfully flashed the rom.
now you are 100% stock on latest firmware. unrooted gingerbread 2.11.605.19 with *locked* 1.05.0000 s-on bootloader.
as always,be as cautious as possible doing hboot flashes,and follow directions in the http://androidforums.com/thunderbolt-all-things-root/353591-how-some-root-terminology.html to flash these files if youre unfamiliar with hboot flashing.
*please start a new thread before attempting this if any part of this confuses you. without a bootloader your phone is a paperweight,so we want to help you prior to making any mistakes
last and not least: if you have non working hard buttons,or no screen,see the directions in this thread on AF
Nice
Awesome Found that there is also another way you can use the same method from the original root instructions.
adb push yourhbootfilenamehere /data/local/
adb shell
dd if=/data/local/yourhbootfilenamehere of=/dev/block/mmcblk0p18
Then just put the stock image on your sd card and use
adb reboot bootloader
and flash your stock firmware
Hope this helps anyone looking for a slightly quicker way
Not sure if this is a problem but...
After I un-rooted last night and ran the 2.11.605.5 RUU, I now get a bright pink message at the bootloader saying *** LOCKED ***. Anyways, the device now states S-ON and I am running stock. Is the LOCKED message something to be concerned about?
no the locked message is just something new they put into it some people think it means they might put it in the list of officially unlockable devices soon check it out here htcdev.com/bootloader
ellis90009 said:
Awesome Found that there is also another way you can use the same method from the original root instructions.
adb push yourhbootfilenamehere /data/local/
adb shell
dd if=/data/local/yourhbootfilenamehere of=/dev/block/mmcblk0p18
Then just put the stock image on your sd card and use
adb reboot bootloader
and flash your stock firmware
Hope this helps anyone looking for a slightly quicker way
Click to expand...
Click to collapse
while i dont know that youll save any time doing it this way, this is certainly anotehr way to skin the cat if you have adb set up,and are fairly savy at using it,as there are alot of small details youre leaving out.
also i need to add a couple of things:
1)you will need to reboot your phone between
Code:
dd if=/data/local/yourhbootfilenamehere of=/dev/block/mmcblk0p18
and
Code:
adb reboot bootloader
as,rebooting imediately to bootloader will take you back to the revolutionary one. the new hboot is written on reboot.
2)be extremely careful with this. if you choose to flash a stock hboot rather than the engineering one,you risk a security warning if you flash the wrong hboot overtop of the wrong custom firmware. youll then be stuck with an s-on hboot and only be able to run newer RUUs to try and fix it.
if you really want to use this method,the safest way would be to run the RUU first. youll have to get a temp root shell(zergRush prolly will work),then run the command to replace the hboot that matches the firmware that you flashed.
CaptainStrange said:
Is the LOCKED message something to be concerned about?
Click to expand...
Click to collapse
as was said,this is just the new hboot. it does contain htcdev unlocksupport. thos that doesnt neccessarily mean they will ever give us a key not that it matters anyway,htcs "official unlock"only unlocks system,boot,and recovery,and is still an s-on hboot. better than nothing i guess,but since we have revolutionary and other root methods,theres no advantage to using the official unlock fomr htc.
updated OP for unroot to GB 2.11.605.5
This should be stickied. Thanks Scotty
Thanks for this. I am going to be upgrading my TB to a Droid RAZR and wanted to revert to complete stock, S-ON, unrooted for selling it on eBay. This worked perfectly.
just to be cleared to just go back to unrooted stock to receive future ota's is just follow this: will this take my s-off off..also can I reroot with revolutionary later..
the reason i want to go back to stock is the ota update notifications are getting annoying and persistent..
Putting current stock firmware and s-on back onto the phone
after getting the bootloader back to the original s-off,engineering 1.04.2000 hboot download these 2 files:
1)PG05IMG_2.11.605.5_no_hboot.zip
md5: b7ebb0b208f704c84f1224de16e61a8e
2)PG05IMG_2.11.605.5_hboot_ONLY
md5: e6df3ae14523508868dc811ecc5d4b07
rename PG05IMG_2.11.605.5_no_hboot.zip to "PG05IMG",move to your sd card,and flash in hboot.
this is important! you must flash the PG05IMG_2.11.605.5_no_hboot.zip first
after successfully flashing that,you will be on unrooted gingerbread with an eng s-off bootloader. delete the PG05IMG file from your sd card. now place the PG05IMG_2.11.605.5_hboot_ONLY on your sd card. check the md5. once youve verified it matches,you can rename PG05IMG and flash it.
again, only flash the hboot file after you have successfully flashed the rom.
now you are 100% stock on latest firmware. unrooted gingerbread 2.11.605.5 with *locked* 1.05.000 s-on bootloader.
as always,be as cautious as possible doing hboot flashes. again,please post any questions before doing anything
Did you root with revolutionary? If you currently have the 1.04.2000 Eng hboot,then yes. That will get you to stock unrooted gb. If you plan to re-root,there are stock,rooted roms you can flash in recovery,that will also stop the ota notices.
Sent from my ADR6400L using XDA Premium App
Thanks so much. Appreciate
Sent from my Nexus S using xda premium
So is there anyway to accomplish this without being able to turn the phone on? Dropped my T-Bolt over the weekend, phone looks fine but the power button is now recessed. Tried popping it back out, etc. and no dice.
Tried setting up ADB, but it isn't recognizing my device. Not sure if USB Debugging was on before, but now I have no way of checking. Tried a few tricks I read online to get the phone to power on without the power button, but none have worked.
Thoughts?
id prolly not worry about it. if it wont power on,they wont know its rooted. i believe any hardware thats not working is fixed,then the phone is flashed with current firmware.
i do not believe they will fix the phone,then turn it on to try and catch you being rooted.
either way,since you dropped it,youre looking at an insurance claim anyway. and they could care less if its rooted or not
after doing that, can I roll back it to be S-OFF/ROOT?
edited to reflect the fact that I'm an idiot who just essily fixed the problem
Problems...
So i rooted with the Original root method I do believe and have had this phone for awhile, I followed the steps as stated but after I flash the H Boot and reboot to do the first PG05IMG I get No image, wrong image, so on and so forth... I have no idea what has happened, I even grabbed another Img file from Bliynd but it still does the same...
Never had a phone do this before, its like it see's the IMG but will not load/flash it... Any help would be awesome man, sry for the trouble...
Helpful info (?)
Mecha XD ENG S-OFF
Hboot-1.04.2000 (PG0510000)
MICROP-/
Radio-1.39.00.0627r
eMMC-boot
Feb 23 2011, 20:36:02
See attachment for pic of happenings lol So much easier
There is one more line of no Image or what not after whats on the pic, I guess I took it a lil to fast...
be careful! do not just blindly flash different images or RUUs. you need to use the files i listed,and make sure you flash them in the correct order.
if the PG05IMG is on the root of the sd card there are only 2 reasons its not found:
1)sd card not FAT32
2)incorrectly named
the phone must see "PG05IMG.zip" exactly. due to the way windows usually adds and hides file extension,its common to inadvertantely name to "PG05IMG.zip.zip" or in lesser cases just "PG05IMG". note that that is a zero,not a capital O
figure out which of those 2 is your prollem and your files will flash.
a1exus said:
after doing that, can I roll back it to be S-OFF/ROOT?
Click to expand...
Click to collapse
after doing what?
I know this is beyond dumb but since rooting with recovery anything I flashed was from cwr. How do I flash pg05img.zip from hboot? Will the phone then boot up allowing me to delete the file from file manager app or do I have to delete the first pg05img.zip from the computer?
Ok, so I originally rooted my phone using the ADB method. I used your stock RUU to unroot with S-off still off. My question is what is the easiest way to get root back with s-off already off and the original root bootloader?
Few days ago I messed the phone little bit, Magic 32A and I had to flash sappimg.nbh from fastboot.
Before that phone was S-OFF with 3.22 radio and 1.33.2010 SPL.
Right now is running Android 1.5, its rooted using UniversalAndroot and right now I cant flash recovery from Rom manager. I get error: "an error occurred while attempting to run privileged commands".
Current:
SAPPHIRE UNKNOWN 32A SHIP S-ON G
HBOOT-1.33.0006
CPLD-12
RADIO-2.22.19.26I
What I want? Want to get on old situation with 3.22 radio, 1.33.2010 spl and if possible s-off.
Right now Im in mess cause I dont know what tutorial/source to follow. Its been two years since I have done that, besides I didnt had to do goldcard back then.
Can anyone please help cause Im really confused.
thanks
stifler05 said:
Few days ago I messed the phone little bit, Magic 32A and I had to flash sappimg.nbh from fastboot.
Before that phone was S-OFF with 3.22 radio and 1.33.2010 SPL.
Right now is running Android 1.5, its rooted using UniversalAndroot and right now I cant flash recovery from Rom manager. I get error: "an error occurred while attempting to run privileged commands".
Current:
SAPPHIRE UNKNOWN 32A SHIP S-ON G
HBOOT-1.33.0006
CPLD-12
RADIO-2.22.19.26I
What I want? Want to get on old situation with 3.22 radio, 1.33.2010 spl and if possible s-off.
Right now Im in mess cause I dont know what tutorial/source to follow. Its been two years since I have done that, besides I didnt had to do goldcard back then.
Can anyone please help cause Im really confused.
thanks
Click to expand...
Click to collapse
ehhh, I'm kinda lost my self but my advice would be to find a way to upgrade to 2.2.1 and do superoneclick root, then use rom manager. . .
(or "something that just came to mind": Download Terminal Emulator from Android Market.)
(and manually flash a custom recovery. . . If you do have root then "su" should work flawlessly)
(Take a look at my post " http://forum.xda-developers.com/showthread.php?t=1428838 " and download the needed files to flash your recovery)
GeEazy said:
ehhh, I'm kinda lost my self but my advice would be to find a way to upgrade to 2.2.1 and do superoneclick root, then use rom manager.
Click to expand...
Click to collapse
BTW, flashing recovery will only stick if s-off is shown or engineering ROM is installed (s-on in this case is fine). Don't waste your time with superoneclick. It will be more trouble than its worth if your going through different versions.
"I didnt had to do goldcard back then."
I have never had to do a goldcard. Barely even know what it is.
You can flash recovery from any version (again provided the phone has either s-off or an engineering ROM installed):
Download and install es file explorer from marketplace (or anything that can be used to install apps)
Download and install busybox from marketplace
Copy and install Univeral Androot to phone Link -> http://bit.ly/9wAKC5 (taken from Link -> http://forum.xda-developers.com/showthread.php?t=807899 )
Install Universal Androot with es file explorer
RUN UNIVERSAL ANDROOT
It should be SET TO 1.5/1.6 already THEN
touch GO ROOT
Wait till its fully installed THEN
Install busybox by:
RUN BUSYBOX APP
Accept superuser request (If it doesn't appear reboot phone and try again OR busybox install will fail).
(Install of newest busybox version is OK)
INSTALL TO /system/bin is OK
TOUCH the X
TOUCH INSTALL
It should say successful
Download Android Dev kit
http://developer.android.com/sdk/index.html
Download JavaJDK -64bit is fine for 64bit OS
http://www.oracle.com/technetwork/java/javase/downloads/index.html
install JavaJDK THEN
install dev kit
RUN android sdk manager
install google drivers & platform tools. Unselect anything else that might be defaulted as selected.
Enable usb dev mode on phone and attach phone to PC
Run windows command prompt in admin mode
Type "CD C:\Program Files (x86)\Android\android-sdk\platform-tools"
Type "adb devices" (Device check. The phone will show up if everything is properly working OR no device is listed if not. If no device is listed then phone drivers are not working correctly OR phone is not in USB dev mode OR not attached to PC)
[FILES NEEDED:
A. Download cm 4.2.15.1 and extract flash_image from /system/bin/ ||link ->
http://goo.gl/5NPE. (Taken from link ->http://forum.xda-developers.com/showthread.php?t=807899)
B. The recovery you will be using. I recommend Amon RA. Link -> http://forum.xda-developers.com/showthread.php?t=530492 || Download the version you need! (for my t-mobile mytouch 3G 32b I use "recovery-RA-sapphire-v1.7.0G.img. You have a 32a so for you it looks like you need the "recovery-RA-sapphire-v1.7.0H.img" BUT DOUBLE/TRIPLE CHECK THAT. Not my fault if that's the wrong one. ]
rename the recovery-RA-sapphire-*.img to recovery.img
Either copy flash files directly to SDcard OR
place files on hard drive at c:\
Type "adb push c:\flash_image /sdcard/"
Type "adb push c:\recovery.img /sdcard/"
THEN Type (after each line press enter. Example: type adb shell then press enter.)
adb shell
su (if recently rooted then... touch allow on phone)
mount -o remount, rw /system
cp /sdcard/flash_image /system/bin
cd /system/bin
chmod 777 flash_image
flash_image recovery /sdcard/recovery.img
(taken from Link -> http://www.addictivetips.com/mobile/how-to-install-a-custom-recovery-to-an-android-phone-device/)
(May or may not need to CLICK OK TO INSTALL ON PHONE. Or was I seeing things?)
Finally, boot phone into and enjoy the new recovery
If you need to do it again, keep the programs installed and put the files in a directory so you have easy access and know they work. Its MUCH faster the 2nd+ time.
***If you mess up your phone while trying to do any of this, that's NOT my fault.