You are here

CyanogenMod 9 for Milestone A853

Main credits:
Obviously, it's the CyanogenMod team and all CM contributors in the first place.
Besides that and my own humble work, CM for Milestone would not be where it is now without the essential works of Skrilax_CZ (2nd-init, OpenRecovery, lot of work on custom kernel, 2ndboot fixes and more), Czechop (hack to the kernel usb initialization code that allows to keep BP working after 2ndboot to custom kernel), f_pasha (gkisystem semaphore patch), Tiago Sousa (author of the original overclock kernel module) and contributions from others that I forgot to list here ;) .
Also worth mentioning is a lot of notable work done by the Defy developers: Epsylon, Quarx and Maniac103
The original 2ndboot code is by Dmitriy Taychenachev and Eugen Maksimov.

Please note that Milestone is not officially supported by CyanogenMod.

xda thread:

gapps 20121225:
OpenRecovery 2ndbootOR:

Because of limited space in system, gapps are installed to /data/vendor. But if ext partition is present on sdcard, they are moved to /sd-ext.
Therefore ext partition is highly recommended for CM9, otherwise the space for apps in /data will be too limited.
You can find instructions on how to resize fat and create ext3 partition directly in OpenRecovery in this very fine guide by pontomedon:
Full guide from stock Motorola Android to CyanogenMod 7 for Milestone

CM9 for Milestone is using 2ndboot to run custom kernel despite the bootloader kernel lock.

Android 4.x requires at least 340MB RAM available to kernel and userspace
As we have only 225MB, don't expect any miracles - the hardware constrains count.

HW acceleration increases application's RAM demands. You can use the included HWA Settings app to disable it per app.

Known issues:
You tell me ;) .

9.1.0d (4.0.4) 07.01.2013
- fix: keep keyboard backlight off while keyboard is hidden
- fix crash on launch of certain apps (e.g. Aldiko) - use workaround for occasional mysteriously zeroed bitmap scale parameter
- Apollo music player fixes - jellybean backports; reworked image fetching and caching (by iwo)

9.1.0c (4.0.4) 30.12.2012
- call recording: fix recording for calls with asterisk in the phone number
- fix the per app HW acceleration disable code to work according to application package name as specified by HWA Settings app (the original implementation [which pre-dated HWA app usage] used process name, not package name)
- re-implement the 'Disable Dock Observer' option - for users of phone cases with magnetic closures (to prevent the screen turning on in reaction to a magnet appearing near the phone)

9.1.0b (4.0.4) 26.12.2012
- fix VoiceSearch, VoiceTyping and Talk (voice) - please use the updated gapps package
- fix adb toggle
- fix possible crash when recording videos and re-enable limited preview frame rate for better Camera app responsiveness
- fix backup of system files (mostly gapps) during ROM updates
- add built-in call recording option; no beeps every 10s during call recording any more
- updated CMFileManager
- wifi: disable 802.11n support by default (HT_Enable in tiwlan.ini) to prevent stale data connections when using certain N routers
- kernel: reverted doubling of the DAC fifo size to 16384 (to prevent audio drop-outs) as it caused broken audio playback in certain games

in case you're wondering why the new build is not uploaded to github as before, see

