Post Reply

[GUIDE] Recovering Recovery/Obtaining SKB

OP srbeen

4th July 2012, 10:12 PM   |  #1  
OP Junior Member
Thanks Meter: 29
 
6 posts
Join Date:Joined: Sep 2010
Recently I decided to upgrade to ICS. True ICS, new bootloader and stuff from my quazi-ICS install (HC bootloader, ICS rom)
This sounds easy, however, my recovery was too old!
Being used to using my forgiving Samsung SGS2X, I just flashed a NEW recovery while IN recovery - thus REMOVING recovery. (rather than using the problem-free Acer Recovery Installer via google play like smart people do)

Heres where it begins.

symtoms:
-Boots to ACER logo and stops
-Refuses to read update.zip package from microSD/USB (likely, as the recovery was corrupted!)
-I can enter APX mode however.
I have no recovery, no boot, no ADB mode, no way to read internal flash.

I did do a NANDROID backup, which is immensely important and EVERYONE should have at least ONE of these, due to your UID being recorded. This is where my problem came in. The NANDROID backup was on the internal storage!

So, I have a tablet that has no recovery, won't update.zip install, but WILL get to APX mode. I have NO UID, no SKB, no NANDROID backup. Solution is to send to acer? I think not!

Theres some brilliant people on this forum. One post in particular was golden. http://forum.xda-developers.com/show...75&postcount=9 by eppeP

"If you can get the device into APX mode it will answer the first read request with the UID."

This is 100% true, and he provided a simple source example but little instructions. I hope I can elaborate and make someone elses life easier.

Requirements:
-Ubuntu (I used 12.04 LTS)
-microUSB cable
-powered tablet (can't be dead)
-paper clip, tac, needle - something to hit reset with
-patience

Boot Ubuntu, can be from CD/DVD/USB/network or installed copy
Install GCC, lsusb, libusb-1.0.x, libusb-1.0-dev - you NEED these! (hoping these are the only ones required for fresh installs)
Grab the code eppeP posted and save to a text file as apx.c
fire up terminal, browse to where the apx.c file is ('cd /home/<user>/Desktop/APX' for me)
run the following commands

sudo su
gcc apx.c -o apx -lusb-1.0

You should now have a file called apx on your desktop, that is ready to run.
If you get errors, you are likely missing a package. This should be fairly straight-forward, but refer to google and post the results please!

Next, pop your tablet into APX mode - plug in microUSB, hold the RESET button, and press power for around 4 sec. Windows gave me a 'usb detected' noise but Ubuntu just don't care.

Now run the following commands (assuming same root terminal permissions. If not run sudo su beforehand)

./apx

the terminal window should spit back to you a 15 character UID if everythings correct. 0x123456789ABCDEF (yours should be different combos of those hex values)

Proceed to guard this with your life! (although now you know how to retrieve again provided APX works)

now visit http://vache-android.com/v1/index.php?site=sbk MOD EDIT: Link no longer valid. SBK generator is available in the forums. Just check @dibb_nz profile signature and there's a link to a downloadable version in the guides.
and enter your UID. The website should spit back a series of 4, 8 character keys known as your SKB. Guard that too in case the website ever disappears.

Hard parts over. The tablet will live on now.
Next - choose how to recover!

I used a file called:

V8-UNL-ICS-HC-bootloader-MULTI-cwm.zip 32MB
MD5: 33D6692A997649111995CB690EF73213

I sadly lost the link to this package but im sure if you search google/this forum you will find it.

It uses nvflash. Amazing program. Theres also A500APXflash, based off nvflash. The rest mainly require ADB or USB debugging which you can't set as the tablet won't boot so don't waste your time with proggies like afterota (which won't work if you only have APX) You can also do everything in ubuntu with nvflash and the terminal. just read the commands from the batch, they should be nearly identical commands in either environment.

I booted back to windows, ran the V8.bat file, and followed instructions.
In 30 seconds my iconia was booting recovery again and that ROM I initially tried to install worked perfect!

After it booted, I realized I used 44% of my battery attempting to recover the tablet. This whole process takes maybe 30 minutes first-time through, getting ubuntu packages took the longest. LiveBoot will want to update everything as well, which I never considered, and usually fails (due to live install). Everything should be installed from Terminal if possible if using a live distro. It should be one command-line for the packages, reference exact package names in the package manager maybe.
My nandroid backup was still on the flash though! I knew enough that a 'hard reset' wasn't going to fix anything, so I never erased any userdata ironically, but botched the ROM and recovery.

This is the 100% fool-proof way to get your UID using APX. If its your only method this is your only option.
Last edited by Moscow Desire; 6th September 2014 at 10:41 AM. Reason: title
The Following 29 Users Say Thank You to srbeen For This Useful Post: [ View ]
10th July 2012, 09:03 AM   |  #2  
ikslawlok's Avatar
Senior Member
Flag Lyon
Thanks Meter: 107
 
362 posts
Join Date:Joined: Jan 2012
More
Your method is very useful, thank you!
12th July 2012, 10:36 AM   |  #3  
Member
Thanks Meter: 17
 
91 posts
Join Date:Joined: Feb 2012
It doesn't work correctly for me. It gives me only the last 8 digits of my uid. The rest is filled up with zeroes.

Gesendet von meinem Iconia A501 mit Tapatalk 2
The Following User Says Thank You to VelosCohagen For This Useful Post: [ View ]
12th July 2012, 05:16 PM   |  #4  
Senior Member
Thanks Meter: 62
 
121 posts
Join Date:Joined: Nov 2011
Quote:
Originally Posted by VelosCohagen

It doesn't work correctly for me. It gives me only the last 8 digits of my uid. The rest is filled up with zeroes.

You are probably using a 32bit system, while the others have been using a 64bit system.
Try replacing
Code:
printf("uid: %#016lx\n", *(uint64_t*)data);
with
Code:
    printf("uid: 0x%016llx\n", *(uint64_t*)data);
or
Code:
printf("uid: 0x%08X%08X\n", *((uint32_t*)data+1), *((uint32_t*)data+0));
I would expect either to work.
The Following 8 Users Say Thank You to eppeP For This Useful Post: [ View ]
12th July 2012, 05:33 PM   |  #5  
Member
Thanks Meter: 17
 
91 posts
Join Date:Joined: Feb 2012
Will try it out.

Edit: You were right. Tried it with 64bit opensuse, and it worked.

Gesendet von meinem Iconia A501 mit Tapatalk 2
Last edited by VelosCohagen; 12th July 2012 at 06:19 PM.
17th July 2012, 03:03 PM   |  #6  
dstruct2k's Avatar
Senior Member
Flag Winnipeg
Thanks Meter: 891
 
1,199 posts
Join Date:Joined: Jan 2008
Donate to Me
More
Just curious after seeing this on the front page, but couldn't you just dd a new recovery partition from within Android? (assuming you're rooted)
17th July 2012, 03:52 PM   |  #7  
BCSC's Avatar
Senior Member
Flag New Westminster
Thanks Meter: 143
 
384 posts
Join Date:Joined: Nov 2009
More
I also had lost recovery after flashing from Thor's rom to CM9. In the end after stressing out and not being able to figure anything out, I ran Blackthund3r's "A500 APX Flash Tool". After running this, I had re instated recovery and was free to launch the Jelly Bean AOSP You will need some knowledge in findiing ANDROIDSERIALNO, but not too hard if you google it.
28th July 2012, 10:52 AM   |  #8  
Junior Member
Thanks Meter: 0
 
2 posts
Join Date:Joined: Jul 2012
Recovery failed
Hi, thank you for your post, I apply your solution, i have my cpuid, skb but when i use V8.bat I see "rcm version 0x4 command send failed (usb write failed)" anyone can help me?
28th July 2012, 11:02 AM   |  #9  
Member
Thanks Meter: 17
 
91 posts
Join Date:Joined: Feb 2012
"Usb write failed" message appears when your cpuid is wrong. How many digits has your cpuid?

Gesendet von meinem Iconia A501 mit Tapatalk 2
28th July 2012, 11:11 AM   |  #10  
Junior Member
Thanks Meter: 0
 
2 posts
Join Date:Joined: Jul 2012
Quote:
Originally Posted by VelosCohagen

"Usb write failed" message appears when your cpuid is wrong. How many digits has your cpuid?

Gesendet von meinem Iconia A501 mit Tapatalk 2

I've got 16 digits (0x000000XXXXXXXX) got with ubuntu

My problem was resolved with "printf("uid: 0x%08X%08X\n", *((uint32_t*)data+1), *((uint32_t*)data+0));"
Last edited by yodanov; 28th July 2012 at 11:27 AM.

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes