FS#10810 - e200v2 - Recording to microSD causes "disk is full" error

Attached to Project: Rockbox
Opened by Michael Chicoine (mc2739) - Wednesday, 25 November 2009, 18:08 GMT
Last edited by Rafaël Carré (funman) - Saturday, 16 January 2010, 05:28 GMT
Task Type Bugs
Category Recording
Status Closed
Assigned To No-one
Operating System Another
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


When recording to the microSD card on an e200v2 the message "The disk is full. Press PREV to Continue." is splashed when the recording is stopped. The recording may or may not exist when you look on the microSD card. If the recording does exist, it has been truncated. The microSD card had approximately 100mb available.

Recording on the internal storage works fine. When recording in mp3 mode, the file was 1k larger than shown on the recording screen.

Rockbox build = r23746

Steps to reproduce:
1. Create a directory for the recordings on the microSD card.
2. In the file browser, highlight this directory and bring up the context menu.
3. Select "Set As Recording Directory"
4. Next, I went to Settings -> Recording Settings -> Format and chose "MPEG Layer 3" but the default PCM Wave also caused the same failure.
5. I started FM Radio and through the context menu started recording (MIC recording also fails)
6. On the recording screen, press the play button to actually start recording.
7. After some time, press the play button to pause recording. Make note of the size.
8. Press the power button to save the recording.
9. The disk full splash appears.
10. Press PREV to clear the splash.
11. Exit the context menu and the FM Radio.
12. Browse to your recording directory. If the file exists, check the properties. It will be smaller than the size noted on the recording screen.

Here are some of the recording size to file size comparisons I noted:
80.4 -> 79k
106k -> 95k
508k -> 493k
243k -> 238k
This task depends upon

Closed by  Rafaël Carré (funman)
Saturday, 16 January 2010, 05:28 GMT
Reason for closing:  Fixed
Additional comments about closing:  voltage scaling has been disabled
Comment by Thomas Martitz (kugel.) - Tuesday, 08 December 2009, 13:14 GMT
Did you check by hearing if the recording is truncated? I'm thinking the filesize difference could be a stupid GB vs GiB problem (I haven't looked at the code at all).
Comment by Michael Chicoine (mc2739) - Thursday, 10 December 2009, 12:21 GMT
I checked the recording and it does not appear to be truncating.

With a more recent build (r23909) I am also getting a panic after the "disk is full" splash. The panic message is:

SD Xfer write err:0x8 Disk 1
Comment by Jack Halpin (FlynDice) - Monday, 14 December 2009, 03:50 GMT
I tried this today with r23977(4 bit bus) and could not duplicate it. I got no disk full splashes and the file sizes were very close(within 1k) and seemed reasonable for rounding.
Comment by Michael Chicoine (mc2739) - Monday, 14 December 2009, 05:08 GMT

Tested with r23983 and still having the same issue.
Comment by Jack Halpin (FlynDice) - Monday, 14 December 2009, 14:41 GMT
Is this with a SanDisk µSDHC 4GB Class 2? Do you still get the PANIC? 0x8 is a data timeout so perhaps the difference is from the speed class of the cards.
Comment by Michael Chicoine (mc2739) - Monday, 14 December 2009, 14:43 GMT
Yes, it is a SanDisk µSDHC 4GB Class 2. Originally I did not get the panic, but I do still get the same panic I got with r23909.
Comment by Michael Chicoine (mc2739) - Tuesday, 12 January 2010, 01:47 GMT
According to Ste- on the forum ( ) this problem does not occur if you go into debug -> CPU Frequency and switch to 248 MHz. This points to this being a voltage scaling problem. I have been able to reproduce his findings with my e260v2 and microSD card.

As a further test, I disabled the voltage scaling in system-as2525.c so that the voltage was always at 1.20v. This also allows recording to the microSD card with no errors.