Rockbox

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Bugs
  • Category USB operation
  • Assigned To No-one
  • Operating System iPod 5G
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by GCRaistlin - 2021-11-09
Last edited by GCRaistlin - 2021-11-09

FS#13316 - Copying files is extremely slow

Copying speed is less than 1 Mb/s in 2021-11-08 dev build. In 3.15, it was up to 5 Mb/s and higher.

Warning: Undefined array key "useheading" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 1099 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 123 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 124 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/common.php on line 30 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 938 Warning: Undefined array key "useheading" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 1099 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 123 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 124 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/common.php on line 30 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 938 Warning: Undefined array key "useheading" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 1099 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 123 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 124 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/common.php on line 30 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 938

Here are those builds to test. The 1st is before my USB changes, the 2nd is the commit which fixed the iflash bugs, and the 3rd is right after the toolchain version bump.

71cc1e78fd: 1300 Mbytes - 4:25, 1005 - 4:45
aab72f969f: 1008 Mbytes - 6:32
4873a1ac61: copying freezed after 876 Mb done; Windows allowed to interrupt it and survived, Rockbox didn't; many target files were corrupted.

No USB connection issue with any build (10 tries of 10).

USB Mode - Ask: no panic but after a few connects/disconnects it stops to enter Mass Storage mode at all + "USB device not recognized". I noticed that "Device setup" window appeared on the taskbar right before that. Tried with 71cc1e78fd and aab72f969f.

the 2nd is the commit which fixed the iflash bugs

Please note that my mod isn't based on iFlash.

Ah okay, so the USB changes appear to be the culprit… which is surprising, to be honest. I'll get a debug build for you later today to investigate further.

USB ask mode is a separate bug – basically while yes/no screen is displayed Rockbox can't respond to any USB communication so the connection can't be set up properly. I'll open a new bug on the tracker for it.

Warning: Undefined array key "useheading" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 1099 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 123 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 124 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/common.php on line 30 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 938

Debug build with logging: https://drive.google.com/file/d/18rJyhdBsu3gDIj04dihyWDGXDol20md3/view?usp=sharing

I'd like you to gather logs from two tests using that build:

  • 1st test: connect and safely remove without doing any file transfers
  • 2nd test: connect, copy a few hundred MB to the disk, safely remove and disconnect

Make sure to reboot between the tests. To dump the log file after each test, go to System > Debug > Dump Log File (it's at the bottom). That should create a timestamped file named logf_YYMMDDHHMMSS.txt in your .rockbox directory – upload those logs here please and I'll take a look at 'em.

Logging patch attached here for posterity.

I continuously get USB device not recognized error with this build (10 tries of 10).

What should I reboot Windows, too?

"What" is superfluous…

So this one doesn't connect, but the normal development/daily builds are connecting? I haven't made any changes so they still should be. Assuming that's actually fixed and I didn't just luck out. Sorry to be sending you in circles here.

Also, there's no need to reboot Windows.

No, current daily/dev builds are showing the same error. I went back to 71cc1e78fd.

Even with USB not recognized the build I posted should produce useful logs, so if you can get me a log from a failed connection attempt it should shed light on what's going wrong.

Plug in, give it 30 seconds or so, unplug, and then System > Debug > Dump Log File.

Warning: Undefined array key "useheading" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 1099 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 123 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 124 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/common.php on line 30 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 938

What's happening is the USB packets appear to be getting corrupted after they've been received but before Rockbox finishes handling them.

This build may fix it. Send me the log if it still won't connect.

(For reference: this is g#3964 plus the attached logging patch.)

https://drive.google.com/file/d/13fBmnNJJLKSLc1wjXnR1LNt-jUZqgqUq/view?usp=sharing

No USB device not recognized error. No corrupted files.

1st test: connect and safely remove without doing any file transfers

See attach.

2nd test: connect, copy a few hundred MB to the disk, safely remove and disconnect

Rockbox hangs on Dump Log File.

Warning: Undefined array key "useheading" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 1099 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 557 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 123 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 124 Warning: Undefined array key "target" in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Warning: Trying to access array offset on value of type null in /home/rockbox/flyspray/plugins/dokuwiki/lib/plugins/changelinks/syntax.php on line 127 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/common.php on line 30 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/rockbox/flyspray/plugins/dokuwiki/inc/parser/xhtml.php on line 938

Thank you for that. Looks like that last fix solved your connection issues, so I committed it earlier today. Try the latest development build (f8810be6de) and see if USB speeds are back to normal.

If not, here's a new test build. Just do the 2nd test (copying files) and post the log.

https://drive.google.com/file/d/1n4iTSqdqRTcKfz2lcnipEdIrlAFWcXAO/view?usp=sharing

Note: the log file dump might take a _very_ long time so I added a primitive 'progress bar' so you can confirm it's still running and not just frozen.

Copying of 1789 MB (after each test I have deleted the target directory, rebooted iPod and copied about a gigabyte of another data to nul to clear the cache):
1. Rockbox: 5:31
2. Disk Mode: 9:34
3. Rockbox: 5:07
4. Disk Mode: 12:34
5. Apple OS: 5:41
6. Apple OS: 3:50
7. Apple OS: 3:49 8. Rockbox: 4:52.

With the new test build - 5:13.

Doesn't this show the slow copying issue is fixed? The worst case was

1789 / (5*60 + 31) = 5.4 MB/sec.

There's still room for improvement as the Apple OS shows, but that's no surprise.

I was working on a UASP-enabled mass storage driver for the benefit of the FiiO M3K / Shanling Q1 / ErosQ ports. It may work on the iPod video, if the iPod's USB controller has enough resources to support it, and may be able to put Rockbox's speeds on par with the Apple OS or possibly even exceed it. The current version of that driver is just a buggy prototype and doesn't work on Mac or Windows. I intend to finish it off some day, but I'm not working on it for the time being.

Yeah it seems so. Does the latest (20211116) daily build include these fixes?

Yes, the fixes are all merged.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing