Showing posts with label kernel. Show all posts
Showing posts with label kernel. Show all posts

Friday, May 11, 2012

Epic 4G Kernel 3.0.x Progress

T
This post documents our progress porting kernel-3.0.x to work on Epic 4G CM9.

News
  • Update 6/23/2012:
    • Haptic feedback is now working, thanks to nubecoder.
    • Updated the test kernel download files.  If you were using a previous test kernel, redownload the zImage and boot.cpio.gz.
  • News 6/20/2012:
    • The orientation sensor has been fixed with the switch to CM9 libsensor source, although the test kernel is not yet updated for it.
    • WiMax is working, although there are still some big bugs to work out.  The test kernel will be released when it is stable enough to use.
  • News 6/18/2012:
    • nubecoder is working on porting the vibetonz driver to the 3.0.x kernel.
  • Update 6/9/2012:
    • Reverted display drivers to match stock 2.6 which results in much better colors.
    • Incorporated the 200MHz min frequency fix from 2.6.
    • Switched the default governor to Ondemand and added the ability to control the min/max cpu frequency via the Performance menu.
    • Added sysfs controls from 2.6 for disabling the capactive key backlights via the Advanced Settings menu.
    • Updated to 3.0.33
    • Updated the test kernel download files.  If you were using a previous test kernel, redownload the zImage and boot.cpio.gz.
  • Update 6/4/2012:  
    • Added a "Bugs" list. 
  • Update 6/3/2012:  
    • Capacitive key backlights are now timing out with the keyboard light.
  • Update 6/2/2012: 
    • Mic recording and proximity sensor now properly continue to work during calls.
    • Kexec test kernel posted under Links section with instructions. Feel free to test and report any findings as a comment to this blog post.
  • Update 5/19/2012:  
    • Fix light & proximity sensors.  This also allows for Autobrightness to function.  
    • Fixed camera snapshots.  Front facing camera still needs fixing.  Fixed front facing camera.
    • There appears to be a bug during calls where the mic recording gets disabled as the CPU goes to sleep.  Waking the phone with the power key re-enables the mic.  Calls are not dropped and you are still able to hear the other person, but they obviously won't hear you.  Using an app like Softlocker to disable deep sleep allows the mic to function continuously during the call. 
    • Proximity sensor fails to operate the screen after above mentioned suspend issue, until manually reactivating the sensor or after initiating a new call session.
  • Update 5/17/2012:  Call audio is now working.  
  • Update 5/11/2012:  Wifi is now working.
What Works
  • Haptic Feedback
  • Call Audio
  • Wifi
  • SDCard
  • USB Mass Storage
  • 3g & Text Messaging
  • GPS
  • Light/Proximity Sensor
  • Bluetooth, A2DP
  • Ringtones, Notification Sounds, Media Audio (Speaker & Headset)
  • Incoming/Outgoing Calls
  • Recovery Mode
  • adb
  • Keyboard
  • Touchscreen & Softkeys
  • Autobrightness
  • Capacitive backlight timeout
  • Camera Snapshots (Front and Back)
  • Video Recording
  • Screenshots
  • /system, /data, /cache mounted as mtd/yaffs2
  • Suspend/Resume
  • Charging
What Doesn't Work Yet
  • WiMAX - In progress.
  • Headphone mic (need to confirm)
  • More to add as we find it
Bugs
  • Capacitive key backlights become dim at some point (happens after first suspend).
  • adb uses Google vendor id (18d1) during recovery mode instead of Samsung id (04e8).
    • Linux users may need to adjust your usb udev rules to recognize device. (Permanent flash only)
  • Registers a generic adb device serial number.
  • Charging bugs (seem to be tied together, but doesn't always happen)
    • Statusbar battery icon not properly reflecting actual charge state. (possibly occurs after first suspend, still unconfirmed.)
    • Phone enters deep sleep while on charger. (might have been a fluke, need to confirm)
    • Charge LED does not stay lit with screen off. (Presumably when enters deep sleep)
  • Powered off device on charger will automatically boot up (Permanent flash only)

Links


Temporary kexec test kernel instructions:
Files last updated: 6/23/2012
Note:  The orientation sensor should work if you are on Beta5-pre1 or newer.  If north is pointing the wrong direction, consider a quick calibration as seen here:

  1. Download the 3 files: zImage, boot.cpio.gz, & boot_zImage_with_boot.zip
  2. Place the files at the root of your sdcard (/sdcard/zImage, etc.)
  3. Flash boot_zImage_with_boot.zip from CWM.
IMPORTANT:  The phone's stock browser saves zImage as zImage.bin.  You *must* rename it back to zImage.

Please test anything in the list above, whether we specify it working or not.  If something isn't working fully, or not working at all, please let us know in a comment.  Anytime you want to go back to your normal kernel, just reboot the phone.