Saturday, 25 June 2011

Slow progress on the kernel front…

So it’s been a while since I released an update for my Desire kernel.

There are a couple of reasons for this:

Firstly, I’m waiting for before I do a new release, although I was kinda expecting that before now.

Secondly, there really isn’t anything that needs fixing in the current release. It’s stable and it doesn’t *appear* to have any bugs, or at least nobody is reporting any, well, not ones that I can fix anyway. Winking smile

It isn’t dead or abandoned, I just don’t see the point in releasing updates when there isn’t any need for an update, and when it needs updating, it will be updated promptly. Smile

Obviously, if you have any bugs in the meantime, report them.

Wednesday, 1 June 2011

Custom bravo HBOOTs

Thanks to dzo on XDA, we now have custom HBOOTs for the Desire.

I have already made a couple of different sizes, which are available here, along with dzo's original custom Oxygen 100 /system hboot.

The caveats are:
  • I am not responsible for any brickings which take place as a result of you using those files.
  • Flashing HBOOT is a critical operation. If you mess up, or it messes up, or I have messed up, your phone will be bricked.
  • I haven't tested them, but I have compared the hexdump output to ensure they haven't become corrupted and checked the md5 multiple times before zipping. I also generated them on a computer with ECC RAM, which should rule out any corruption caused by bad RAM.
  • Unzip the file before attempting to flash it.
  • Always check the md5 of the hboot immediately before flashing. The md5's are located in the zip.
If anyone has sensible suggestions for HBOOT sizes which will be useful to the community as a whole and not just an individual preference (and that includes HTC sense 3.0 people who need a massive /system) then please comment below. release pulled

I pulled the r5 beta yesterday due to some reports of strange performance regressions, random loss of interactivity and the device not responding to touch input.
I also noticed this issue myself, and I also suffered a couple of panics of which the cause was indeterminate.
I released this beta to test an update to the bcm4329 wifi module, because some people were reporting wifi dropouts with the current version. But, it seems that the new version is more trouble than it is worth and I've backed out the bcm4329 update and reverted back to the older version which we works well.

I will push a new update in a couple of days once I have enough changes to make it worthwhile. I suspect that will be out soon, maybe I should wait for that.

Kernel Release

I know this post is a little after the fact, but I released version of my bravo GSM/CDMA/custom kernel a couple of days ago.

It is available here.
GPL source is available here.

Most people will want the main kernel in that directory.
If you want extras such as call recording, obscure filesystem support, swap, etc, then you will want the one in the custom folder.
If you have a CDMA device, you will want the one in the bravoc folder.

Changelog is here, but more detail is below.

Some improvements were received from Martin Johnston (dzo on XDA).
They were:
  • A fix for the light sensor, the level 1 value was being scaled to 0 during the boot time calibration in some cases rendering it useless. This change stops it being scaled to zero, so the 160 lux level should work on all devices now.
  • Some code was added to dump the last entries of the radio log if the radio crashes, as we have been seeing quite a few radio crashes recently for whatever reason.
  • A fix for the AVS implementation which was causing an issue where the ondemand cpufreq governor was being stuck at 245 MHz on random occasions when AVS was enabled at boot.
My changes for this release were:
  • Fixed an Oops (resulting in a panic and hard reboot) in the AVS implementation which would be triggered if you attempted to disable the AVS via sysfs if it was already disabled. The reason for the oops was that we weren't checking for the existence of the work queue before attempting to destroy it.
  • Full rebase against mainline 2.6.35.y git repo. This rebase had the side effect of fixing a scheduler logic error which had crept in via the incremental patches, which had been fixed in the Android tree and again in mainline a few releases later. I also rebased out some of the code which I don't use anymore, such as BFS/BFQ, etc.
  • Cherry-picked commits from mainline to fix which had crept into Users have reported much better interactivity and smoothness following this change.
If you have any issues with this kernel, please see this for reporting instructions.

Issue reporting

If you want to report an issue, please consider the following firstly to avoid wasting your time or receiving an unhelpful response from me:
  1. Many issues which people think are kernel issues, aren't. Please ensure that it is a kernel issue. Soft reboots, GPS issues, radio/data issues and most battery drain instances are not the fault of the kernel.
  2. Hard reboots (panics), complete system hangs, devices not working (dsp, oj, wifi, etc) might be the fault of the kernel.
  3. Please reproduce the issue with the kernel set as default, that means no AVS and no overclocking.
  4. I only support my own official releases, so if you built it yourself or got it from a 3rd party, you are out of luck. Reproduce with one of my official releases before reporting it to me.
  5. Please send me the output of last_kmsg if it was a hard reboot, and kmsg/logcat in any other cases, with a full explanation on how to reproduce the issue including all relevant information, such as changes you have made to the ROM, mods you have flashed etc.
  6. Do not report any Oxygen/DevNull ROM issues direct to me, they will be deleted or be subject to a harsh rebuttal. Report them on the issue tracker.
If you are happy that you can provide me with the information I need, and that it is a kernel issue you are experiencing, then please contact me at thalamus.xda(at)gmail(dot)com

New Blog

This is my new blog for Android development.
Any updates which I make to my kernel or anything else Android that I am involved in will be posted here.