FS#8272 - Erratic reboot behaviour on sansa e200

Attached to Project: Rockbox
Opened by Bertrik Sikken (bertrik) - Wednesday, 05 December 2007, 18:07 GMT
Last edited by Barry Wardell (barrywardell) - Tuesday, 04 March 2008, 14:31 GMT
Task Type Bugs
Category Operating System/Drivers
Status Closed
Assigned To No-one
Operating System Sansa e200
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


I'm seeing erratic reboot behaviour on my sansa when plugging in the USB cable.

First of all, it often does not reboot at all when plugging in the USB cable. As far as I understand, the current version should reboot into the OF when plugging in the cable.

Secondly, when it does reboot, it seems some settings are messed up. For example, the ADC_CVDD value in the View I/O ports debug menu shows a lower number than normal, 460 instead of 480, suggesting that the CPU is undervolted to 1.05V instead of the normal 1.20V. This is not a problem per se, but at least suggests that something fishy is going on. Also the charger seems to be misconfigured: when I add a line to the debug menu to show to charger config and status, it shows 0x3E for the config, meaning it will charge up to 4.25V which is possibly harmful to the battery.
I'm attaching a photo showing these phenomena.

When I look at the reboot source code, I see an I2C command to turn the display off, but in fact the display doesn't turn off at all before rebooting. I think the I2C transfer is possibly never finished and may even confuse the I2C bus to write incorrect values to the AS3514. Apparently the reboot does not initialise all peripherals.
Furthermore, I find it a bit strange that the reboot function returns to its caller, I think there should be a loop waiting for the reboot taking us down instead of happily returning and executing on.
Attached is a patch that addresses both issues and also shows what code I used to look at the charger config/status.
This task depends upon

Closed by  Barry Wardell (barrywardell)
Tuesday, 04 March 2008, 14:31 GMT
Reason for closing:  Accepted
Additional comments about closing:  Thanks