November 8, 2012

Acer Iconia A501 Tablet Upgrade From Telstra Firmware to Android 4.0 ICS

Filed under: Technical — Tags: , , — James Bunton @ 8:21 pm

I bought the Acer Iconia A501 on special from Telstra for $200 a while back. It’s a good tablet and that was a great price for it, however I’ve been annoyed that Telstra hasn’t bothered to release the Android 4.0 Ice Cream Sandwich update that Acer released for unbranded devices. Acer blames Telstra for not releasing it and Telstra blames Acer for not making it available. Bleh.

Fortunately it was not too hard to unbrand the device and upgrade all the way to Android 4.0.3 and presumably 4.1 when Acer finishes that update too.

Requirements

  • Acer Iconia Tablet A501 (may work with other models but I haven’t tried)
  • PC to download the updates
  • MicroSD card to transfer the updates to the tablet

Obtaining the Update File

The update files come named like Acer_A501_1.2.3_9.9.9_EMEA_CUS7_1313721527367_dc802d69.zip. This update would be a patch for the A501 model for the EMEA region, running version 1.2.3. It would bring you up to version 9.9.9. Most Acer updates seem to be distributed as patches like this. It decreases the download size necessary but means that you cannot just install one of these updates on your tablet unless you were running the exact version and region for which the patch was written. Also it’s worth noting that version 4.0 of the Acer firmware is actually Android 3.2, these version numbers do not correlate at all.

Fortunately Acer does have full version downloads of Android 3.2 available! I got them using curl on my Linux PC. First you’ll need to download checkin.txt. This lets us pretend to be running an old enough version that Acer gives us the full update instead of a patch. The magic file is bolded below:

$ curl -i -H "Content-Type: application/json" -X POST -d "@checkin.txt" http://checkin.acer.futuredial.com/fotacheckin/rest/checkin
HTTP/1.1 200 OK
Date: Thu, 08 Nov 2012 10:02:36 GMT
Transfer-Encoding: chunked
Accept-Ranges: bytes
Server: Noelios-Restlet-Engine/1.1.6
Content-Length: 1004
Content-Type: application/json; charset=UTF-8
X-Powered-By: Servlet/2.5 JSP/2.1

{"logging_id":"0000000000000000000000000000000000000000", "time_msec":"1352368956277", "stats_ok":true, "group":"public", "rule_id":"1725", "package_format":"DOUBLE", "topic":null, "digest":"9ba31cba5bcd3d7d6a37c5e401be64d", "intent":[{"extra":[{"name":"promptMessage", "value":"-"}, {"name":"promptFeature", "value":"-"}, {"name":"promptVersion", "value":"acer_a501_4.031.04_emea_cus7"}, {"name":"promptSize", "value":"355.34 MB"}, {"name":"promptMinutes", "value":"30,..."}, {"name":"timeoutSeconds", "value":"120"}, {"name":"rawsize", "value":"null"}, {"name":"zipsize", "value":"null"}, {"name":"mcc_mnc_profile", "value":"1"}, {"name":"mcc_mnc_limit", "value":"0"}], "action":"android.server.checkin.FOTA_UPDATE", "data_uri":"http://cdn.a1.futuredial.com/Acer_A501_0.000.00_4.031.04_EMEA_CUS7_1315980517522_24980aa3.zip"}], "setting":[{"name":"upload_crash", "value":"http://122.248.251.200/crash block"}, {"name":"checkin_interval", "value":"43200"}, {"name":"upload_event", "value":"false"}, {"name":"update_stats","value":"false"}]}

‘Decrypting’ the Update File

You’ll find that you cannot open it as Acer obfuscates these files by XORing each byte with 0x12. I’ve written xor.c to fix this.

$ gcc -Wall -Wextra -std=c99 -o xor xor.c
$ ./xor Acer_A501_0.000.00_4.031.04_EMEA_CUS7_1315980517522_24980aa3.zip Acer_A501_0.000.00_4.031.04_EMEA_CUS7_1315980517522_24980aa3_decrypted.zip
$ unzip Acer_A501_0.000.00_4.031.04_EMEA_CUS7_1315980517522_24980aa3_decrypted.zip