9.1.0a (4.0.4) 11.12.2012
- fix relaunch of some activities on keyboard slide out/in (e.g. YouTube playback, Root Explorer...)
- CMFileManager included (backport from JB)
- fix unwanted lcd-backlight activation by camera button while the screen is off (was related to the light sensor workaround that allows to use camera button to provoke sending of light sensor data without waiting for ALS interrupt)
- better handling of Basband Processor panic (by maniac103) - instead of immediate reboot like in stock firmware, user is notified and can choose to postpone the reboot (e.g. when he's got some work to finish first). Note about the reason of reboot is displayed after restart.
- workarounds for some motorola RIL issues that cause occasional data connectivity problems (by maniac103)
- optional swap activation on boot via /system/etc/init.d/12swap
-- requires swap partition present as third partition on sdcard
-- swap size (in kB) is determined by persist.sys.swapsize property
-- no persist.sys.swapsize property defined or set to 0 means no swap activation

example how to set persist.sys.swapsize property in terminal:
setprop persist.sys.swapsize 16384

9.1.0 (4.0.4) 05.12.2012
notable recent fixes and features:
- support for connecting to adhoc wifi
- fixed wifi networking when using UPnP/DLNA apps
- note that this build is done from the branch with removed theme engine,
as the theme support seems to be too heavy, hurting performance of our device

- video recording (not exactly smooth yet, but working nevertheless)
- added missing sysctl to prevent RAM fragmentation (cause of gmaps freezes)
- etc.

- camera is working (only taking pictures, not video recording; panorama mode is not working)
- switched back to Calendar and LatinIME built from source
- bootanimation is enabled by default, it can be disabled under performance settings
- baseband selection is under device>advanced settings
- usb and native wifi tethering is not working yet (but should be fixed soon, probably in the next build)

- until the open source solution will be ready, Google builds of Calendar and CalendarProvider are installed via gapps to provide Google Calendar sync. Google build of LatinIME is included to provide access to downloadable dictionaries.
- most of the gapps are installed to /data/vendor. if you are updating from earlier CM9 build, use "rm -r /system/*" in recovery console before installation to make sure you don't run out of space in /system because of previously installed gapps
- bootanimation is disabled (debug.sf.nobootanimation=1 in build.prop), because the default bootanim takes more than 80MB of RAM while running, which may cause issues - from very long boot time to bootloops.


you need to clear /data


Firstly I want to congratulate you for such a gr8 job.
I am facing issue for clock. It is not updating the display but the alarm is working properly.

Steps to reproduce:
1. Put mobile in sleep mode
2. wait for few minutes
3. press the power button briefly so that it will show the lock screen.
4. notice the incorrect time
5. press power button again to put mobile in sleep mode
6. again press power button briefly so that it will show the lock screen.
7. now notice the correct time.
8. unlock the mobile
9. notice the incorrect time on status bar.
10. rotate the mobile so that screen will rotate
11. notice the time is changed to correct time.

Also the time is not updated in Dock Mode.

Hope I gave detailed information.


It seems fixed after couple of reboots.
Sorry to bother you.

this is awesome thank you !

Does anyone know how to put the telus baseband on cm9 ? the one from open recovery only seems to work with cm7

mine worked fine with open recovery

the web-site is down (I have no idea why) so it is impossible to download the rom
it's will be fantastic if somewone gone post a new link
thanks alot

I'm sorry but from my side multiupload is suck and "connect is broke by timeout"...
Is there an another download option?


Thanks! Is there a link to the gapps too?

Seems the wifi region is not set to europe / germany and i found no setting to change that.

When load new version??? !!!

CM9 install successfully but gapps was not installed/updated. Reboot to OpenRecovery not successful.

I installed it no problem. Then Iinstalled the gapps and then changed baseband to telus. After it was done I used open recovery to root phone
And to reboot. I have noticed with our devices to get some what stable roms you need to reboot about 4 times before all starts working again.
I am happy with it . Sending and receiving calls and sms mms and emails works amaying. The browser is good. I noticed its a good idea
To not have live wallpapers on to conserve cpu. The cpu sometimes gets hot and the back of the phone is too hot to touch. But good job on the rom. Been using it for a few days now.

it seems i cannot open the download link, multiupload seems to be not connecting.. :(
can u please provide another alternate link :) all the post the links..ty :)

Nadlabak believe you that this constructions made by twistedumbrella can help?

and other cuestion, why in the original droid always is free around 50 to 70 Mb of memory Ram and in the milestone only 30 or less?

I dare to say that CM9 for Milestone is more mature than that builds made for Droid.

About the RAM: first - it's not true that Droid has always 50-70mb RAM free; second - Droid is using completely different BP implementation, so it is not running the gkisystem; third - Droid can run custom kernels with swap enabled, so they are using zram (called compcache before), effectively increasing the amount of RAM by compression.

Please tell me when will you release the next version as the previous version does't support the camera.

so pleaseeeeeeeeeeeeee tell when will u release the next version.


This type of comment is annoying and unhelpful.

Please upload new version!!!

I want to downgrade to cm7 while I found my sms and mms data in cm9 can not be recognized by cm7.
Even I can use app like sms back&restore to restore my sms,I can not restore my mms.
Thanks for your help.

Great Job Nadlaback ;)

I like the new CM9... Still hope for fixes soon... (:

great work...just loved the ICS feel...

1 suggestion (i dont know if its possible):

till the camera is not working cant we change the lock screen connection to phone rather than camera?

I am still amazed at how stable this ROM.. I use it everyday, except the camera, the rest small bug is secondary.

i want to try this version, but unfortunately i have to record videos all the time.
therefore i have to wait patiently... :)
keep up the good work!

