Showing posts with label Acer Iconia. Show all posts
Showing posts with label Acer Iconia. Show all posts

Monday, October 10, 2011

Acer Iconia A100 - Mount microSD card from Linux Mint 10 & 11

It doesn't seem AcerSync has anything to do with Linux. If you need to manage directories and files of both internal storage (/mnt/sdcard) and SD card (i.e. /mnt/external_sd) in your A100 from Linux Mint (or other Unbuntu respin), you can try the following:


Install mtpfs & mtp-tools
vpcp115kg ~ # apt-get install mtpfs mtp-tools
vpcp115kg ~ # mkdir /media/a100
vpcp115kg ~ # chmod 775 /media/a100



Mount the storage
Connect A100 to your computer with an USB cable, then
vpcp115kg ~ # date; mtpfs -o allow_other /media/a100; date
Sun Oct 10 20:22:29 HKT 2011
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option
Sun Oct 10 20:22:51 HKT 2011
vpcp115kg ~ # ls /media/a100
ビデオ             data       JustReader  Music          pulse           tmp
ビデオ             DCIM       Kobo        myalbum        Ringtones       wwwjdic
Alarms             Download   LOST.DIR    Notifications  SpeedSoftware   漫画
Android            dropbox    lost+found  Pictures       su              音楽
apkinstaller.temp  Evernote   Mikulu      Playlists      Summer Player
astrid             extracted  Movies      Podcasts       TitaniumBackup
vpcp115kg ~ #
 

Certainly you just need to enter the command mtpfs -o allow_other /media/a100
It takes about 30 seconds to mount the storage. You can now manipulate your files from Linux. Just like how you deal with other external media, same rule applies, unmount it before disconnect the USB cable.


Same file / directory name
As both internal storage and SD card are treated as a single transactional file system, directories and files from both locations are combined into a single mount point through mtpfs. If there is a folder called /xyz in both locations, the one from internal storage has preference over SD card. It is kind of odd but I can see the advantage of mtpfs over traditional block device: concurrent access is possible from the mount point and from the tablet.







Friday, September 23, 2011

Acer Iconia A100 - Recovery

As of this writing there is no any official ROM available for Acer Iconia A100. In case you turned it into a brick like I did, you can try the following to recover it.

Update (2011-10-19): There are few official ROMs posted in XDA. I have tried to recovery my A100 (Build version Acer_A100_1.014.08_COM_GEN1) without issue. Recommend to use this ROM instead.



Bare-bones Restore

ROM "Acer_A100_1.022.02_AAP_CUS4"
You can download it from this link (click "联通下载" or "电信下载"), the source is this URL.


This is a Chinese ROM and includes other locales, the majority of packages are version 3.2-1313484170. Please note this ROM does not include common Google packages (Market, MyApps, etc).

Extract the rar file and save the update.zip into the root of a microSD. Use the microSD to recover A100 (hold the volume up key and turn on the tablet, release the volume up key once it starts recovering).

Once it finishes, the tablet should come back to life, at least! Next, do a Tablet erase to have a clean start and establish WiFi connection.



Google Apps Pre-requisite 

System Dump
Download it from this link, the source is this URL.

Most of the packages are version 3.2-150265. Unzip it, we need the app folder, save the app folder to your preferred location in your PC (e.g. /a100/app)


Android SDK
Follow the instructions from android.com.
You need it to install packages. To make life a bit easier, append the following line to the $PATH environment variable in /root/.profile, if you use Linux:
PATH=$PATH:/opt/android-sdk-linux_x86/platform-tools/


Root
You already know how to do it, otherwise you wouldn't ruin your A100. Just follow this thread, then install Superuser and Root Explorer afterward.


Titanium Backup
Install Titanium Backup and take full backup of existing apps.



Packages Comparison

3.2-1313484170 (Acer_A100_1.022.02_AAP_CUS4) 3.2-150265 (System Dump - /app)
AcerAbout.apk AcerAbout.apk
AcerClockWidget.apk AcerClockWidget.apk
AcerDLNA.apk AcerDLNA.apk
AcerNetworkLocation.apk
AcerNidus.apk AcerNidus.apk
AcerOneTimeInit.apk AcerOneTimeInit.apk
AcerRegistration.apk AcerRegistration.apk
AcerSync.apk AcerSync.apk
AcerSyncHelper.apk AcerSyncHelper.apk
AdobeFlashPlayer.apk AdobeFlashPlayer.apk
AgendaWidget.apk AgendaWidget.apk
ApInAp.apk ApInAp.apk
ApplicationsProvider.apk ApplicationsProvider.apk
Aupeo.apk Aupeo.apk
Bluetooth.apk Bluetooth.apk

BooksTablet.apk
Browser.apk Browser.apk
Calculator.apk Calculator.apk

CalendarGoogle.apk
Calendar.apk
CalendarProvider.apk CalendarProvider.apk
Camera.apk Camera.apk
CertInstaller.apk CertInstaller.apk

ChromeBookmarksSyncAdapter.apk
Clearfi.apk Clearfi.apk
Contacts.apk Contacts.apk
ContactsProvider.apk ContactsProvider.apk
DTG.apk
DefaultContainerService.apk DefaultContainerService.apk
DeskClock.apk DeskClock.apk
DigitalClockWidget.apk DigitalClockWidget.apk
DownloadProvider.apk DownloadProvider.apk
DownloadProviderUi.apk DownloadProviderUi.apk
DrmProvider.apk DrmProvider.apk

DTG.apk
Email.apk Email.apk
Exchange.apk Exchange.apk
FDUpdater.apk FDUpdater.apk

Finsky.apk
FWupdateService.apk FWupdateService.apk
Gallery3D.apk

GalleryNew3DGoogle.apk


GameLoftStore.apk

