This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#12184 - Fuze V1 locking when transferring files Rockbox 3.9
Attached to Project:
Rockbox
Opened by Kent Williams (williamskg6) - Saturday, 09 July 2011, 02:13 GMT+2
Opened by Kent Williams (williamskg6) - Saturday, 09 July 2011, 02:13 GMT+2
|
DetailsThis is a post that another user put in the forums that pretty much describes the problems I'm having exactly:
" I have a v1 sansa fuze and been using rockbox since 3.8.1 first came out.I just upgraded to 3.9,did not mess with ''a-n-y'' setting at all,pc is windows vista (latest sp).Whenever i drag and drop folders with mp3s in them(be it 58 mb or 300 mb or 600 mb) it starts to copy but halfway through,the process just freezes,clicking cancel freezes the windows explorer for 10 seconds then cancels it.Even worse,when i go check out my sansa fuze at my computer,it's recognized but when i click on it,shows as empty!? so i disconnect safely,theeeen....device needs a hard reset.So i say ok this has happened once or twice before but guess what? it happened again...5 TIMES each on 3 different usb ports.Uninstalled rockbox,went back to official firmware and it's all normal... So i changed the screen to be always on during plugged in and this is the error i get data abort at 30054264 FSR 0x8 ( domain 0, fault 8 ) address 0xA00000BF " I am running Windows 7 64-bit and experiencing the same issues. If the player doesn't lock outright, it gives the same error white screen described above. This seems to happen more frequently when copying folders that contain folders themselves, but I've had the problem occur on copying just one folder with no subfolders. |
This task depends upon
Happens in 3.9 and latest archived build as of today.
is there anything a user (not a developer) can do for this to get corrected? The description of http://www.rockbox.org/tracker/task/11870 appears dangerously related to this problem...
Had to revert back to 3.7.1 to be able to transfer files.
This is kind of a critical bug since it affects some major functionality of the unit in my opinion. If there are log files or screenshots I can send please advise. Thanks.
There is. See my post immediately above yours.
I've been experiencing this bug since upgrading to 3.8.
It still exists in the current version (3.11.2)
I doubt you'll find any binaries from that long ago, most are only stored for a month or so given the shear size they take up. Instead, you'll have to compile them from source:
http://www.rockbox.org/wiki/DevelopmentGuide
1. Boot into Recovery Mode by holding down << and then powering on. The Player has to be connected with your computer.
2. After the Fuze has started it will mount as USB Drive and you can access the drive.
3. Copy your new files to the drive as usual. The funny thing is: When i started the fuze with Rockbox i had a transfer rate of about 2.5 MB/sec, when i booted the fuze into recovery mode i had about 3.7 MB/sec.
4. After you copied the files, unplug the cable and wait until it has rebuilt the fuze´s database, i guess thats the old sansa db ...
5. Power down and power on again
6. RB 3.11.2 will boot and you can access the new files.
So i guess the problem comes definitely from Rockbox itself, my OS is Win7 64bit...
cheers
This is no recovery mode but the normal sandisk's firmware ;)
Also, you can abort the database thing, just holt OFF switchfor 15 seconds. The fuze will turn off, just load rockbox on re-powering.
OK, I've hit it with the archived 3.8.1 build, too. At least I know I'm building the right ones :)
I don't think the changes to sd-as3525v2.c will have any impact on the Fuze v1, that file isn't compiled for AMSv1 targets and so changes shouldn't do anything (you can check what files build for what target in firmware/SOURCES).
How sure are you that 3.8 work and 3.8.1 does not?
Test Procedure:
1. Sansa firmware (V01.02.31A) format function, USB Mode to MSC
2. Connect to Ubuntu 12.10 host, mount filesystem
3. unzip rockbox.zip -d /mount/point
4. sync, unmount, disconnect and wait for Firmware upgrade in progress to finish and power off
5. Connect to Ubuntu 12.10 host, device powers on and boots Rockbox in USB mode, mount filesystem
6. Initiate file copy from host to device
Problem: After some minutes the host dmesg says
[754691.152259] usb 2-4: reset high-speed USB device number 52 using ehci_hcd
[754706.264258] usb 2-4: device descriptor read/64, error -110
and transfer fails. Device resets on button press, or shows garbled / frozen display. Device internal filesystem contains errors like .rockbox/config sharing data with transferred file copy data.
I did git bisect (initial good is ef3ec72 and bad is 0e8e166). Here's what I found w/ git bisect:
The merge base 48b1a2d39d1678c0dfa7b2271c29c52b6c8169d0 is bad.
This means the bug has been fixed between 48b1a2d39d1678c0dfa7b2271c29c52b6c8169d0 and [ef3ec72bfbbb5fa98ed07cdb6666a546b7fd3be0].
9cc0dab3ced1f0c9205f6cba4933096eca915157 is the first bad commit
commit 9cc0dab3ced1f0c9205f6cba4933096eca915157
Author: Amaury Pouly <pamaury@rockbox.org>
Date: Mon Jul 4 21:55:56 2011 +0000
elftosb: remove duplicate code, merge two redundant fields
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30123 a1c6a512-1295-4272-9138-f99709370657
:040000 040000 d2dc67c2279954d462de75de05e521e17cd1ad90 3c52d3e8be5e5af0d698039c97d83b122836e974 M utils
I did git bisect this time from git master with 3a39f77 bad ; f9a6bde good. After a lot of compiling and testing, and my 100% hit rate on the bug with my file copy data, I'm confident that this is where to start looking.
Tested Fuze V1 4GB and fixes the issue for me. Please test, what is the reason this has any effect on USB mode?
How to reliably detect if there is a problem?
1. format with OF
2. use OF MSC mode usb to mount and unzip rockbox.zip
3. sudo badblocks -c 1 -n -o /tmp/sansascan.txt -s /dev/sdX
In my case I tried this and it seems repeatable to induce failure with rockbox 3.8 ; However, rockbox 3.7 (449838b) works fine, no errors. Can't git bissect 3.7 to 3.8 though.
So... 3.8 might total chance that it works, but no problems with 3.7, yet.
935b6c63d774bddb01d33b38985eb091b8232ebe is the first bad commit
commit 935b6c63d774bddb01d33b38985eb091b8232ebe
Author: Magnus Holmgren <magnushol@gmail.com>
Date: Sun Nov 21 15:27:36 2010 +0000
Backport fix for
FS#11696to 3.7 branch: Scrollwheel doesn't respond in some cases.Any chance of this being related?
I've done some preliminary re-testing with the new microsd and badblocks: One pass of badblocks on v3.8-final succeeded without problems. I tested a known-bad commit from my previous bisect (57e272cf5db) and one pass failed. Last night I tested git HEAD (c500f4efe521) out of curiosity and one pass of badblocks succeeded… but a second pass just failed! However, the first pass was connected to a USB port direct, and the second via a hub. I wonder if it could be a USB1 vs USB2 issue.
I'm going to reflash v3.8-final and run a load more badblocks tests, then some file tests if they all come out ok, with local USB and via a hub to try and ensure that it's fine for my HW at least.
"Revert r28000 on the 3.7 release branch, as for as yet unknow reasons it
causes playback issues on a small number of players."
In particular it was never reverted on the trunk nor in the 3.8 branch.
I'm going to continue bisecting between v3.7-final and v3.8 for now.
causes playback issues on a small number of players."
In particular it was never reverted on the trunk nor in the 3.8 branch."
So if that is the problem, can that particular piece of code still be reverted in the latest builds and retested?
Yes, if we had identified that commit as being the problem, then trying to undo it on the master branch might be a thing to try.
Unfortunately that isn't the "bad" commit. This isn't a normal regression: In effect we're looking for a "good" commit; the main branch has never worked and the 3.7 branch started to work at some point, so we're looking for a single commit that fixed the problem rather than caused it. Normal regression techniques don't work as a result.
I've kept my spreadsheet updated with my testing but here's an alternative view, this one is the output of "git log" for v3.7-final decending coloured according to my test results. https://docs.google.com/spreadsheet/ccc?key=0Al0NtsRKNZQ1dG5FMUxfTUUzaGx2NFdtN3NNWkluaWc
The problem is there's no clear reason why the first three commits are good and the rest bad. The implication is 90fafbea fixed the problem that patch *was* applied in master.
At this point I'm going to try more tests on 90fafbea to increase the confidence that it is indeed good, then when it's undisputable hopefully we can start to figure out why.
I really appreciate the effort and I'm sure everyone else that responded here does too!