[Miscellaneous Android Development] aorth:
Introduction

CyanogenMod is an aftermarket firmware for a number of cell phones based on the open-source Android operating system. It offers features not found in the official Android-based firmwares of vendors of these cell phones.

History (standing on the shoulders of giants)

CyanogenMod has been under development for the U8150 since early 2011. In the beginning marcnvidic started off by getting the Android device tree organized and getting initial builds working. After that tilal6991 made great progress with basic functionality, bugs, etc. I joined initially to learn about the AOSP/CyanogenMod build system, but have helped clean up the device tree, fixing a few bugs, and keeping up with the latest upstream CyanogenMod changes.

Download

Note: The CyanogenMod build server builds CM7.x releases for the U8150 once a week. I don't have time to update builds manually here anymore. Find CM builds here: http://get.cm/

ROM (June 11, 2012): goo-inside.me / Mediafire (md5: 14fd84e4cdb957c114a4ea52ebd890fd)

ClockworkMod Recovery (5.0.2.8): goo-inside.me / BayFiles (md5: 1b835fb177a0aab362c226f07158bb59)

Google Apps : http://goo-inside.me/gapps (use the CyanogenMod 7.2 one)

Installation

- First time flashing CyanogenMod to your Huawei U8150?

Install ClockworkMod recovery (using fastboot is the easiest way).

Boot into recovery using the 3-button combo

Do a backup!

WIPE (wipe data/factory reset + wipe cache partition)

Install the ROM from the SD card using ClockworkMod Recovery

Optionally install the Google Addon

- Coming from an earlier CyanogenMod nightly?

Boot into recovery using the 3-button combo

Do a backup!

If coming from a nightly earlier than January June 11, 2012:

WIPE (wipe data/factory reset + wipe cache partition)

Install the ROM from the SD card using ClockworkMod Recovery

Optionally install the Google Addon

Source

Kernel: http://github.com/alanorth/kernel_huawei_u8160

Device tree: https://github.com/CyanogenMod/android_device_huawei_u8150

Pending patches: http://review.cyanogenmod.com/#q,status:open+project:CyanogenMod/android_device_huawei_u8150,n,z

Known issues*

Development tools like adb and DDMS see the device as "????????????" instead of showing the serial number (related to the Wifi MAC issue below)

The wifi MAC address is not read from hardware, it is set statically (see here, possible fix).

FM Radio (probably won't get fixed)

Battery usage slightly worse than stock (terrible in some cases)

Overclocking frequencies not as stable as stock or on U8150 kernel (due to the voltages used in the U8160 kernel sources we're using, see arch/arm/mach-msm/acpuclock-7x30.c)

Fixed issues / changes

June 11, 2012

Update to latest CyanogenMod 7 source

Revert lense unlock space tweak

clean up the device tree, remove old settings

May 17, 2012

Switch to WPA Supplicant 0_6_x (might fix problems people were having with hidden networks, or something?)

New, reworked libaudio + AudioFilter from Adriano Carrata's work on the U8160

Add optional headset volume attenuation

Fix behavior of the built-in headphones buttons (pause/play/skip track)

Allow tethering the VPN interface (ppp)

Tweak Rotary unlock bottom margin

Tweak Lense unlock bottom offset

Update USB mounting code (no change in functionality)

Now use libOmxCore from CyanogenMod

Now use gralloc.msm7k from CyanogenMod

Now use copybit.msm7k from CyanogenMod

Reduce size of keyboard by some fraction of an inch (saves some space on an already-scrunched display)

Reduce compcache (compressed RAM) to recommended default of 18%

Sync with latest CM7 code

Clean up old app overlay settings and unused build flags

April 5, 2012

Fix for audio distortion (thanks to ac1953's AudioFilter.csv fix)

New kernel with several performance and stability enhancements:

fs: mount filesystems as 'noatime' by default

config: kernel compressed with LZO

lib: new CRC32 lib (slice-by-8)

iosched: add SIO v0.2

staging: backport zram from 3.2

lib/checksum.c: optimize do_csum a bit

block: limit default readahead size for small devices

Updated to latest CM7 source as of April 5th

March 22, 2012

Sync with latest CyanogenMod code (7.2.0-RC1)

Fix bug with in-call audio being able to go to "0" and essentially mute the remote caller (fix: 13862)

Contains the kernel from March 6 Hotfix 1

March 6, 2012

Hotfix 1 (kernel fixes see: here)

Sync with latest code (close to 7.2-RC1)

ClockworkMod Recovery 5.0.2.8

February 10, 2012

It appears there was a problem with 5.0.2.7 not being able to restore advanced backups (users were seeing a message "No files found."). This is now confirmed to be working properly again.

February 8, 2012

Performance: disable scrolling cache (change #12543)

Performance: Adjust ELECTRON_BEAM_FRAMES to 8 for "CRT Off" animation to work more acceptably (change #12542)

Stability: Disable ICS rotations because of the erratic "green screen" (change #12415)

Audio: fix in-call headphone audio breaking after one call (description of bug, change #12541)

Latest version of ROM Manager (5.0.0.5)

Sync with latest CyanogenMod source

January 30, 2012

CRT Off animation works

ROM Manager 4.8.1.5

Synced with CyanogenMod sources as of January 30th

Ice Cream Sandwich animations (must have "All animations" enabled in Display settings)

January 17, 2012

Auto brightness

Location of "home" soft key

Thanks

marcnvidic - initial CM6 port, device tree, etc.

tilal6991 - holding the candle for so many months after marcnvidic left, lots of bug fixes, device tree work, etc

subpsyke/psyke83 - being a badass, fixing lots of stuff in his Huawei U8160 port which also helped us.

CyanogenMod team (koush, defer, turl, et al for helping me when I'm stuck with repo, git, gerrit, etc).