Jump to content


Photo

[2.6.32.9 kernel]: Working, call for testing

* * * * * 2 votes

  • Please log in to reply
60 replies to this topic

#1
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev
Hello everyone.

It started as a project to learn kernel programming and turned into an updated kernel for my device, Acer Liquid E (512Mb RAM version). I realize I am a bit late to the party but the device is still working, so why not?

This is a milestone before I switch to porting 2.6.35.x kernel as I want to get as close to official CodeAurora/Nexus One kernel as possible first.

Important: This kernel uses default partition scheme from atag (partition.mbn), so if you were using a custom ROM with overridden partition scheme in the kernel then DO NOT try this upgrade. If you are using a stock kernel or MTD layout then everything should be working for you. In other words, you need to use standard Malez recovery image.

GitHub repositories:
/device/acer/a1: https://github.com/r...-device-acer-a1
/kernel: https://github.com/r...roid-kernel-msm
/system/vold: https://github.com/r...orm-system-vold

Please perform a backup of system and boot partitions before flashing the update.
The latest build is acer_a1-kernel-2013-07-03-2.6.32.9-gc8bbbee-update.zip
Pre-built update archives are available here: 2.6.32.9
Tested successfully only on Acer_LiquidE_4.008.08_EMEA_VFIT.

What has changed?
All the available hardware is working the way it was in stock 2.6.29, however there are some differences:
  • AVR LEDs (the home/search/back/menu buttons) are always on when the screen is on. These are exported as /sys/class/leds/keyboard-backlight and it is expected to be turned on/off by the framework when the ambient light gets lower than certain threshold. At the moment I haven't implemented that. - The latest build mimics 2.6.29 behavior.
  • Updated libaudio. I made sure that everything is working with all the devices I have. I also fixed the low volume in audio recording software that I've seen on so many early custom ROMs in 2011.
  • Updated vold. Since top notification leds are exported via /sys/class/leds/{call,notification,battery} and are driven by mainline kernel tca6507 module (+power saving changes), permissions had to be adjusted for /sys/class/leds/{call,notification,battery}/{delay_on,delay_off} files after they are created by timer trigger.
  • bcm4329 module for WiFi. No user-visible changes.
  • /proc/last_kmsg - this build has RAM console enabled so the kernel log is available after reboot. kpanic is disabled, so no /sdcard/apanic-* logs are written.
  • USB Low Power Mode while charging. This should prevent the device from wasting power while charging (i.e. more current goes to the battery, leading to slightly faster charge). Also this should prevent a weird state of A1 powering USB subsystem when nothing is connected.
  • Top LED driver is completely shut down when no LEDs are on. Negligible power savings, but every bit helps.
Known issues:
  • TPA2018 (speaker amplifier) is set to maximum gain level when enabled. Due to bad output quality of TPA2018 module Acer decided to set master volume directly, while CodeAurora libaudio/libaudioflinger uses software mixing. You will hear a quiet hissing sound when speaker is working. If you were using max volume on stock acer kernel then you won't hear the difference.
  • dinfo partition is not exported through /proc/srs0, so "Device Information" will not show up.
The kernel repository has all the history information required for recreating the kernel, feel free to fork.

What needs to be tested?
Please let me know if you happen to find a configuration when the sound or SD card is not working properly or the device reboots or hangs for no good reason. The battery life for me was better or around the same as the stock kernel, so it should not drain your battery more than it used to.

Edited by errmsg, 03 July 2013 - 12:56 PM.

  • 3
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.

#2
Master_T

Master_T

    Addict

  • Members
  • PipPipPipPipPip
  • 591 posts
This is VERY interesting!

Do you reckon it could work on ROMs other than the stock? I'm doing a backup now, will try it on the CM7 Remix, I'm curious.

  • 0

#3
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev

Do you reckon it could work on ROMs other than the stock? I'm doing a backup now, will try it on the CM7 Remix, I'm curious.

It depends on what modifications went into the ROM itself. Most likely the phone will boot but either UI will not show up or some parts of the system will not work properly. In case the ROM is based on a stock acer kernel (or a kernel with minimal userspace-facing modifications) it should work.

  • 0
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.