Copy the update.zip you got from the previous step onto your MicroSD card and put it into your table. Next shut down the tablet. Now when you turn it back on hold the volume down key (side closest to the power button) at the same time as the power button. The tablet should start installing the update. Once this is done you should be able to use the builtin updater to go all the way to ICS.

Manually Downloading the ICS Update

If you so wish it’s easy to repeat the previous steps so you get multiple update.zip files. Simply modify the firmware_version field in checkin.txt and run through the steps again. Here were the successive versions I used and the update files I obtained:

  • Acer_A501_4.017.03_EMEA_CUS7 -> Acer_A501_0.000.00_4.031.04_EMEA_CUS7_1315980517522_24980aa3.zip
  • Acer_A501_4.031.04_EMEA_CUS7 -> Acer_A501_4.031.04_4.066.04_EMEA_CUS7_1324005431750_cadedfb2.zip
  • Acer_A501_4.066.04_EMEA_CUS7 -> Acer_A501_4.066.04_4.066.05_EMEA_CUS7_1324005364360_cd119914.zip
  • Acer_A501_4.066.05_EMEA_CUS7 -> Acer_A501_4.066.05_041.220.05_EMEA_CUS7_1343276448238_2c529a7e.zip

That last version 041.220.05 strangely enough is Android 4.0.3 ICS.

Now lets hope Acer releases Android 4.1 sometime soon! :)

21 comments

Zed says:

Thanks for that, mate. I have also purchased the A501 from Telstra and I have been looking for a way to do this for a while. You seem to have found the solution, but I am not knowledgable enogh to carry out your instructions without some step by step guidance. You mentioned Linux, and then there is some c file there (do I need to compile it?)…
Would you please be so kind as to explain which files to download (and from where), and what exactly to do with them? Many thanks.
Regards,
Zed

delx says:

Yes, you’d need to compile xor.c using the command I provided above in order to decrypt the zip file you downloaded from the previous step. These instructions should work fine on any computer with the command line gcc and curl tools installed.

Zed says:

Thanks again. I have downloaded curl, and ran:

C:\Acer Iconia\curl -i -H “Content-Type: application/json” -X POST -d ‘@checkin.txt’ http://checkin.acer.futuredial.com/fotacheckin/rest/checkin

And this is the output that I got:

C:\Acer Iconia\curl -i -H “Content-Type: application/json” -X POST -d ‘@checkin
.txt’ http://checkin.acer.futuredial.com/fotacheckin/rest/checkin
HTTP/1.1 400 Bad Request
Date: Fri, 23 Nov 2012 08:29:10 GMT
Transfer-Encoding: chunked
Accept-Ranges: bytes
Server: Noelios-Restlet-Engine/1.1.6
Content-Length: 13
Content-Type: text/plain; charset=ISO-8859-1
X-Powered-By: Servlet/2.5 JSP/2.1

Any ideas?
Thanks and regards,
Zed

delx says:

Try again with double quotes around @checkin.txt. The Windows command line treats single quotes literally.

Zed says:

Thanks, it is a step further, but it still reports an error – please refer below.

C:\Acer Iconia\curl-7.28.1-rtmp-ssh2-ssl-sspi-zlib-winidn
-static-bin-w64>curl -i -H “Content-Type: application/json” -X POST -d “@checkin
.txt” http://checkin.acer.futuredial.com/fotacheckin/rest/checkin
curl: (6) Could not resolve host: application; Host not found
HTTP/1.1 200 OK
Date: Fri, 23 Nov 2012 23:08:33 GMT
Transfer-Encoding: chunked
Accept-Ranges: bytes
Server: Noelios-Restlet-Engine/1.1.6
Content-Length: 1004
Content-Type: application/json; charset=UTF-8
X-Powered-By: Servlet/2.5 JSP/2.1