Gmail.apk

GoogleBackupTransport.apk

GoogleCalendarSyncAdapter.apk

GoogleContactsSyncAdapter.apk

GoogleFeedback.apk

GoogleLoginService.apk

GooglePartnerSetup.apk

GoogleQuickSearchBox.apk

GoogleServicesFramework.apk
HTMLViewer.apk HTMLViewer.apk
LatinIME.apk

LatinImeGoogle.apk
Launcher2.apk Launcher2.apk

LinkToFacebook.apk
LiveWallpapersPicker.apk LiveWallpapersPicker.apk
LumiRead.apk
MagicSmokeWallpapers.apk MagicSmokeWallpapers.apk

Maps.apk

MarketUpdater.apk
MediaProvider.apk MediaProvider.apk

MediaUploader.apk
Music.apk

Music2.apk

MusicA.apk

MyLocationWidget.apk
nemoPlayer.apk nemoPlayer.apk

NetworkLocation.apk

OneTimeInitializer.apk
PackageInstaller.apk PackageInstaller.apk
Phone.apk Phone.apk
PicoTts.apk PicoTts.apk

Planner.apk
Provision.apk
QuickSearchBox.apk
Settings.apk Settings.apk
SettingsProvider.apk SettingsProvider.apk

SetupWizard.apk

SocialJogger.apk
Solitaire.apk Solitaire.apk
SoundRecorder.apk SoundRecorder.apk

Street.apk
SystemUI.apk SystemUI.apk

Talk.apk

TegraZone.apk
TelephonyProvider.apk TelephonyProvider.apk
TtsService.apk TtsService.apk
UserDictionaryProvider.apk UserDictionaryProvider.apk
VG_baidumobile.apk
VG_baidusearch.apk
VG_droidreader.apk
VG_gomarket.apk
VG_mapbar.apk
VG_mochi.apk
VG_qiyi.apk
VG_qq.apk
VG_qqlord.apk
VG_renren.apk
VG_sinanews.apk
VG_sinaweibo.apk
VG_sohu.apk
VG_straightflush.apk
VG_tudou.apk

Vending.apk

VideoEditorGoogle.apk

Videos.apk
VisualizationWallpapers.apk VisualizationWallpapers.apk
VoiceRecorder.apk VoiceRecorder.apk

VoiceSearch.apk

WeatherWidget.apk

xt9.apk

YouTubeTablet.apk

Package (Pink) - Packages removed
Package (Light Blue) - Packages installed
Package (Red) - Not able to install (incompatible?)


Cleaning Up
Before I started adding any packages, I did a clean up of bloatware and packages that I don't need through Titanium Backup. Refer to the left column of the table above (Packages in pink colour). Up to this point your A100 should be in a pretty good state (i.e. no any pop-up application errors).


Install Google Apps

Connect A100
Connect A100 to your computer with an USB cable. Make sure the settings below (Setting > Applications):
- USB debugging is enabled
- Unknown sources is allowed

From the SDK, confirm if it can communicate with your A100:
vpcp115kg ~ # adb kill-server
vpcp115kg ~ # adb start-server
vpcp115kg ~ # adb devices
List of devices attached
37c61xxxxxxxxxx device


RW /system

From the SDK, remount the A100 /system into rw mode:
vpcp115kg ~ # adb remount
remount failed: Operation not permitted

If it failed, try the following commands:
vpcp115kg ~ # adb shell
$ su -
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system/app
# exit
$ exit
vpcp115kg ~ #


Google Services

From the SDK, install the following apk:
vpcp115kg ~ # cd /a100/app

Install GoogleLoginService:
vpcp115kg ~ # adb install GoogleLoginService.apk

vpcp115kg ~ # adb push GoogleLoginService.apk /system/app
Install GoogleServicesFramework:
vpcp115kg ~ # adb install GoogleServicesFramework.apk
vpcp115kg ~ # adb push GoogleServicesFramework.apk /system/app
vpcp115kg ~ # adb reboot

Once rebooted, the Google Account option should be available under Settings > Account & sync > + Add account
Add your Google account and confirm the connection succeeds before continue.


Install GoogleCalendarSyncAdapter:
vpcp115kg ~ # adb install GoogleCalendarSyncAdapter.apk
vpcp115kg ~ # adb push GoogleCalendarSyncAdapter.apk /system/app
Install GoogleContactsSyncAdapter:
vpcp115kg ~ # adb install GoogleContactsSyncAdapter.apk
vpcp115kg ~ # adb push GoogleContactsSyncAdapter.apk /system/app
Install Gmail:
vpcp115kg ~ # adb install Gmail.apk
vpcp115kg ~ # adb push Gmail.apk /system/app

The options of Sync Calendar, Sync Contact and Sync Gmail should appear under Settings > Account & sync. Test the synchronisation before continue.
 
Install GoogleQuickSearchBox:
vpcp115kg ~ # adb install GoogleQuickSearchBox.apk
vpcp115kg ~ # adb push GoogleQuickSearchBox.apk /system/app
Install MarketUpdater:
vpcp115kg ~ # adb install MarketUpdater.apk
vpcp115kg ~ # adb push MarketUpdater.apk /system/app
Install Finsky (Market):
vpcp115kg ~ # adb install Finsky.apk
vpcp115kg ~ # adb push Finsky.apk /system/app
Install Vending:
vpcp115kg ~ # adb install Vending.apk
vpcp115kg ~ # adb push Vending.apk /system/app
Install YouTubeTablet:
vpcp115kg ~ # adb install YouTubeTablet.apk
Install Maps:
vpcp115kg ~ # adb install Maps.apk
Install Talk:
vpcp115kg ~ # adb install Talks.apk
Install Street:
vpcp115kg ~ # adb install Street.apk


Your tablet should now back to fully functional.