I've been checking out this program and it's source code. The problem seems to be some sort of power management that turns the leds off after about 2 seconds when the screen is off and the phone is on battery.
The kernel exports some files to /sys/bus/i2c/devices/2-001a/ that can be used to control the leds. One file in particular is led_onoff. I've found that while on battery, if I do "# echo 0 > led_onoff; echo 1 > led_onoff" from a console, it will reset the leds and turn them on before the system turns them off after about 2 seconds when on battery. Everything seems to work as expected while on charge.
I'm not sure how to troubleshoot too much further than that. It looks to be something either in the kernel or android system files but I'm not about to start cooking my own kernel just to check it out. It's probably also a bit beyond my whole understanding of the code.
But, I've been able to implement a fairly bad hack to get it working in the 'blink' mode. Basically it just adds in some code to reset the leds before starting the next cycle which is enough to get it going (same as the command above). It has the side effect of making all the leds flash for a split second when they come on and uses a timer to control the blink so the phone will constantly waking every few seconds to control the leds and I'm not sure how that will affect the battery. Also works best with a blink time of 2 seconds on obviously because power management turns them off after then anyway.
Download it below if you want to try it out (sorry for the format, can't post links yet - please remove the spaces):
Code:
www . mediafire . com / ?ez9rxjr8od9gouc
If you have the old version installed you will need to remove it first as this has a different signature.