Rockbox

Tasklist

FS#11830 - Playback glitching still seen in some Ipod Nano 1Gs. Appears exacerbated by heat.

Attached to Project: Rockbox
Opened by David Hall (Soap) - Thursday, 23 December 2010, 22:58 GMT
Last edited by Andree Buschmann (Buschel) - Sunday, 06 February 2011, 07:41 GMT
Task Type Bugs
Category Operating System/Drivers
Status Closed
Assigned To Andree Buschmann (Buschel)
Operating System iPod Nano
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

This is a task to organize the finding so far regarding what appears to be flash storage problems with some Ipod Nano 1Gs and DMA.
This task depends upon

Closed by  Andree Buschmann (Buschel)
Sunday, 06 February 2011, 07:41 GMT
Reason for closing:  Fixed
Additional comments about closing:  Fixed with r29106.
Comment by David Hall (Soap) - Thursday, 23 December 2010, 23:10 GMT
Ever since r14004 my iPod Nano has been unstable. I've gone long spells w/o using it in the past, so my historical record is weak.

Issues for others regarding similar issues were in FS #7510.

My findings so far:

Using an unmodified current build (r28800) my iPod Nano will audibly glitch (playback becomes a scrambled combination of multiple tracks) after the first rebuffering once the Nano is warm. Having the Nano in a pants pocket or arm band while exercising is sufficient to generate the temperatures needed to reproduce. Shortly after reaching this state all flash memory access appears to fail and a hard (unresponsive) freeze of the player is eventual. A forced (Menu + Select) reset will result in the bootloader failing to find rockbox.ipod.

I have been unable to reproduce this problem with my iPod chilled on an air conditioner vent.

This issue can be reproduced even when frequency scaling is disabled by artificially raising the boost count in the debug menu.

This issue can NOT be reproduced when the maximum clock speed is reduced to 76Mhz via the attached patch. Artificially heating the iPod to the point it was too hot to hold would not cause an issue.
Comment by Andree Buschmann (Buschel) - Thursday, 23 December 2010, 23:15 GMT
r15705 introduced a special handling of the IDE0_CFG register for nano 1G. This special handling was needed in the ATA and clock scaling section of rockbox. With introduction of PP502x ATA DMA this register is changed again (ata_dma_set_mode() in ata-pp5020.c).
Comment by David Hall (Soap) - Friday, 24 December 2010, 00:04 GMT
Buschel asked for the dump of IDE0_CF:
With DMA:
Unboosted: 20150020
Boosted: 30150020

Without DMA:
Unboosted: 00158020
Boosted: 10158020
Comment by David Hall (Soap) - Friday, 24 December 2010, 00:29 GMT
Commenting out line 124 ( IDE0_CFG |= 0x20000000; /* >= 50 Mhz */ ) of ata-pp5020.c did not appear to fix the problem.

No audio glitches, but straight-up *PANIC*s
*PANIC*
Dir entry 6 in sector 4 is not free! A4 A2 ED 4C

was the first one.

Will try changing 0x20000000 to 0x10000000 tomorrow.
Comment by Andree Buschmann (Buschel) - Monday, 27 December 2010, 22:39 GMT
soap, v02 equals your test from your last post (resulted in *PANIC*)
Comment by David Hall (Soap) - Tuesday, 28 December 2010, 01:21 GMT
Testing procedure:
0 - boot
1 - Rolo build to be tested
2 - Chill player on automobile vent until cool to the touch
3 - Listen to track 1 (MP3) of a playlist for 90 seconds while blowing as-hot-as-possible air from car heater vent on Nano.
4 - Skip to track 21 (MP3) of playlist to force a rebuffer.
5 - Listen for glitches.
6 - After 60 seconds of listening for glitches rolo testing build again, and then attempt to rolo stock (r28914) build.

Results:
Stock (r28914): Glitching (garbled audio) glitches after a rebuffer. Failed rolo ("Incomplete Install" error)
v01: Audio fine, v01 rolos fine, stock won't rolo when hot, will when cools off
v03: Audio fine, v03 rolos fine, stock won't rolo when hot, will when cools off
v04: Audio fine, v04 rolos fine, stock won't rolo when hot, will when cools off
v05: Audio glitches as above after a rebuffer, v01 rolos fine, v03 rolos fine, stock won't rolo.
Comment by Andree Buschmann (Buschel) - Tuesday, 28 December 2010, 03:51 GMT
Sounds like a tour-de-force not only for the nano but also for the air conditioning and the driver ;-)

Seems as if it is important to leave the function with 0x10000000 set und 0x20000000 not set.

Stock fails (0x10000000 bic'ed, 0x200000000 set)
v01 ok (0x10000000 set, 0x200000000 not set)
v02 nok (0x10000000 bic'ed, 0x200000000 not set)
v03 ok (0x10000000 not set, 0x200000000 not set) -> seems to work as 0x10000000 is set due to boosting/ata_device_init during startup when this is called.
v04 ok (0x10000000 set, 0x200000000 not set)
v05 nok (0x10000000 set and bic'ed at function end)

The attached v06 is a commented and #if'ed version of v03. I wonder, if this fiddling with IDE0_CFG is not needed for the other targets as well.
Comment by Andree Buschmann (Buschel) - Tuesday, 28 December 2010, 14:32 GMT
v07 seems to work fine on iPod Video 5.5G (30 GB) after some short tests. Tests on other PP502x target with HAVE_ATA_DMA are needed as well to ensure proper function.
Comment by David Hall (Soap) - Wednesday, 29 December 2010, 00:56 GMT
Following an identical test regimen as prior, v06 and v07 both pass.
The caveat is that they were not long term tests, simply a quick way to force my one known problem.

I'll continue to run v07 if you think that would be of help.
Comment by David Hall (Soap) - Wednesday, 29 December 2010, 00:58 GMT
I really should retest the 76Mhz trick.
The audio glitching can be subtle at times, a failure to rolo appears to be a much more definitive test.
Comment by Andree Buschmann (Buschel) - Wednesday, 29 December 2010, 16:16 GMT
Seems to work fine on an iPod color as well (short testing, of course).
Comment by Andree Buschmann (Buschel) - Monday, 03 January 2011, 22:43 GMT
My iPod Video has severe issues with v07. Audio PCM hissing and frozen playback.
Comment by David Hall (Soap) - Tuesday, 04 January 2011, 18:20 GMT
Two playback problems today.
1 - Playback stopped after a couple of hours. White screen "Data about". Device reboots fine but won't play any music. Upon music selection from the file browser WPS loads, displays metadata, but track never progresses.

2 - Playback stopped, no data abort, menus work, no files will load. Device reboots fine, upon selection of tracks WPS loads, displays metadata, plays two seconds and then stops. Device remains responsive. test_fps plugin loads and executes just fine. Bubbles game launches just fine. Music still will not load playback and now not even metadata loads.
Comment by David Hall (Soap) - Tuesday, 04 January 2011, 18:21 GMT
PS, rolo unsuccessful.
Comment by Andree Buschmann (Buschel) - Tuesday, 04 January 2011, 21:34 GMT
Soap, your issues sound the same than mine. Interestingly I had the same without the patch this morning... Weird... Could anything else be the cause?
Patch was built against r28940 and 28915.

Edit: Same issue with unpatched r28960 happened when creating the database during playback of a file.
Comment by Andree Buschmann (Buschel) - Thursday, 06 January 2011, 09:45 GMT
I created a new bug report ( FS#11863 ) which collects all the informations from above. I am convinced that the majority (if not all) of these issues are not connected to this patch as I experience those without the patch applied. Nevertheless it is hard to identify and judge any problems with this patch as long as the trunk is not fixed.
Comment by Andree Buschmann (Buschel) - Saturday, 15 January 2011, 23:52 GMT
After some research in flyspray bug reports I am even more convinced that the issues I have seen are not connected to this patch. These issues were reported at least since beginning of November 2010.

My question: Shall we still wait before submitting this patch?
Comment by Andree Buschmann (Buschel) - Friday, 21 January 2011, 23:38 GMT
Submitted with r29106 for nano 1g only.

Loading...