Hi, i can't download files because multiupload is inaccessible

same... i got it to run on my og droid but the screen orientation is effed up.

Error (509)
This account's public links are generating too much traffic and have been temporarily disabled!

The Dropbox-Links are temporarily disabled ...

I installed it today and I have to say wonderfull. Still have some performance issues but believe it will works better soon. Strongly recommend you to create ext3 partition on your sdcard.

Jo a diky. I v Cechach vyuzivame.

Nadlabak, im install the last build os march 3, its almost all perfect ( ofcourse the DSP and etc ), and i can make calls with no problem, but to receive calls i cant, wen I test, the call go to call recorder of my cel ( in case TIM Brazil ), but the strange is that in my milestone show that I missed a call, but never ring or vibrate, with any cell or phones. Any idea? I also change de baseband and no effect.

Thanks and sorry my english =P

Dont know how, but after severals reboots, it works now hahahaha =D

Hi Nadlabak, Thanks for the great work done by you on the milestone. ICS latest Alpha release works just fine.

However, just wanted to highlight an issue - Call log records "Unknown" for all outgoing calls. Incoming calls do resolve to the names in the contact list.

Hi, nadlabak, nice to hear camera works, unfortunately I can't access uploaded link, is there any other mirror?

thank you very much ^_^

Call logs for outgoing calls shows "Unknown"... is there a work around to this issue?

Not work...((

It works - however strange - don't know what fixed the issue !!!

I reported this problem and as per suggestion provided by Nadlabak over the XDA forum
tried to set the Phone -> Settings -> Additional Settings -> Called ID...

When I did try to change the settings above, it wasn't allowing me to change settings as
the Caller ID gets greyed out in a few seconds... Tried to be fast enough to do the selection
within those few seconds and it still did not allow me to do the changes as suggested....

I swapped out my voice SIM with my Blackberry - DATA ONLY SIM and tried this setting which again failed
as above.

I put back my voice SIM and VOILA!!! .... I could see the dialled out number / names from the contacts in the call log

Not sure how it is fixed....

Nadlabak : thank you for the wonderful work done by you on the ICS ...

Thanks for the great work you did here and the cm Versions before. My Milestone has a new life! Thanks for that!

With Version 03.03.2012 my Milestone is running like a wild hog. CM7 gave him a new life too, but this version is so great. Never thought that i can have ICS on that phone.

Thanks for that. Now i can wait a few more months for the quadcore smartphones , like HTC One X, to buy a new phone.

I say Thanks, Thanks, Thanks, it's all about to say Thank you

What just i want to say is "thank you!",you are very smart!

Hi Nadlabak.
FYI: Don't know if it is just my case but alarm not working. Can't go to screen where can change alarm time. There is a crash event - Unfortunately. Clock has stopped.

Ok. My fault. Clearing alarm application cache solved this issue.

i have a problem with ICS. every time to connecting or disconnecting the usb cable in my phone, open the 3g signal automatically. how to stop this condition? special thanks for all!! :-)


does the contact sync work correctly for your gmail account with "" build? I can not even see "Sync contacts" item in Data & Synchronisation. My contact list is empty. Did full wipe/format before updating. I also tryied to remove gmail account, clear data for Contacts and Contacts storage apps and add the account again, it did not help. Sync did work without any problems with RC0 build from Dec 2011. Calendar sync works also for current build without any problems.

Do you have any idea, what might be the problem?


Did you installed gapps-ics-4.0.3-20120302?

yes, I did.

Hello nadlabak and TheSpiritof69, I just wanted to let you know that you can get a certificate from startcom ssl for free, and they are in almost all browsers. Of course, that's only interesting if you want to get rid of the warning!

Keep up the good work!


Thanks for the hint, but I prefer CACert since they offer a more distributed, slightly user-based approach to the chain of trust and certificate verification.
I could explain further why the actual method of CAs is not a good implementation of trusting for certificates and the validity of the entitites behind them but that would go way beyond this.


PS: If you really want my opinion on that:
thespiritof69 [AT] gmail [DOT] com

Whether Call Recorder(both incoming and outgoing calls) is working in this just like Kabaldan's latest GB?


Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.