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.


Hi..I've installed CM 9, but I have problem with battery which is it's drainig so fast..I got to charge it even 3 times in a day..any suggestions?

Thank you so much

Hi guys

Im using the ext partition to install my apps, but the performance is very bad... My telephone is freezing every time and I need to restart it about 3 times in a day

I got a class 4 SD Card! Does anybody tried to use a class 6 ( or even a class 10 )? Does it makes a ruge difference?

Best regards!

I have the same doubt!

Does anybory have tested it?


I faced the same problem, then changed to a class 10 sdcard.
now the performance became really good (ok, maybe not that good, but it is working really nice).

Very tks

Lets gp shop!

Valid for the effort and dedication.
In each perceives the new ROM development.
Keep it up I have a Miestone 1.

Congratulations for your amazing job!

Finally CM9 gets "etc"

Setup wizard keeps failing for the latest build "",flashed many times,same problem persists,can anyone help with this?


I issue this problem to... I downloaded the file 3 times and the problem persists...

My solution were decompact the file using 7zip ( maybe it works with winrar too ) and compact the content again using the native windows option

Doing this, it worked perfectly =)


Thanks for replying I will definitely look into that,though I solved the problem earlier using a previous version of gapps,loving the fluency of this version


i have a problem in the new version "update-cm-9-20120307-SNAPSHOT-umts_sholes-signed". if i call a number the screen which appears when i am calling shows unknown for the number/contact and later in the call list it shows unknown too.

I have the same problem but sometimes it works correctly... don't know why...
PS : I have no problem when receiving call

I had the same problem, but Kabaldan give us the solution:

phone>settings>additional settings>caller id>show number

It works.

why does this setting has an effect on the local phone. this setting is for show or hide your number for the other person you call ... but it works!

Please, add Slovak language input method, i miss it. Thanks.

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


thank you for all the great work.
Just wanted to report something I noticed.

I always have my mobile data turned off, but I notice that in CM9 (snapshot), it turns on by itself (occasionally).
May be when the WIFI drops, it turns on Mobile Data ?


When I conenct to a PC, use mass storage, 3G is turned on automatically,
anyhow, great work.

how can I change hardware keyboard input method to qwertz?

Hi guys

O installed the Google Chrome, but it isnt works. When I try to execute it, it asks for an ICS version =(

Does anybody guess whats is happening. I think it looks for a correct kernel version



Google have just released a version that works with custom rooms


Please Nadlabak there is a big problem with the make or receive a call, the system hangs and becomes impossible to receive or make the call .. please if you can try to focus a bit on this issue that is killing me, do not know if others also happens in the meantime back to CM as it is very important this issue ...

and another thing, you can improve the response of laucher when leaving any application and does not take several seconds to place custom applications on the screen? great job ..... thank you very much: D

Dear Pavel,
First of all, many thanks for your excellent job. I would like to offer free file allocation on (or any new domain you want) for CM9 builds. Host - unlim, new domain - free.
Best regards,
artanto (xda/4pda friend)

thank you for your awesome work

i did not had any problem with data as i wiped, and i will install other apps on sd from android

concerning ics i'm currently totally amazed with the configure process which is obvious (configuration of wifi if no 3g connection, it knows how to configure my new mobile provider apn, saving states, new gmail app...)

Hi Nadlabak!

First of all, thank you very much for give us an excellent rom!!!

I wonder if it's possible to keep launcher on memory like CM7, because it's redrawing itself every time I open some aplications and then go to homescreen. Maybe its priority oom is a little low (and I know milestone RAM doesn't help us much).

For the rest, It's wonderful. Great work!!!

Well, I decided to apply "ICS OOM Priority Charger" service.jar file, with very good results at this moment.
I hope it continues working well, but I preffer an in-build solution from our blessed master Nadlabak (because it's for sure it will work flawless).


= O can be done? as I do, could you please explain? :) Thanks.

Go to and follow the instructions. To manage files I used ES file manager.

It'll give u a new service.jar, so replace the original with this one and voila! you'll have new oom priorities (

Persistent Process is -12 (stock)
ForeGround app is 0 (stock)
Home Launcher is 1 (Die-Hard Launcher) (stock=6)
Perceptible app is 2 (stock=2)
Visible app is 3 (stock=1)
Heavyweight app is 4 (stock=3)
Previous app is 5 (stock=7)
Service is 6 (stock=5)
Backup app is 7 (stock=4)
Service_b is 8 (stock)
Hidden app min is 9 (stock)
Hidden app max is 15 (stock)

Obviously I did a Nandroid backup and also kept original service.jar file in my pc.

Hope it helps.

To prefer killing of music player currently playing in background over the launcher currently idling in background in the case of out of memory condition is plain wrong strategy.
Launcher in background should never get assigned lower oom_adj than perceptible or visible apps.

This was true for gingerbread, and it is even more true for ics where the default launcher is a real nasty memory hog.

That's why I asked for a different solution, because I'm sure you've got the knowledge to do a good work (like always, you are the best!).
Is it possible to solve that redrawing? I guess it doesn't, but I have a little hope.

Thanks for your reply and support!

That's not going to happen.
Use a launcher with a smaller footprint as the stock launcher is indeed a hog.
That should alleviate the issue either way.

hi, thank you for your hard-working. i install it last friday, and met some issues.

1. enter messaging, and sometimes it will go back to home screen
2. search in contacts, the result is not accurate in chinese
3. show unknown when i call out
4. the setting program used too much memory
5. can not use wifi after contected it, but 3G is OK

hope these will be solved in next release. thank you.

Hi, run Phone app > Settings > Additional settings > Caller ID > Show number

weird but works (found below in this discussion)

hi , thank you. it works now...

"- video recording (not exactly smooth yet, but working nevertheless)"
Can anyone put a youtube video about a "not exactly smooth" video recording? What is the best resolution making a video, and can you make 30 minz of video? Thanks in advance!

Hi Nadlabak!

Adobe Flash Player 11 does not work!!!
the native browser, Skyfire and Dolphin not open the flash plug-in.

For the rest, It's wonderful. Great work!!!

I'm quite impressed with how well this has been running, I've had it running for over 24 hours without a problem!

I use bluetooth to my car stereo for music and phone calls, and that's working flawlessly, although in GB I would get the song title on the stereo's display and with ICS I'm not getting that. No big issue, just noticed it.

My only complaint would be the lack of an included file explorer; Not even the crappy stock one is included! It's ok, that's why the market is there.

Overall, very impressed, and looking forward to seeing even more amazing work from you!

Thank You for doing great job. I just want to inform, that CM9 makes my phone no more hanging shit as often like it was on CM7 or stock rom. Google Maps are working smoothly already!
I use CM9 daily and I'm waiting for next releases :)

Hi everyone, could you guys tell me how to swap memory?

Big thanks

can not, the Motorola Milestone has the locked bootloader and therefore has the possibility of default swap options disabled if it working, unlike the Droid that if this off and if you can use the Swap for swapping, not but our friend Skrilax_CZ is trying to develop a modified kernel rom but this is a very difficult and even ps delay much time trying to develop this rom still do not know if it really works as it should so here, for now you can.

well just wanted to ask if you have any idea what I will say, depronto believe I'm crazy but if nokia tube Aguna once knew this could be done, I mean "to adapt hardware that comes standard in the mobile "to add new functions to the phone, remember that in the nokia 5120 is could change the battery to one that was bringing a haware of vibration because this default is not possessed ability and so other little things more, so in this way , the new battery addaptar cell phone with the new software in the phone appeared the new option to enable or disable the vibrator to use on calls pooder and games etc..

I wanted to know if you know of something like this that you mentioned, or just occurred to me ami, that of creating a battery that will fit the milestone and bring within its circuit chip of RAM to expand and solve our problems. it sounds very fantacioso but if you could do before because you can not do now? thanks your work are wonderful!

first of all thx for this rom works like a charm , but there is a problm with the light sensor and it gos like this , it only activates the backlights from the capacitive buttons if tyou cover te sensors so you crate complete darkness and sometimes it doesen't turn them on at all and the light from the physical qwerty is even more stuborn, that doesen't turn on at all , or only on special ocasions, anyone having any clue why I have this problem?

because it's an alpha release?

I have cm9 in my a835, but I can't play games wich have big data (>20 mb) any suggestions?

Hi Nadlabak

I’m am CM9 on my milestone a835, could you tell me how to working with app2sd, is there any scripts
or else?

Big Thanks

app2sd is crap, just use app2ext ;)
Everything is well explained in the guide linked on top of page (Pontomedon).


Hi Nadlabak!
First of all, thanks again for your excellent work. I can't believe my Milestone is running ICS :)
I managed to get a class 10 32 GB microSD and all is running fine. I even managed to to get to work an EXT4 partition, creating it from Ubuntu and disabling the huge file option with tune2fs directly from Ubuntu terminal (and not on the phone).
Just one thing.. have you implemented lib2ext? Can we safely enable it?
Just a curiosity, because even without it and plenty of apps installed, my memory is fine.

I also noticed there is no option to keep the SMS process in memory.. is it managed in a different way now? There is no risk of missing SMSs due to lack of available memory?

Hope to hear from you soon, and I will help with bugs and whatever to help in this wonderful ROM development ;)


Hi Nadlabak, I have been running CM9 for two weeks as my daily rom. Absolutely love it but have come accross a couple of issues which means I will have to go back to CM7 for now. Can send and receive sms messages but when I send an sms do not get a reply from that particular person unless I reboot. Also phone is freezing when I place it in its media dock. Really appreciative of the work you are doing and can't wait to come back to CM9 in the near future.

hey i've just instaled the cm9 on my milestone a853 and all the apps failed i couldn' t eaven get to the home screen
please help i have cm7 v7.12


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.