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

Search This thread

paugustin

Senior Member
Dec 10, 2009
409
167
Paris
OnePlus 7
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;)

Could you help me to get that modem to work ? I'm not a dev and don't know how to integrate drivers into a ROM.

Hope I'm not asking too much.

Regards.
 

galapogos01

Senior Member
May 9, 2008
168
9
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.

Any updates Moscow Desire? SOD fixed? Any other problems?

Does it still take 8 mins to get a 3G connection after disconnecting WiFi?

I'm considering trying this but use 3G daily.

Thanks,
Jason
 

Moscow Desire

Retired Senior Moderator
Any updates Moscow Desire? SOD fixed? Any other problems?

Does it still take 8 mins to get a 3G connection after disconnecting WiFi?

I'm considering trying this but use 3G daily.

Thanks,
Jason

No updated builds yet, so nothing new to report. Unfortunately, I work during the week, and I need my usual 3.2.1 set-up, so haven't had it installed.

With some of the prior ICS builds (KANG, AOPK), turning off CRT Animations helped with SOD, but in the CM9 builds, this option isn't there, or at least I didn't find them. If one were using their tab, you could set display time-out to 30 minutes. Maybe running the ICS bootloader would fix it, but at this point I don't feel the need to flash bootloaders. Maybe this weekend I'll give the ICS bootloader a shot.

Regardless, some type of patch will have to be made either to the boot.img (kernel) or the bootloader to fix the permissions to /system. Both on HC and ICS.

The 3g worked, but best guess about 85% of the time. It liked to drop signal, too often for my taste, but still totally usable if you don't need a 100% full constant signal.
 

wornbat

Senior Member
Jun 21, 2006
132
6
Sydney
Tried out this ROM and it appears to be working fine however I have found the following issues.

NO ROOT :( hopefully this will be fixed soon.

when setting up the APN's it appears that when you add a new APN it does not appear. Not sure what is occurring but after adding new APN it showed no APN's in the screen and would not connect to data.
After a reboot it appears again and 3G works. :) I tried this a number of times even after wiping and reinstalling a few times same thing occurs.

looks like its pretty much usable for full time ROM.



Well done
Wombat
 

Zatta

Inactive Recognized Developer / Contributor
Dec 22, 2010
2,177
1,222
Sneek
One question:

In the OP under section 1.1 we can download a nvflash package with the run.bat script loading ics_boot_unlck.bin (1.165 kB) and recovery_thor17_403.img for us.

Has anyone a original honeycomb bootloader in bin format?
 

Zatta

Inactive Recognized Developer / Contributor
Dec 22, 2010
2,177
1,222
Sneek
One question:

In the OP under section 1.1 we can download a nvflash package with the run.bat script loading ics_boot_unlck.bin (1.165 kB) and recovery_thor17_403.img for us.

Has anyone a original honeycomb bootloader in bin format?

you can get it from here http://xdaforums.com/showthread.php?t=1307539
yeah it's the whole package for hc :)

Would you mind to upload only the bootloader? At the moment I am sailing on the North Sea and I depends on a satellite connection, not fast and stable enough to download a 400+ MB archive. Thanks in advance.

Taptalked u see
 

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
Hello vizzzy. Unfortunately I have no a lot of good news, but with new kernel (available in Git) I don't see SOD. In the same time, modem issue still exists. After deep investigation, I found that issue related to Power Management. And now I trying to find right solution to solve it or add right dispatching for suspend state (in early suspend modem still alive).
Also, today I'll try to use new bootloader (v3 now avaliable on forum). May be it change something.

UPD:
During the investigatio of leaked A501 firmware were find a lot of interesting things:
* right USB PID/VID
* configuration of USB RNDIS (solved USB tethering issue)

All this changes available in Git. In case if someone would like to test it I can create test build.
 
Last edited:

Moscow Desire

Retired Senior Moderator
Hello vizzzy. Unfortunately I have no a lot of good news, but with new kernel (available in Git) I don't see SOD. In the same time, modem issue still exists. After deep investigation, I found that issue related to Power Management. And now I trying to find right solution to solve it or add right dispatching for suspend state (in early suspend modem still alive).
Also, today I'll try to use new bootloader (v3 now avaliable on forum). May be it change something.

UPD:
During the investigatio of leaked A501 firmware were find a lot of interesting things:
* right USB PID/VID
* configuration of USB RNDIS (solved USB tethering issue)

All this changes available in Git. In case if someone would like to test it I can create test build.

Throw up a build. I'm about as far as I can get with what I have on the leaked release.

I'll run it on the ver2 bootloader.
 

orobin

Senior Member
Feb 9, 2006
321
19
Lyon
Hi,

I have A500, bootloader V3. I can test a build if you need.
is it the pre build #1 available on the 1st post ?

thanks
Olivier
 

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
Hello Ken and Olivier,
Guys sorry for delay with replay. I just attached Build #2 to comment #1. Bootloader should be for ICS and version does not matter. The major change is a fix for USB tethering issue.

I spent a lot of time on fighting with Power Management (turning off modem, ADB goes to offline forever... etc), but still have no good news:(
 
  • Like
Reactions: paugustin

Moscow Desire

Retired Senior Moderator
Hello Ken and Olivier,
Guys sorry for delay with replay. I just attached Build #2 to comment #1. Bootloader should be for ICS and version does not matter. The major change is a fix for USB tethering issue.

I spent a lot of time on fighting with Power Management (turning off modem, ADB goes to offline forever... etc), but still have no good news:(

Yes, that 3g issue is effecting all builds for the 501 everywhere. Will check it out as soon as possible. Thanks.


EDIT: RapidShare...needs to change their name to "NotSoRapid" ;)
 
Last edited:
  • Like
Reactions: shchers

BPaul

Inactive Recognized Developer
May 9, 2011
2,355
8,117
31
Astana
empireb.ml
Hi. I will take a bit out of your config for the development of alternative CM9
Даров. Я повзаимствую некоторыми вещами из твоего конфига для разработки другой CM9
 

shchers

Senior Member
Apr 11, 2011
72
20
Kiev
Hi! No problem. But why you don't want take a part in development of CM9 mainstream?
---
Привет, без проблем. А почему ты не хочешь принять участие в разработке основной ветки CM9?
 

BPaul

Inactive Recognized Developer
May 9, 2011
2,355
8,117
31
Astana
empireb.ml
Hi! No problem. But why you don't want take a part in development of CM9 mainstream?
---
Привет, без проблем. А почему ты не хочешь принять участие в разработке основной ветки CM9?

Whats is mainstream? I no know :|
---
Что за основная ветка? Я не знаю :|
 

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.