|
Rockbox mail archiveSubject: Re: 5.5G iPod shutdown confusing the boot code?Re: 5.5G iPod shutdown confusing the boot code?
From: Boris Gjenero <boris.gjenero_at_gmail.com>
Date: Wed, 04 Mar 2009 14:29:40 -0500 Dave Woyciesjes wrote: > Well, my iPod wouldn't start up this morning. I've been using it in > iPod/iTunes mode for the past week+, without issue. This morning, had to > give it the 2finger to get it going. When it finally started up, there > was a quick flash before the Apple logo, but I couldn't catch of it was > a low battery symbol. When it came all the way up, I did notice the > battery was only at 50% charge. Which is very odd, since I didn't use it > off charger for any length of time yesterday. It should've been at least > 90%. > Looking at the Last Played timestamp in iTunes shows what I > expected. Nothing was played between 5:38 pm yesterday & 8:04 am today... > Seems like it didn't properly go to sleep last night. Thanks a lot for this report! I was always sceptical about this happening with the Apple firmware and you just proved that it does. When you turn "off" the iPod in the original firmware, it goes to sleep which means memory contents are retained and code which has been loaded from disk retains control. After sleeping for a while, the iPod transitions to deep sleep or hibernation mode. Memory is saved to the hibe part of the firmware partition and the iPod actually turns off. When you turn on the iPod, the first part is just like when you turn it on to run Rockbox. The code in flash runs, and it needs to read from disk to see that it needs to restore from hibe data instead of loading osos. Since this problem happens before the disk has a chance to spin up, whether you're resuming from hibernation or starting Rockbox is irrelevant. According to several online sources, iPods go into deep sleep after 14 hours of inactivity, and yours has been off for 14 over hours. The only easy solution I can think of is patching the code in flash to remove or alter low battery checks. They're done via the BVMC register and ADC of the PCF chip. Of course you have to watch out for flash checksum checks; I'm not sure if there are any. I wonder if this only happens with older batteries. Internal resistance rises as batteries age. There might be a significant inrush current right after the iPod is turned on, and if battery internal resistance is high, that would lower voltage. I don't think this can happen because of the iPod not going to sleep properly. That could actually drain the battery, but I don't see how it could mess up the PCF ADC or BVMC register. -- BorisReceived on 2009-03-04 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |