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/showpost.php?p=23783875&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.
Your method is very useful, thank you!
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
VelosCohagen said:
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.
Click to expand...
Click to collapse
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.
Will try it out.
Edit: You were right. Tried it with 64bit opensuse, and it worked.
Gesendet von meinem Iconia A501 mit Tapatalk 2
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)
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.
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?
"Usb write failed" message appears when your cpuid is wrong. How many digits has your cpuid?
Gesendet von meinem Iconia A501 mit Tapatalk 2
VelosCohagen said:
"Usb write failed" message appears when your cpuid is wrong. How many digits has your cpuid?
Gesendet von meinem Iconia A501 mit Tapatalk 2
Click to expand...
Click to collapse
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));"
The zeros are wrong. Did you use a32bit version of linux? You must use a 64bit one.
Gesendet von meinem Iconia A501 mit Tapatalk 2
VelosCohagen said:
The zeros are wrong. Did you use a32bit version of linux? You must use a 64bit one.
Click to expand...
Click to collapse
32bit should be fine as long as you replace the printout.
Vache's website offline - how do we get get the SBK??
http://vache-android.com/v1/index.php?site=sbk
Horrors, bricked and now this site is offline, does anybody know another way to generate the SBK?
Seriously, what genius decided the only way to flash your tablet was via a magic number you have to get off a website?
Found a really roundabout way to get it without needing his website:
http://forum.xda-developers.com/showpost.php?p=29602543&postcount=3
[OTA TOOL] [A50X/G100W] Afterota v1.09 won't work unless you have a Honeycomb OTA ROM
davr said:
Found a really roundabout way to get it without needing his website:
http://forum.xda-developers.com/showpost.php?p=29602543&postcount=3
Click to expand...
Click to collapse
My bootloader is wiped which is why I need the SBK.
[OTA TOOL] [A50X/G100W] Afterota v1.09 won't work unless you have a Honeycomb OTA ROM
http://forum.xda-developers.com/showthread.php?t=1675939
when i try to get to where the file is on my desktop in terminal it does nothing else i just get this symbol > and if i keep typing the next steps it does nothing but give me the same symbol again i don't know where i went wrong
help please
sanjayayogi said:
does anybody know another way to generate the SBK?
Click to expand...
Click to collapse
Yes, the algorithm it is quite simple and can without to much trouble be reversed out of known UID/SBK pair.
A short description http://projects.pappkartong.se/a500/#generatesbk.
davr said:
Seriously, what genius decided the only way to flash your tablet was via a magic number you have to get off a website?
Click to expand...
Click to collapse
Acer, except for the part where you can actually get it which was most likely not part of the plan.
TechiiGirl said:
when i try to get to where the file is on my desktop in terminal it does nothing else i just get this symbol > and if i keep typing the next steps it does nothing but give me the same symbol again i don't know where i went wrong
help please
Click to expand...
Click to collapse
You will have to be much more specific if you want help.
Describe exactly what did you did and the results, step by step.
eppeP said:
Yes, the algorithm it is quite simple and can without to much trouble be reversed out of known UID/SBK pair.
A short description http://projects.pappkartong.se/a500/#generatesbk.
Acer, except for the part where you can actually get it which was most likely not part of the plan.
You will have to be much more specific if you want help.
Describe exactly what did you did and the results, step by step.
Click to expand...
Click to collapse
0x0288424341e173d7
0x
0288
4243
41e1
73d7
0288
4243
41e1
73d7
FROM THIS LINK: HOW TO CREATE THE SECURE BOOT KEY (SBK) from the UID
http://projects.pappkartong.se/a500/
Generating the SBK
To generate the SBK from the UID (assuming UID is a hexadecimal string)
1. Discard any leading 0x in the UID
2. Split the UID into four 4 character strings
3. For each part, take the ascii values and multiply with 100 raised to the position.
e.g. "89AB" => 56*100**3 + 57*100**2 + 65*100**2 + 66*100**0 = 56576566.
4. xor
5. If using a little-endian architecture, swap the byte order
6. Print the key
============================================
UID:
0x0288424341e173d7
============================================
STEP 1. Remove 0x
0288424341e173d7
============================================
============================================
STEP 2. Split the UID into four 4 character strings
0288
4243
41e1
73d7
============================================
============================================
============================================
STEP 3 - For each part, take the ascii values and multiply with 100 raised to the position.
FIRST SET
Text Converted 0288
http://www.whatasciicode.com/?cmd=submit
Dec
48
50
56
56
============================================
https://www.google.com/search?q=48*100^3&sugexp=chrome,mod=4&sourceid=chrome&ie=UTF-8
0 => 48*100^3 = 48000000
============================================
https://www.google.com/webhp?source...f.&fp=6c7790a71c61b51c&biw=1274&bih=604&ion=1
2 => 50*100^2 = 500000
============================================
https://www.google.com/webhp?source...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=604
8 => 56*100^1 = 5600
============================================
https://www.google.com/webhp?source...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=604
8 => 56*100^0 = 56
============================================
FIRST SET: SUM the PARTS
https://www.google.com/search?q=480...cp.r_qf.&fp=917465cf75d369c2&biw=1274&bih=604
48000000 + 500000 + 5600 + 56 = 48505605
RESULT:
0288 => 48505605
ASCII TO HEX
http://www.dolcevie.com/js/converter.html
34:38:35:30:35:36:30:35
============================================
============================================
SECOND SET
Text Converted 4243
Dec
52
50
52
51
http://www.whatasciicode.com/?cmd=submit
============================================
http://www.google.com/webhp#hl=en&g...pw.r_qf.&fp=6c7790a71c61b51c&biw=1274&bih=648
52 => 52*100^3 = 52000000
============================================
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
50 = 50*100^2 = 500000
============================================
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
52 => 52*100^1 = 5200
============================================
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
51 => 51*100^0 = 51
============================================
SECOND SET: SUM the PARTS
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
52000000 + 500000 + 5200 + 51 = 52505251
4243 => 52505251
ASCII => HEX
http://www.dolcevie.com/js/converter.html
35:32:35:30:35:32:35:31
============================================
============================================
============================================
THIRD SET
Text Converted 41e1
http://www.whatasciicode.com/?cmd=submit
Dec
52
49
101
49
============================================
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
52 => 52*100^3 = 52000000
============================================
http://www.google.com/webhp?sourcei...f.&fp=6c7790a71c61b51c&biw=1274&bih=648&ion=1
49 => 49*100^2 = 490000
============================================
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
101 => 101*100^1 = 10100
============================================
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
49 => 49*100^0 = 49
============================================
THIRD SET: SUM the PARTS
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
52000000 + 490000 + 10100 + 49 = 52500149
ASCII => HEX
http://www.dolcevie.com/js/converter.html
35:32:35:30:30:31:34:39
============================================
============================================
============================================
============================================
FOURTH SET
Text Converted 73d7
http://www.whatasciicode.com/?cmd=submit
Dec
55
51
100
55
============================================
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
55 => 55*100^3 = 55000000
============================================
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
51 => 51*100^2 = 510000
============================================
http://www.google.com/webhp?sourcei...f.&fp=6c7790a71c61b51c&biw=1274&bih=648&ion=1
100 => 100*100^1 = 10000
============================================
http://www.google.com/webhp?sourcei...f.&fp=6c7790a71c61b51c&biw=1274&bih=648&ion=1
55 => 55*100^0 = 55
============================================
FOURTH SET: SUM the PARTS
http://www.google.com/webhp?sourcei...&bav=on.2,or.r_gc.r_pw.r_qf.&biw=1274&bih=648
55000000 + 510000 + 10000 + 55 = 55520055
ASCII => HEX
35:35:35:32:30:30:35:35
============================================
============================================
============================================
============================================
ASCII => HEX
http://www.dolcevie.com/js/converter.html
ALSO THIS SEEMS TO WORK (I am on MAC OSX 10.7):
echo "48505605" | od -t x1
0000000 34 38 35 30 35 36 30 35 0a
0000011
echo "52505251" | od -t x1
0000000 35 32 35 30 35 32 35 31 0a
0000011
halcasteel$ echo "52500149" | od -t x1
0000000 35 32 35 30 30 31 34 39 0a
0000011
echo "55520055" | od -t x1
0000000 35 35 35 32 30 30 35 35 0a
0000011
48505605 => 34:38:35:30:35:36:30:35
52505251 => 35:32:35:30:35:32:35:31
52500149 => 35:32:35:30:30:31:34:39
55520055 => 35:35:35:32:30:30:35:35
Sorry this is so verbose, but I wanted to show all of my steps.
THIS IS WHERE I AM STUCK, any ideas?
sanjayayogi said:
THIS IS WHERE I AM STUCK, any ideas?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1810618 Has everything that you need.
And a HUGE thanks to srbeen for putting the guide up for us. My nephew forgot his lock code and the tablet is pure stock. Never ADB'd it or CWM'd and backup... So, as you can imagine, I'm very happy to have the sbk.
Im using a webview to display a website.
The page iam opening using loadurl method is the login page, on successful login redirection occurs to a particular page .
I want to skip that page i.e dont want to show that page rather show the webpage after that
eg If my webview starts with webpage A
on login success it shows webpage B
and then next page is webpage C
i want after Login success in page A it should go automatically to webpage C
Click to expand...
Click to collapse
current code im using
Code:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().trim().equals("https://www.test.com")) {
web.loadUrl("https://www.test1.com");
}
return false;
}
so any tips/pointers as to how i do this? thanks
Maybe you load the webview in a background task without updating the ui and then execute the test method you mentioned above and only update the webview ui once you determined whether you must override the url. Not sure if that is possible but maybe it is
---------------------------------
Phone : Nexus 4
OS:
Pure KitKat 4.4.2 stock, no root, no mods
---------------------------------
4d 61 73 72 65 70 75 73 20 66 74 77
Gesendet von Tapatalk
Hi
Firstly I apologise if I have put this into the wrong section within the forum.
I'm wanting to remove the secondary icon from a notification within a particular app. Also on some apps like WhatsApp it will also show a notification count (next to the secondary icon) Please see below link which gives an example.
//developer.android.com/design/patterns/notifications_k.html
Which line of code do I need to find and remove so the secondary icon and notification count no longer appears?
Thanks.
There will be called NotificationBuilder at some instance and there look for a method call to setSmallIcon(...)
---------------------------------
Phone : Nexus 4
OS :
- KitKat 4.4.4 stock
- Xposed: 58(app_process); 54(bridge)
- SU: SuperSU
- no custom recovery
---------------------------------
4d 61 73 72 65 70 75 73 20 66 74 77
Gesendet von Tapatalk
When searching through the code I found a few lines looking like this;
invoke-virtual {v1, v2, v3}, Landroid/app/Notification$Builder;->setSmallIcon(II)Landroid/app/Notification$Builder;
When I removed each line then the application crashed prior to the notification being displayed in the status bar. Meaning no notification was shown, however I was still able to open the app.
What would I need to change in this line to prevent the secondary icon from displaying?
Thanks.
Hello all
i'm trying to make a button that connects to an ftp server and download a bunch of files
i have everything figured out , but i'm wondering how to execute it , should i use asynctask ?
i want to also update progress and such ...
the files will be around 60MB so i don't know how long it will take , a few minutes i guess depends on the connection .
is there a more suitable answer than asynctask ?
thanks to all helpers !
I think asynctask would be a nice solution, progress updating is included as well (publishProgress(int progress) and then by overriding onProgressUpdate(...) you can access ui elements)
---------------------------------
Phone : Nexus 4
OS :
- KitKat 4.4.4 stock
- Xposed: 58(app_process); 54(bridge)
- SU: SuperSU
- no custom recovery
---------------------------------
4d 61 73 72 65 70 75 73 20 66 74 77
Gesendet von Tapatalk
So I created an app long ago, and back then to read from a SQLite DB was to use a managed cursor with startManagingCursor().
Now, that is not only depreciated, but also not available in fragments. They say use a Loader, which requires CursorLoader, which apparently generally requires a ContentProvider. But if you look in the Content Provider documentation, it says "You don't need a provider to use an SQLite database if the use is entirely within your own application."
So, I can't use a managed cursor, but then I also shouldn't use a ContentProvider. I don't need to share this data with any other apps. This is a small app, with small databases, only for my app. Do I need to write my own Loader? It seems crazy that managing data in a database has become complex for some pretty basic data storing/managing.
Am I missing something? Is there a better way to get data from an SQLite database on Android? What does everyone else do?
http://www.vogella.com/tutorials/AndroidSQLite/article.html
---------------------------------
Phone : Nexus 4
OS :
- KitKat 4.4.4 stock
- Xposed: 58(app_process); 54(bridge)
- SU: SuperSU
- no custom recovery
---------------------------------
4d 61 73 72 65 70 75 73 20 66 74 77
Gesendet von Tapatalk