#4
Diljeet

Diljeet

    Enthusiast

  • Members
  • PipPipPip
  • 272 posts
  • Gender:Male
  • Location:Acer Liquid Modaco Forum
  • Interests:CM7.2 - CM9 - CM10
  • Devices:Acer Liquid A1
Will it work on Acer Liquis A1(256 MB RAM)?
Should I try?

  • 0
@Developers: Thanks for your hard work

#5
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev

Will it work on Acer Liquis A1(256 MB RAM)?
Should I try?

I am afraid I don't know, an attempt to start the device by limiting the kernel memory space yields a DSP interaction error and the device reboots.
There were some changes of the physical memory layout between 2.6.29 and 2.6.32 and it would be a bit hard to find the reason as I only have a 512Mb version.
Unfortunately it will not be possible to debug this since the stock acer kernels don't have the ramconsole so any kernel information about the failure (should it happen) is lost on reboot.

  • 1
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.

#6
Master_T

Master_T

    Addict

  • Members
  • PipPipPipPipPip
  • 591 posts
Yeah, it doesn't work on the cm7 remix, but I have the A1 so that is probably the reason :(

  • 1

#7
zabulus

zabulus

    Newbie

  • Members
  • Pip
  • 24 posts
I've flashed your boot.img on my Acer Liquid E. But it won't starts up, only shows Acer logo and "Froyo. Development version" title, after that phone restarts in recovery. last_kmsg missing in recovery file manager, adb doesn't connect to the phone too. What else information can I provide for you?

  • 0

#8
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev

I've flashed your boot.img on my Acer Liquid E. But it won't starts up, only shows Acer logo and "Froyo. Development version" title, after that phone restarts in recovery.

Interesting that it decides to switch to recovery. In case of complete crash during the boot it would reboot and bootloop, which is not a good thing too.
I will provide a base 2.6.29 kernel with RAM console enabled to debug such kind of issues shortly.

last_kmsg missing in recovery file manager, adb doesn't connect to the phone too. What else information can I provide for you?

What is the base ROM name/original kernel version, is it a custom firmware? What is the baseband version, you can see that at the fastboot prompt?
You may be able to get a debug output by running adb wait-for-device && adb cat /proc/kmsg in case the debug mode is enabled in case it does not crash earlier than that.

I will test re-flashing to original 4.008.08_EMEA_VFIT now.

  • 0
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.

#9
Master_T

Master_T

    Addict

  • Members
  • PipPipPipPipPip
  • 591 posts
It rebooted in recovery for me too. A question: is it made for MalezRecovery or for CWM/TWRP?

  • 0

#10
zabulus

zabulus

    Newbie

  • Members
  • Pip
  • 24 posts

What is the base ROM name/original kernel version, is it a custom firmware? What is the baseband version, you can see that at the fastboot prompt?

This is Corasaa's port of the ICS from NexusHD2.
http://www.modaco.co...rt-by-corasaaa/

You may be able to get a debug output by running adb wait-for-device && adb cat /proc/kmsg in case the debug mode is enabled in case it does not crash earlier than that.

Ok I'll try and let you know about any progress

P.S. 2 errmsg. Privet Kievlyanam iz Dnepra ))

  • 0

#11
zabulus

zabulus

    Newbie

  • Members
  • Pip
  • 24 posts

You may be able to get a debug output by running adb wait-for-device && adb cat /proc/kmsg in case the debug mode is enabled in case it does not crash earlier than that.

Looks like the kernel crashes earlier adb starts. adb haven'twrote any log from kmsg

  • 0

#12
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev
Ok, running stock Acer_LiquidE_4.008.08_EMEA_VFIT with updated kernel and libs works as expected, so that means something in the userspace of the repacked ROM can trigger the reboot.

Attached File  device-2013-06-08-123535.png   31.15KB   20 downloads

Based on the fact that it has updated adreno libraries it may mean the kernel was modified to support something that froyo_almond 2.6.32 does not. I wish everybody published the links to the kernel sources.

(ru) И Вам привет!

Edited by errmsg, 08 June 2013 - 09:53 AM.

  • 1
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.

#13
zabulus

zabulus

    Newbie

  • Members
  • Pip
  • 24 posts

Based on the fact that it has updated adreno libraries it may mean the kernel was modified to support something that froyo_almond 2.6.32 does not. I wish everybody published the links to the kernel sources.

Look at this kernel sources:
https://github.com/t...iquid-chocolate
This is thepasto's kernel used in many ROMs made for liquid.
Also you can look for kernel in another thread: http://www.modaco.co...4xx-jelly-bean/. It is a forked version of thepasto's kernel to suport JB.

  • 0

#14
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev
A lightning killing my WAN port on the router has slightly altered my plans, so...

Bad news. I tried to add a RAM console to thepasto's and RomzesRover's kernels but they seem to be heavily modified for my userspace as my system MTD got corrupted after an attempt to boot it. Either these kernels have a driver that is not compatible with the yaffs version in 2.6.32 or something else went horribly wrong. I was able to boot thepasto's kernel only once.

FWIW, having the RAM console is as easy as this patch. These are the sizes and offsets I have selected on my kernels, RAM console steals 128K of physical memory and it is important that nothing else writes to that location.

I will continue working on my fork for the time being and update the original post when I make some progress.

Sorry people, for now it is only compatible with stock Acer latest VFIT firmware and the ROMs based on that version.

  • 0
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.

#15
zabulus

zabulus

    Newbie

  • Members
  • Pip
  • 24 posts
It would be great if you continue porting kernel in cherry-picking from upstream way.

  • 0

#16
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev

It would be great if you continue porting kernel in cherry-picking from upstream way.

Well, that's the kind of plan I have, although I want to avoid cherry-picking. I am now trying to get rid of as many Acer-specific code as possible and then switch to 2.6.35 branch.

  • 1
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.

#17
zorginho

zorginho

    Addict

  • Members
  • PipPipPipPipPip
  • 573 posts
  • Gender:Male
  • Devices:Nexus 4
Amazing, the liquid is really highlander.
I hope u will do a gingerbread version for the cm7.

  • 1

#18
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev

Looks like the kernel crashes earlier adb starts. adb haven'twrote any log from kmsg


I believe it is failing because you may be using a custom partition scheme not backed by changes in atag (partition.mbn). Could you please post the /proc/mtd from the ROM you are using?

The default MTD map is provided here for reference.

  • 0
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.

#19
RomzesRover_R

RomzesRover_R

    Regular

  • Members
  • PipPip
  • 121 posts
  • Gender:Male
  • Location:Russian Federation, Bashkortostan
  • Interests:Developer for cm9, cm10, cm10.1 and kernel
  • Devices:Acer Liquid A1
  • Twitter:@RomzesRover
good te hear it, Roman

I hope soon we can possible to use this kernel on higher android versions (basecly with cm10)

  • 0

#20
errmsg

errmsg

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Kiev
  • Interests:Kernel
  • Devices:Liquid A1 hw_version=6
  • Twitter:@RomanYepishev
The latest build, acer_a1-kernel-2013-06-14-2.6.32.9-g2b0a0c2-update.zip has the Acer workaround for USB Low Power Mode (LPM) on suspend removed - Qualcomm engineers have supposedly fixed the sleep issue in their kernel fork.

Earlier it was possible for A1 to enter a weird state of consuming the battery right after you unplug it from the wall charger (the regular USB charging from a host computer seems to be unaffected). Acer put a workaround for that which definitely stopped working properly on 2.6.32.9 and sometimes I got USB subsystem suddenly powered up in the middle of the night and failing to go to LPM. I got it working without the Acer workaround at the expense of hs_pclk clock always enabled. It's not clear whether that uses more power or not. I haven't noticed a difference though (which is a good thing).

Edited by errmsg, 14 June 2013 - 07:40 AM.

  • 1
My Acer Liquid Wiki
Share your knowledge because your hard drives are mortal.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users