CM9 Status

PAGE UPDATED: Aug 19th, 2012
Follow Epic CM on Google+ or Facebook for the latest news.  If you appreciate this work, please consider supporting Team Epic.


Changelog
  • CM9 Stable
    • Seems good.
  • CM9 RC2
    •  It had broken addon .zip preservation.  Don't use it.
  • CM9 RC1 Tue June 26th, 2012
    • One cause of the keyboard backlight failing to turn on when desired has been fixed.  It is possible other causes have not been fixed.  Please report if you continue to run into issues with the keyboard backlight.
    • Switch from binary libsensor to source-built libsensor from aries.  Theoretically it should behave identical to the old libsensor.  Please report any differences you notice with sensors.
    • Rescaled signal levels to fit AOSP's signal bar thresholds.  It should be roughly equivalent to the behavior in beta4.  Please report if you experience any major problems with signal bar behavior.
    • The new CM9 boot animation featuring the Cid mascot is now included.  If you want the old boot animation, download the flashable .zip from the boot animation page.
  • CM9 beta4 Wed June 6th, 2012
    • epicmtd: Fixed photo taking after video recording.
    • epicmtd Kernel: Add CIFS and FUSE.
    • Phantom Voicemail fix now merged in CM9.
      • Non-Sprint carrier users probably will want to enable Phone > Settings > Message Wait Indicator if they use non-visual voicemail.
    • Changes in CM9 since beta3.
      • Option to hide the IME switcher.  Settings > Language & input > Selector notification
      • Lockscreen Calendar.
      • Lockscreen Weather.
      • Apollo music app, although reportedly it needs more work to look good on smaller screens like Epic.
      • Lockscreen Shortcuts.
    • Key repeating in recovery enabled for epicmtd.
  • CM9 beta3 Friday, May 11th, 2012
    • Theme Chooser
      • The ability to customize look and feel of CM9 to user choice using predefined themes or community driven user inspired ideas. Preview the theme before applying to make sure its exactly what your looking for in a theme before applying to the phone.
    • Lockscreen Shortcuts
      • Allows you to choose lock screen shortcuts (1-5) anything from browser, Facebook, twitter and messaging, the choice is yours, with customizable icon's.
    • Capacitive Buttons/Keyboard Backlight Disable Option
      • One of the most exciting new features in CM9 beta3 for Epic 4G is the ability to disable the capacitive touchkey backlights.  Unlike other phones with multiple brightness levels, the touchkey lights on Epic 4G have only on and off.  Using the Epic in the dark would be often annoying as the touchkey lights are blindingly bright.
      • Settings > Advanced > Disable Touchkey Lights turns off lights after a 750ms delay since you last touched it.  We designed it this way on purpose so the user has enough time to recognize the location identity of the four buttons.
      • Settings > Display > Automatic backlight > Edit other levels... allows you to further customize when touchkey lights and even the keyboard backlight will be enabled based upon the light sensor levels.  0 means off and 255 means on.
    • Unique Bluetooth MAC Address Fix
      • Previously Epic CM9 used a generic MAC address instead of a unique per-device MAC address.  Since the bluetooth address has changed, all  users must re-pair their bluetooth devices before they may be used again.  This resolves several known issues with some newer bt devices.
    • Gallery Photo GPS Fix
      • All previous versions of CM9 for Epic 4G would an erroneous date of 1969 in the photo EXIF data if you have GPS enabled at the time of taking the photo.  This would cause the Gallery app to become confused and display photos in the wrong order.  All new photos taken by the Camera of CM9 for Epic 4G will no longer have this issue.  bbelos and Cyc of Team Epic wrote this tool and instructions for fixing your older photos.
    • Conservative Overclocking
      • CyanogenMod aims for maximum stability, so we have decided to include only the most conservative overclocking and no undervolting in the standard CM9 kernel.  Undervolting is known to work 99.99% of the time, but rare timings involving certain apps can cause the phone to spontaneously reboot.  It is our belief that many reports of random reboots are the result of unsafe overclocking or undervolting.  We will not ship the means for users to shoot themselves in the foot in the default operating system. 
      • We have added only the 1.2GHz step, disabled by default.  You enable it in Settings > Performance > Processor > Maximum CPU frequency.  Since voltages cannot be changed, no add-on tools like Voltage Control are necessary.
      • While 1.2Ghz maximum seems to be stable for most users, we do not recommend using it if you care about maximizing stability.
    • Smoother cpufreq scaling
      • All previous kernels have had trouble where it would no longer use the 100MHz step if you have changed your cpufreq or governor settings.  Major fixes were made to the kernel to allow cpufreq to scale more smoothly.  As a result, the cpufreq governors now behave differently.  The powersave governor has been removed as it causes extreme slowness, failures and consequential higher battery consumption. 
      • GPS Navigation and Google Maps Fix
        • CM9 beta2 added emulation for RotationVectorSensor2.  Unfortunately this exposed a race condition that can cause sensors to entirely deadlock, the cause of the rare reports of GPS Navigation failures we have been hearing lately.  beta3 contains teamhacksung's fix to the magnetometer driver to prevent this failure.
        • If your GPS was already broken in CM9 beta2, you may need to uninstall and reinstall Google Maps in order to fix it.
      • Camera Timer
        • The Camera app now has the ability to set a countdown timer before a photo is taken.  While in the Camera, hit the Settings button, then the action bar (three dots), then tap the camera button.  The on-screen camera button will turn red and you will see a red countdown in the top left.  When it reaches zero it will take a photo.
    • CM9 beta2 Monday, April 9th, 2012
      • Wired Headset Microphone volume now louder in calls.
      • Loud Speaker Volume now louder.  Both phone calls and media (music, Netflix, etc.) should both be louder.
      • Added emulation for RotationVectorSensor2.
      • Android 4.0.4 brings a few fixes and improvements.
        • Users report a smoother overall experience and better battery life than 4.0.3.
        • Camera auto flash is now fixed with Android 4.0.4.
        • One user reported sync with Exchange server failed in 4.0.3 but now works with 4.0.4.
        • Camera pinch to zoom.
      • Updated to 4.0.4 crespo blobs.
      • Enabled tun in the kernel for VPN users.
      • mdnie re-enabled.
    • CM9 beta1 Sunday, March 18th, 2012
      • Voicemail Notification option for those suffering from the "Phantom Voicemail" bug.  Phone < menu button > Settings > Voicemail Notifications is disabled by default.  Epic users on non-Sprint or overseas CDMA carriers may want to enable this option if they want voicemail notifications.
      • CM9 boot animation version 2
      • Device Encryption kernel support enabled.
        • Currently Untested!  Not compatible with CWM! Do not use!
      • 1.9MB memory freed by disabling the FIMC1 mmap and reducing mmap usage for the JPEG driver.  It is unclear what if any negative effects this causes.  crespo is also testing this currently.
      • Disable Samsung's mdnie improves color quality.
      • New CM9 Features
        • Holding Volume Up/Down while screen is off will change the current playing music.
        • Settings>Profiles
        • Settings>Developer Options>Root Access allows you to choose your root access mode.
        • Settings>Display>Rotation now has additional rotation options.
    • CM9 beta0 Wednesday, March 7h, 2012
      • 36MB memory has been freed!  Upgraded the MFC driver to match crespo, then found the minimum amount of cache necessary to allow camera, camcorder and video playback to work.  This allowed us to free 36MB memory from the kernel.
      • Fixed the annoying disappearing sdcard ringtone issue.  Thanks to everyone who contributed discussion and logs on the problem!
      • Fixed visible artifacts during video playback.  Youtube, Netflix and other videos should be less distorted now.
      • Fixed 720p video playback skipping caused by the video artifacts fix.
      • Fixed the signal bars to behave like stock ROM.  No real change in signal, it just makes users feel better about the signal bars and Time Without Signal percentage.
      • Dock audio kernel support.  Requires the Galaxy Dock Sound Redirector app from Market.
      • Fixed (one cause of) data reconnection failures that otherwise aren't remedied by toggling mobile data or airplane mode, but only by reboot.
      • Quiet Hours settings allow you to customize the behavior of notifications during the night.
      • XZ compression of kernel shrinks the ROM size by 1MB.
      • Improvements to kernel build and debug support scripts.  Not relevant to users, but helpful to Epic kernel developers.
    • CM9 alpha5 Sunday, February 26th, 2012
      • Fix to allow Chrome Beta to work on CM9.
      • Fix that prevents the modem from crashing in certain conditions.
      • Fixed ability to turn off blinking LED during low battery.  Blinking LED causes the battery to drain faster.  Settings > Display > Pulse low battery light.
      • Slick new CM9 Bootanimation by Cameron Bezadpour, optimized for Epic by Rodderick.
    • CM9 alpha4 Sunday, February 19th, 2012
      • Fixed the much hated Ringing of Death bug.  This was the short chirp before the ringtone, or constant ringtone that would play during or after an incoming call.
      • Fixed ICS multitouch protocol in qt602240 driver.  This should make it possible to play certain multitouch games like Dead Space.  It also fixes the touchscreen driver with CWM 5.8+ (not released by koush yet).
      • LED notifications have been changed to enable significant power savings.  LED notification has been changed to blink every 15 seconds, roughly matching the delay in Samsung's EL30.  This alone eliminates ~71% wakelocks, while previously the CPU was unable to sleep at all while the notification LED is blinking.
      • LED notifications may be turned off entirely for additional power savings.  Settings > Display > Pulse notification light.  This allows you to continue to hear the notification chime and vibration without the added battery drain of LED blinking.
      • Adjusted heap settings to match crespo.  This is very similar to a popular tweak in the forums.  It prevents some Out of Memory crashes (i.e. NPR News).  You can use these three lines in /system/build.prop to benefit from this tweak prior to alpha4.
        • dalvik.vm.heapstartsize=5m
        • dalvik.vm.heapgrowthlimit=48m
        • dalvik.vm.heapsize=128m
      • Dialer will no longer lockup in rare occasions.
      • Numeric battery % indicator now works!
    • CM9 alpha3 Monday, February 13th, 2012
      • Battery Related
        • Fix automatic brightness setting.  In alpha2 you could save power by turning off automatic brightness and manually reducing brightness. This is fixed by updating the array values for brightness levels to match CM7 and stock.  This reduces wasted power and hot screens reported by some users.
        • Capacitive buttons backlights (Menu, Home, Back, Search) now mimic TW behavior by turning off the backlight after a 6 second timeout.  This both saves battery and improves the user experience in darkness.
        • Fix the power profile.  Previously battery usage blame percentages were less accurate.
        • LED charging indicator no longer turns off after you dismiss a notification.
      • Switched to crespo kernel audio driver.  The kernel audio driver (wm8994) now matches the userspace driver (libaudio) we added in alpha2.  Should hopefully resolve speakerphone mic issues.
      • Voicemail default number is set to your phone number and not *86 by default on new installs.
      • MMS now shows profile faces.
      • Fix roaming bug.  Prior to alpha 3 opening Mobile Networks settings unintentionally disabled roaming.  Folks upgrading from alpha2 should open System settings and ensure Auto: Domestic Roaming is selected to enable roaming support.
      • Added roaming options.  Alpha3 includes domestic, international, both, and no roaming options as found in gingerbread TW ROMs.
      • Fixed the annoying "Data usage warning" that was previously impossible to dismiss from the notification window.
      • Removed Chinese and Japanese IME.  Install the better IME's from Android Market if you need Asian language input.
    • CM9 alpha2 Tuesday, February 7th, 2012
      • With alpha-2 and all future versions of CM9, you will no longer need to update gapps after every upgrade.  It is highly recommended that you upgrade to the new gapps-ics-20120201.  This new gapps-ics has the face unlock split into a separate .zip because it is rather large and not very useful with our low resolution front camera.
      • 4G WiMax curtain toggle.  If it doesn't appear automatically, you may need to manually configure it in Settings > System > Notification drawer > Widget buttons > Toggle WiMAX.
      • Video recording longer than 1:45min retains A/V sync.
      • "Call has been lost." popup no longer occurs on a far-end call hangup.
      • libaudio ported from crespo (Nexus S), resolves audio distortion during phone calls and improves Bluetooth audio quality.
      • Re-enable SEC_ADJUST_LMK in kernel to fix the low memory killer.  There was a problem where kswapd0 went crazy needlessly consuming cpu, killing performance and wasting battery.
      • Manual brightness setting slider now works.
      • Changing camera resolution no longer crashes the camera app.
    • CM9 alpha1 Tuesday, January 31st, 2012
      • Location services -  it was causing the CPU to spin for a long time wasting power.
      • Soft Keyboard dismiss when slider is open.
      • CWM scrolling
    • CM9 alpha0 Monday, January 30th, 2012
      • Initial release
    Troubleshooting
    • If your MMS does not work, you probably restored a bad backup with cached settings in telephony.db in data/data/com.*.*.telephony that need to be purged.
    • If your Calendar sync is broken, you probably restored a backup.  Wipe data and it should work.


      Device specific bugs
      • Cannot update PRL, Profile, do Sprint Hands Free Activation or Calibrate sensors - use this workaround for now.
      • CM9 for Epic is missing 5 of the 8 motion sensors usable in Gingerbread.  This apparently is the cause of auto-rotation not working for the minority of users.  Many of these users are able to make auto-rotation work by calibrating sensors using the temporary sdcard FC09. This problem is targeted to be fixed as part of the crespo kernel merge.
      Upstream bugs
      • Configurable notification toggles - not yet merged in CM9 upstream
      • Haptic feedback is stronger than stock.  Wastes battery.
      • "Private Number" in the call log appears as name "N" with phone number "-".
      • Wireless ADB enables on 3G/4G too.  This is unsafe.  We should ship with default iptables rules that block it.
      • MMS Slideshows are not supported.  You can view it by saving the attachments.
        TODO List
        • 3 button reboot?
        • Do we want to add support for a button combination that does an instant hard reboot?  Apparently the VolUp+Power+Camera combo was removed from stock ROMs earlier because it caused data corruption.  We may consider adding a button combo that is less easy to hit by accident, like something that requires hitting VolUp+Camera+SomethingOnSliderKeyboard.  What combination should we use?  Reference patches 1, 2, 3.
        • Insufficient Memory Mitigation
          • Convert drivers to CMA allocator
            <mkasick> yes, the memory problem is that these dma peripherals can't use scatter-gatter everywhere and so require large physically-contiguous buffers, which pretty much have to be preallocated and wasted in Linux
            <mkasick> newer versions of Linux have the CMA allocator which helps, I know SGSII uses that.
            This is estimated to free ~34MB, but it would be very difficult.
        • Make builds faster by making PNG optimize step less dumb
          • Prior to APK packing, optimize all PNG's and output into out directory.  Pack those PNG's instead.
          • If original PNG did not change, then need not optimize PNG again in the next run.
          • Remove the really slow unzip, optimize all APK's, rezip step.
          • Performance - Reduce default background process limit to 3 or 4 to ensure smooth performance.
          • CM9 Staging Kernel - official non-default kernel, ensures patches will not threaten stability.
          • Configure Dropbear sshd: Implement menu option to configure root password and enable dropbear sshd.
            1. More Tuning to LMK
              • This and this post suggests there are some low-hanging fruit opportunities to tune the LMK.  Currently the LMK is killing processes but not freeing its file cache.