[DEV][AOSP] ICS sources and build instruction for A501

Search This thread

Moscow Desire

Retired Senior Moderator
Install was good. No issues.

Wifi good
Audio good
Market good
3g. Sees the networks, but no data connection.

Will put SU and BB tomorrow.

Just first looks between dealing with new baby.

EDIT: Took 8 minutes after turning off Wifi, and searching for known network, before locking in.
 
Last edited:

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
And one last thing. There is no root ;p
With new bootloader you will be able to use "adb root", it's much powerfull than simple su;)

I need some one who know how to use nvflash (in case of emergency) to test this CWM update. To prevent stupid questions - yes, I tested it on my tablet, but I need to know does it work for reflashing from HC (bootloader/CWM).
Volunteer - please take in account you should know what are you doing! If you never do it before, please just wait for updates.
 

macia10

Senior Member
Nov 25, 2010
445
63
Łódź
With new bootloader you will be able to use "adb root", it's much powerfull than simple su;)

I need some one who know how to use nvflash (in case of emergency) to test this CWM update. To prevent stupid questions - yes, I tested it on my tablet, but I need to know does it work for reflashing from HC (bootloader/CWM).
Volunteer - please take in account you should know what are you doing! If you never do it before, please just wait for updates.

What have you changed here?

And btw in RA recovery there is a install su and uperuser option. Used it and root still does not work :(
 

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
So far, GPS doesn't work. No Sats. As far as I know, this is a kernel issue.
I tried to use CDMA USIM and I got the same result.

Some observations:
  • "H" under antenna bar means that modem uses HSDPA connection
  • Regression in GPS functionality (detected only with CDMA, on GSM all work fine)
  • "No Sats" - not related to kernel, this issue related only to libmbm-gps or/and mbmservice
 

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
What have you changed here?
Inside this package:
  • Installer ICS bootloader
  • Installer thor's recovery
  • Android like in B#1

And btw in RA recovery there is a install su and uperuser option. Used it and root still does not work :(
I know:(. Moreover, inside my build you can find "su", but it doesn't work. I have no time to debug it now, but "adb root" works fine and it's enough for debug.
 

Zatta

Inactive Recognized Developer / Contributor
Dec 22, 2010
2,177
1,222
Sneek
With new bootloader you will be able to use "adb root", it's much powerfull than simple su;)

I need some one who know how to use nvflash (in case of emergency) to test this CWM update. To prevent stupid questions - yes, I tested it on my tablet, but I need to know does it work for reflashing from HC (bootloader/CWM).
Volunteer - please take in account you should know what are you doing! If you never do it before, please just wait for updates.

Okay, I tried this package (1952 hrs) but.. because I wasn't sure about my nvflash skills I decided to test this first and loaded the ICS bootloader that way. Otherwise, I am now booted in your build. As mentioned before, no root atm.
What I did not do is wipe anything so only the system got updated, all apps are still functioning, haven't encountered any problems so far (but, only running for 10 minutes now).
Acer Iconia A500.
 
  • Like
Reactions: shchers

macia10

Senior Member
Nov 25, 2010
445
63
Łódź
Could you please provide logs?

Yep I could but my win7 x64 can't find the drivers. And btw restarted tablet again and it takes really long to connect to net. It connects a bit faster when I enable wifi let it connect and then disable it. And I think that the signal bars don't work because I've got signal at max all the time and I know that it's not true ;]

So if you could provide me the drivers I would gladly provide the logs.
 

paugustin

Senior Member
Dec 10, 2009
409
167
Paris
OnePlus 7
Installed the package and it's working fine. It feels faster than Acer build for A500. No bugs so far the build seems stable.

My only problem is that my A501 is lacking a baseband and therefor I cannot get 3G connection. I know the problem comes from my tablet, not from the ROM.
That said, if someone knows how to flash a baseband and can provide one I'll be glad (Modem is a Huawei EM770W).
 

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
Guys thanks for testing!

To paugustin:
Ericsson F5521gw and Huawei EM770W very similar (2G/3G modem + GPS), but EM770W also have serial audio I/O (see datasheet for details). It's sad when something doesn't work, but you have good chance to have voice call functions on your tablet;)
 

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
During the debug of GPS issue was found that this issue related lack of patch 24974d5dd4dd6203fb26109eb433aee4ccdf1b9a (see Git https://github.com/shchers/afs_vendor_mbm_libmbm-gps). All who won't wait for new package, can solve GPS issue manually, by running the next commands in console:
Code:
adb root && adb wait-for-device
adb shell mount -o remount,rw -t ext4 /dev/block/mmcblk0p3 /system/
adb shell mv /system/lib/hw/gps.full_picasso.so /system/lib/hw/gps.picasso.so

GPS and 2G
attachment.php


Log:
/libgpsctrl-at( 135): AT(189)< OK
D/libgpsctrl-at( 135): AT(189)> AT*E2GPSCTL=0
D/libmbm-gps( 135): nmea_received: $GPGSV,3,1,11,21,77,218,20,30,56,266,18,29,47,101,24,16,40,305,18*78
D/libmbm-gps( 135): nmea_received: $GPGSV,3,2,11,18,29,166,24,06,23,290,,05,18,041,,25,10,161,21*7B
D/libmbm-gps( 135): nmea_received: $GPGSV,3,3,11,03,09,293,,31,06,229,,26,04,073,,,,,*42
D/libmbm-gps( 135): nmea_received: $GPGLL,5025.385924,N,03029.561222,E,234236.000,A,A*50
D/libmbm-gps( 135): nmea_received: $GPGGA,234236.000,5025.385924,N,03029.561222,E,1,6,1.76,221.306,M,,,,*04
D/libmbm-gps( 135): nmea_received: $GPGSA,A,3,21,30,29,16,18,25,,,,,,,2.75,1.76,2.12*01
D/libmbm-gps( 135): nmea_received: $GPGST,234236.000,11,23,13,34,21,17,60*4C
D/libmbm-gps( 135): nmea_received: $GPRMC,234236.000,A,5025.385924,N,03029.561222,E,2.015,0.0,120412
 

Attachments

  • gps.jpg
    gps.jpg
    42.4 KB · Views: 1,448
Last edited:
  • Like
Reactions: BPaul

paugustin

Senior Member
Dec 10, 2009
409
167
Paris
OnePlus 7
shchers: voice support would be fun but I don't even know how to fix the modem :-D

I'll keep on testing your work as it is very promising. I just won't have 3G for now.

I used to have sleep of death issues on Acer build but your build doesn't seem to be affected and that is great!
 

Moscow Desire

Retired Senior Moderator
Ok, so here's where I am at.

I put together an install with Busy Box and SU. Posted on my site.

Here's the status. As I suspected, just as with the 500 ICS, we're going to need a modified Boot.img to get R/W permissions in the System directory. This is the same issue.

Things I've tried;
1. Replace boot.img with the patched 500 version.
Result: R/W permissions, but loss of Wifi.
2. Replaced boot.img with the patched 500 version and files from Modules
Result: R/W permissions but loss of Wifi and 3g

So, will have to see if Drellisdee has time to patch our boot.img

Also, cannot get Data/App and apk's to install. Modified installer script to accomodate, but will not install.

format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0");
ui_print("> Mounting system partition");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p8", "/data");
ui_print("> Extracting system directory");
package_extract_dir("system", "/system");
package_extract_dir("data", "/data");

Busybox Su and Terminal works fine.
 

mr.bryce

Member
Dec 25, 2008
42
0
Guys thanks for testing!

To paugustin:
Ericsson F5521gw and Huawei EM770W very similar (2G/3G modem + GPS), but EM770W also have serial audio I/O (see datasheet for details). It's sad when something doesn't work, but you have good chance to have voice call functions on your tablet;)

say what ??
 

droiduzr2

Senior Member
Jan 26, 2011
895
126
I read that Acer will be releasing ICS for the 501 this month.
Once that is out then perhaps it will make it easier.

Looking forward to a nice stable working ICS ROM.
It would be great if you can make the tablet work like a phone too:D
 

Moscow Desire

Retired Senior Moderator
I read that Acer will be releasing ICS for the 501 this month.
Once that is out then perhaps it will make it easier.

Looking forward to a nice stable working ICS ROM.
It would be great if you can make the tablet work like a phone too:D

Actually, it works pretty good right now. Other than a few things I expected based on the 500 "leak". If you don't mind using ADB when you need R/W System, it works good. A did notice though, on HC bootloader, I would sometimes get SOD. But I changed an option in display settings. Will see how it goes.

Hopefully, one of the kernel devs will get a chance to patch it.

As with Acer ICS for the 501, well, maybe in a few months. Anybody who has been around android for a couple years, knows to not expect anything till it happens.
 

ubutnux

Senior Member
May 21, 2010
123
16
bandung
strangely in some sim card the 'sim lock' is activated, even though i never set them. and this cause the tablet cannot find any signal at all

so i need to change build.prop to this
Code:
keyguard.no_require_sim=false
via adb
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    1. Preparing environment and building

    1.1. Installing bootloader and recovery

    This step can be done only in Windows (can be done on Linux too, but I didn't find right version of Linux nvflash):
    • Run MS Windows (tested even on Windows 7) on host PC
    • Download this package (Size=12592367 MD5=EA890A3B3E1CEDBBD820D1A798A365A2). Inside package:
      1. Windows drivers for nVidia USB device
      2. nvflash tool and required libraries
      3. Unlocked bootloader, see details here
      4. Batch for automatic update, see original batch here
    • Generate your SBK with your CPUID by this link
    • Connect tablet to PC through USB
    • Turn-off tablet
    • Press and hold reset button on tablet
    • Press power and wait until new USB device will be detected
    • Install USB drivers (can be find in package)
    • Run script run.bat and follow recommendations

    1.2. Downloading sources and building Android

    • Create directory for AOSP sources
      Code:
      mkdir aosp && cd aosp
    • Initializing repo
      Code:
      repo init -u [url]https://android.googlesource.com/platform/manifest[/url] -b ics-mr1
    • Downloading sources
      Code:
      repo sync
    • Download sources of Acer Picasso device
      Code:
      git clone git://github.com/shchers/afs_device_acer_picasso.git device/acer/picasso
    • Download sources of MBM RIL library
      Code:
      git clone git://github.com/shchers/afs_vendor_mbm_mbm-ril.git vendor/mbm/mbm-ril
    • Download sources of MBM GPS library
      Code:
      git clone git://github.com/shchers/afs_vendor_mbm_libmbm-gps.git vendor/mbm/libmbm-gps
    • Download sources of MBM GPS service
      Code:
      git clone git://github.com/shchers/afs_vendor_mbm_mbmservice.git vendor/mbm/mbmservice
    • Setting-up build environment
      Code:
      source build/envsetup.sh
    • Configuring target (Acer A500/A501 == full-picasso)
      Code:
      lunch full_picasso-userdebug
    • Building with using all available CPU cores
      Code:
      m -j`grep -c processor /proc/cpuinfo`

    2. Installing Android to device

    2.1. Updating through CWM recovery

    2.1.1. Creating update archive

    • Go to target output directory
      Code:
      cd ${ANDROID_PRODUCT_OUT}
    • Create folder for updater script. Run in console:
      Code:
      mkdir -p META-INF/com/google/android
    • Copy updater script there
      Code:
      show_progress(0.400000, 0);
      ui_print("> Formating system partition");
      format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0");
      ui_print("> Mounting system partition");
      mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
      ui_print("> Extracting system directory");
      package_extract_dir("system", "/system");
      ui_print("> Creating symlinks");
      show_progress(0.200000,0);
      symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
      symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
      symlink("mksh", "/system/bin/sh");
      symlink("toolbox",
      	"/system/bin/ls","/system/bin/mount","/system/bin/cat",
      	"/system/bin/ps","/system/bin/kill","/system/bin/ln",
      	"/system/bin/insmod","/system/bin/rmmod","/system/bin/lsmod",
      	"/system/bin/ifconfig","/system/bin/setconsole","/system/bin/rm",
      	"/system/bin/mkdir","/system/bin/rmdir","/system/bin/reboot",
      	"/system/bin/getevent","/system/bin/sendevent","/system/bin/date",
      	"/system/bin/wipe","/system/bin/sync","/system/bin/umount",
      	"/system/bin/start","/system/bin/stop","/system/bin/notify",
      	"/system/bin/cmp","/system/bin/dmesg","/system/bin/route",
      	"/system/bin/hd","/system/bin/dd","/system/bin/df",
      	"/system/bin/getprop","/system/bin/setprop","/system/bin/watchprops",
      	"/system/bin/log","/system/bin/sleep","/system/bin/renice",
      	"/system/bin/printenv","/system/bin/smd","/system/bin/chmod",
      	"/system/bin/chown","/system/bin/newfs_msdos","/system/bin/netstat",
      	"/system/bin/ioctl","/system/bin/mv","/system/bin/schedtop",
      	"/system/bin/top","/system/bin/iftop","/system/bin/id",
      	"/system/bin/uptime","/system/bin/vmstat","/system/bin/nandread",
      	"/system/bin/ionice","/system/bin/touch","/system/bin/lsof");
      ui_print("> Applying permissions");
      set_perm_recursive(0, 0, 0755, 0644, "/system");
      set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
      set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
      set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
      set_perm(0, 0, 0755, "/system/etc/bluetooth");
      set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
      set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
      set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
      set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
      set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
      set_perm(0, 0, 0544, "/system/etc/install-recovery.sh");
      set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
      set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
      set_perm(0, 0, 0644, "/system/vendor/fake.txt");
      show_progress(0.200000, 10);
      package_extract_file("boot.img", "/dev/block/mmcblk0p2");
      NOTE: Don't rename file! It should be updater-script!
    • Download this archive (Size=149342 MD5=9497D5087FEF04C1EA4EE215A3DC83B8) and extract there
    • Create ZIP archive. Run in console:
      Code:
      zip -r9 full-pack.zip boot.img system META-INF
    • Generate keys. Run in console:
      Code:
      openssl genrsa -out key.pem 1024
      openssl req -new -key key.pem -out request.pem
      openssl x509 -req -days 3650 -in request.pem -signkey key.pem -out certificate.pem
      openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
    • Run signing archive. Run in console:
      Code:
      java -jar ${ANDROID_HOST_OUT}/framework/signapk.jar certificate.pem key.pk8 full-pack.zip full-pack-sign.zip

    2.1.2. Using CWM recovery

    • Upload full-pack-sign.zip on FAT32 formated microSD card
    • Turn-off tabled
    • Insert microSD
    • Press Power button while hold Volume Down button
    • Release Power button when you'll see text in top left corner, some like "cleaning cache partition..."
    • From opened menu select "wipe data/factory reset"
    • Select "Yes -- delete all user data"
    • Press on "install zip from sdcard" menu
    • Select "choose zip from sdcard"
    • In this menu select "full-pack-sign.zip"
    • After installing press "Go back"
    • Press "reboot device"

    2.2. Updating through Android debug

    2.2.1. Updating system partition

    • Get a root access
      Code:
      adb root && adb wait-for-device
    • Remount system partition with R/W permitions
      Code:
      adb shell mount -o remount,rw -t ext4 /dev/block/mmcblk0p3 /system/
    • Sync binaries
      Code:
      adb shell stop && adb sync && adb reboot

    2.2.2. Updating boot partition

    • Reboot to fastboot
      Code:
      adb reboot bootloader
    • Select one of possible methods to use new boot partition
      1. Boot with custom kernel and ramdisk without flashing (boot partition will not be rewrote) - this mode useful for debugging kernel/root
        Code:
        fastboot boot ${ANDROID_PRODUCT_OUT}/kernel ${ANDROID_PRODUCT_OUT}/ramdisk.img
      2. Boot with custom boot.img without flashing (boot partition will not be rewrote) - this mode also can be used for debugging kernel/root
        Code:
        fastboot boot ${ANDROID_PRODUCT_OUT}/boot.img
      3. Flashing new boot.img to boot partition
        Code:
        fastboot flash:raw boot ${ANDROID_PRODUCT_OUT}/kernel ${ANDROID_PRODUCT_OUT}/ramdisk.img

    2.3. Enabling Google services

    To enable Google services on new system, should be copied several Google binaries to /system/app. To do it should b done several steps:
    • Get a root access
      Code:
      adb root && adb wait-for-device
    • Remount system partition with R/W permitions
      Code:
      adb shell mount -o remount,rw -t ext4 /dev/block/mmcblk0p3 /system/
    • Download this (i.e. GAPPS) archive (Size=16449776 MD5=C7E6FAAFE7223A17DE93DD1D7A968734)
    • Extract it somewhere
      Code:
      mkdir GooglePack && cd GooglePack
      unzip googlepack.zip
    • Stop dalvik virtual machine
      Code:
      adb shell stop
    • Upload APK files
      Code:
      for f in `ls *.apk`; do echo "Uploading $f" && adb push $f /system/app/; done
    • Remove Provision.apk - it looks like setup wizard, but SetupWizard.apk much powerful
    • Reboot device to recovery and wipe data partition (use CWM "Wipe" menu for it)
      Code:
      adb reboot recovery
    • Reboot device after wiping
    • Use wizard on system start-up to configure your account
    • Use Android Market to install GMail and other apps

    3. Debugging

    3.1. RILD

    To see rild log should be done:
    Code:
    adb logcat -b radio

    4. FAQ

    Q: WiFi scanner show few AP, but can't connect anywhere...
    A: Try to make factory reset.

    Q: Is it thor2002ro sources?
    A: No, it is my own port.

    Q: What is the version?
    A: ICS MR1 (Current version: 4.0.4).

    5. Supported features

    • 2D/3D acceleration
    • Photo/Video Camera
    • 2G/3G
    • GPS
    • AGPS
    • SMS (tested only in GSM networks)
    • WiFi
    • Bluetooth
    • Audio/Video playback
    • Image viewing
    • External SD Card
    • External USB storage
    • Compass
    • Gyroscope

    6. To do

    1. [rild] Add support for USSD
    2. [rild] Add support/check for MMS
    3. [libsensors] Implement libsensors and replace Acer binaries
    4. [audio] Add support for USB audio devices
    5. [audio] Add support for modem audio input

    7. Screenshots
    • Version
      attachment.php
    • EDGE connection
      attachment.php
    • Speed test results on HSDPA+
      attachment.php

    8. Pre-builds

    • Build #1 (Size=114409141 MD5=11C9E0BE468B21BF061C7ECF6673C9B4)
    • Build #2 (Size=119899802 MD5=4CB798A28B38D02217752C6E09F0E226)
    3
    [reserved]

    Reserved for further updates, if it will be necessary...
    2
    I see that package was 10 times downloaded, but no one comment:)
    2
    Good point, but unfortunately I'd never seen CM source code. May be you can share link to CM Gerrit/Git with me?

    You should find all you need through the following link...

    http://www.cyanogenmod.com/community

    There's also a link to their Git hub on there.