Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

downloading from PC formatted card gets hung on IndexerVolumeGUID #22

Closed
davidallenmann opened this issue Mar 29, 2016 · 9 comments
Closed

Comments

@davidallenmann
Copy link
Contributor

screen shot 2016-03-29 at 8 50 00 am

@mgk
Copy link
Member

mgk commented Mar 29, 2016

Diagnosed... and narrowed a bit: suspect Windows 10 formatted fs hidden/system files are giving sdreaper trouble.

TODO: instead of always downloading the whole FAT filesystem, allow choosing of a directory, for example /data. This also makes it easier to deal with Mac OS hidden system file cruft.

@mgk
Copy link
Member

mgk commented Mar 29, 2016

TODOs:

  • mgk: try to repro with Windows 8 formatted fs
  • mgk: implement SD directory selection option
  • dm: test ReadWrite.ino example from SdFat lib to see if it also gets stuck

@mgk
Copy link
Member

mgk commented Mar 29, 2016

I can repro with FS formatted on Mac. Not related to hidden files or Windows formatting.

Suspecting that it is card speed issue. Previously I was testing with older/slower card. New Samsung card shows problem. dm: your card is newer/fastish, yes?

@mgk
Copy link
Member

mgk commented Mar 29, 2016

No need to test ReadWrite.ino

@mgk
Copy link
Member

mgk commented Mar 29, 2016

Setting

#define USE_MULTI_BLOCK_IO 0

at bottom SdFatConfig.h

fixes the problem. Don't see a clean way to do that (yet) as USE_MULTIBLOCK_IO is not wrapped with an #ifndef.

mgk added a commit that referenced this issue Mar 29, 2016
 - file read errors will eventually timeout and write
   zeros to the data file. This allows sdreaper to continue
   if some files have errors (reviously it blocked) but it does not
   fix the files that errored.

 - info command will attempt 3 times to get SD card info before giving
   up. This should help with intermittent empty responses to SD card
   info command.
@mgk
Copy link
Member

mgk commented Mar 29, 2016

f622996 avoids hangs when the error occurs so it will allow the download to proceed even if some files error. But it does not fix the underlying problem.

#define USE_MULTI_BLOCK_IO 0 in the 2015 version of SdFat-Beta fixes the problem.

The problem also appears to be fixed in this version of SdFat-Beta:

greiman/SdFat-beta@36d5c97

Updating my SdFat-Beta install to the above solved it for me.

The commit history shows that multi block io was reworked, so using the latest SdFat-Beta is probably the way to go.

dm: please confirm everything works with latest SdFat and reaper code and close.

@davidallenmann
Copy link
Contributor Author

using old version of reaper (from when first posted bug) and setting

#define USE_MULTI_BLOCK_IO 0 in the 2015 version of SdFat-Beta

does not fix problem

installing latest version of reaper does fix problem

@mgk
Copy link
Member

mgk commented Mar 30, 2016

Getting 91KB/s for a 4MB file with latest code.

@mgk
Copy link
Member

mgk commented Mar 30, 2016

dm confirmed works.

@mgk mgk closed this as completed Mar 30, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants