Saturday, 20 August 2011

Kernel RC1 is available

Because I’m lazy, I’m just going to link to the Oxygen forum, which you should join, if you haven’t already.


(And because I’m ultimately lazy, copy and paste ftw.)

Wednesday, 17 August 2011 is released…

Because I’m lazy, I’m just going to link to the Oxygen forum, which you should join, if you haven’t already.


Thursday, 11 August 2011

Kernel RC1 is available

Finally, was released! So, here is an update for you.

The changelog is the same as the kernel, except I have rebased with

There is also a bravoc version and a custom version for both bravo and bravoc.

Available at the usual place.

Monday, 1 August 2011

Kernel RC1 is available

Just a little update, there are more cleanups to be done, but I’m kinda busy so don’t get much time these days. I will update the custom one and the bravoc one next time around when I finish the cleanups and do a r5 release, which should be in the next week or so.

Changelog for RC1:

  • Changed the battery charging logic slightly because we were possibly slightly overcharging the battery, which as a side effect was making the calibration procedure ineffective.
  • Code cleanups, removed some dead code.
  • Removed the AVS code. I don’t believe that the instability it can cause when enabled is worth the tiny amount of power which is saved.

It’s available at the normal place.

Sunday, 3 July 2011

Custom HBOOTS…update…

I have decided to release a win32 console app which allows you to generate your own hboots.

This console app is based on dzo’s code which patches the correct locations of the hboot in order to change the MTD partition table. I take no credit for figuring out the patching part of this app.

The features of this app are:

  • Custom partition selection and several checks to stop you trying to do something silly.
  • Ability to label the hboot (max 9 characters), it shows as AlphaRev <label> when you boot to the bootloader.
  • It patches the latest AlphaRev hboot (6.93.1002).

The limitations of this app are:

  • No checksum check of the source hboot, you have to do that yourself
  • No way of being sure that the patched hboot isn’t corrupt, it does a basic file size check, but that is all.

The caveats are:

  • If this app produces a corrupt hboot and you flash it, your phone IS bricked, and that really isn’t my fault, as ample warnings have been given and as far as I know the app works correctly
  • Reasons for corrupt hboots could be bad RAM, filesystem corruption, or maybe a bug in the app…
  • If you really want to check to make sure your computer is generating good hboots, check the hexdump output and compare it with a known good one. For example, generate one with 100 MB system, 5 MB cache, then dump the hex and compare with the Oxygen r2 hboot from, they should be identical apart from the label

Just double click hboot_patcher.exe or run it in a console window and read and follow the instructions. If you do something silly, it will tell you off and abort.

I do assume that you know what you are doing, so don’t forget to do fastboot reboot-bootloader and fastboot erase cache before attempting to boot to recovery to restore your ROM. :)

It also runs successfully under WINE.

Again, if you are scared about possibly bricking, then don’t use this tool. :P

It is available here.


- Will

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.