{“logging_id”:”0000000000000000000000000000000000000000″,”time_msec”:”1353712114
395″,”stats_ok”:true,”group”:”public”,”rule_id”:”1725″,”package_format”:”DOUBLE”
,”topic”:null,”digest”:”9ba31cba5bcd3d7d6a37c5e401be64d”,”intent”:[{“extra”:[{“n
ame”:”promptMessage”,”value”:”-“},{“name”:”promptFeature”,”value”:”-“},{“name”:”
promptVersion”,”value”:”acer_a501_4.031.04_emea_cus7″},{“name”:”promptSize”,”val
ue”:”355.34 MB”},{“name”:”promptMinutes”,”value”:”30,…”},{“name”:”timeoutSecon
ds”,”value”:”120″},{“name”:”rawsize”,”value”:”null”},{“name”:”zipsize”,”value”:”
null”},{“name”:”mcc_mnc_profile”,”value”:”1″},{“name”:”mcc_mnc_limit”,”value”:”0
“}],”action”:”android.server.checkin.FOTA_UPDATE”,”data_uri”:”http://cdn.a1.futu
redial.com/Acer_A501_0.000.00_4.031.04_EMEA_CUS7_1315980517522_24980aa3.zip”}],”
setting”:[{“name”:”upload_crash”,”value”:”http://122.248.251.200/crash block”},{
“name”:”checkin_interval”,”value”:”43200″},{“name”:”upload_event”,”value”:”false
“},{“name”:”update_stats”,”value”:”false”}]}
C:\Users\Zlatko\Downloads\Acer Iconia\curl-7.28.1-rtmp-ssh2-ssl-sspi-zlib-winidn
-static-bin-w64>

delx says:

The URL is right there in the response, go download that and follow the next steps with xor to ‘decrypt’ it.

robert says:

dear Delx,

may I use the “Acer_A501_4.066.05_EMEA_CUS7 -> Acer_A501_4.066.05_041.220.05_EMEA_CUS7_1343276448238_2c529a7e.zip” to update ICS version directly?

thanks!

BR
Robert

delx says:

No, see the “Obtaining the update file” section of the blog post where I described what the version number means.

robert says:

Dear delx,

thanks and have upgraded to ics as your description.

BR

Robert

Nathan says:

Hey all i just had the biggest fight with both telstra and Acer over this and i am getting Acer to remove all software and also upgrade my tablet for free as i had spend just over 3.5 hours on the phone and instore to get this done. But acer i beleive can do this for free and wipe all information to do with telstra on the device.

claudiu says:

Hi, I can’t get the update from the specified server. Do you have it by any chance and can you share it? Thank you

claudiu says:

pls ignore my previous post .. i’ve manage to upgrade it to ics – i was having windows and took some time to figure out how to do it.
thank you again

HarryK says:

Thank you for the informative post. I am located in Canada and also would like to update my A501 (Rogers branded) to generic ICS. My question is whether ROM specific “checkin.txt” is located somewhere on the tablet or I need to use the version from this post? When I replaced “Acer_A501_4.017.03_EMEA_CUS7” with my ROM name in the file from this post curl didn’t return any zip file name.

Thank you again.

delx says:

Hi @HarryK. You should just use the checkin.txt that I attached to this post. It will give you a link to an obfuscated zip file which (after you unxor it using my instructions) will debrand your device and revert it to an older Android version. You’ll then have to go through the updates to get to Android 4.0.

Chris says:

OK, Iam a retard. I cannot do anything with the xor.c. I have downloaded Code Blocks and tried to use that compiler with no results. I have downloaded the 4 files from Acer like you have listed but I cannot figure out how to continue from there. Any help would be appreciated. I need to install PDFmap beta but need 4.0 to do it. Thank you in advance…

delx says:

If you’re using Microsoft Windows you could try the MinGW (http://www.mingw.org) compiler. Once you’ve compiled it you just run it with the first parameter being the file you downloaded, and the second parameter being the output file. For example:
xor input.zip output.zip

Chris says:

Ok, Just figured it out. I cannot believe it was that easy. Thank you for being patient with me. These were the first files I have compiled and used.

Peter says:

Finally i,ve found something that works excellent for my iconia A501 without doing lot of mess, Thanks absolutely you are great!!!!

Vik says:

Hi delx,
I’d just follow your steps to get the zip file from Acer to debrand my Telstra a501 but the http links seem not exist anymore. Do you have any idea where can I get this file now ? Would love to be able to upgrade ics. Thanks in advanced.

James Bunton says:

Hi @Vik,

Sorry I have no idea how to get the files anymore. I didn’t keep any copies. It seems that Acer has completely shut down the update servers for this tablet. You may have luck searching for the filenames on google or forums, but there’s no official way to get these images anymore.

vik says:

Thank you, you’re a great help. I’ll try the forums.

Comments are closed.