There have been lots of posts and articles and questions about the dreaded SD Card access changes in KitKat, and how the SD card can no longer be freely written.
And there is an excellent thread here http://xdaforums.com/showthread.php?t=2684188 about a great app that can fix it.
However, whether you fix your permissions manually, or using this app, there is still a very subtle difference.
I've been using rsync for Android for several years. I have a central Linux server at my house, on which I keep all my files, and I periodically rsync FROM my server, TO my Android Device (in this case, a Galaxy Note 3 SM-900 4G running 4.4.2) to a structure on the external SD card. That way I can keep a local copy of my files with me at all times. I pretty much fill a 64GB SD card this way.
Under 4.3 and earlier, I used /storage/extSdCard (or /mnt/extSdCard ) as my mount point to access my external SD card, and everything worked fine.
However, under KitKat, rsync was having a very strange issue. Attempts to rsync a file would result in:
rsync - failed to set time on file
for any file that it tried to transfer. It seemed like it was transferring the file, but was unable to change the timestamp on the file.
The solution turns out to be visible if you run Android Terminal Emulator and look at the output of the mount command. Tracing through that, I discovered that there is also a less-obvious alternate mount point, which is:
/mnt/media_rw/extSdCard
And, indeed, using that as an rsync target solves the timestamp problem.
Felt this should be posted somewhere, hope this is the right place.
Thanks.
Glen
And there is an excellent thread here http://xdaforums.com/showthread.php?t=2684188 about a great app that can fix it.
However, whether you fix your permissions manually, or using this app, there is still a very subtle difference.
I've been using rsync for Android for several years. I have a central Linux server at my house, on which I keep all my files, and I periodically rsync FROM my server, TO my Android Device (in this case, a Galaxy Note 3 SM-900 4G running 4.4.2) to a structure on the external SD card. That way I can keep a local copy of my files with me at all times. I pretty much fill a 64GB SD card this way.
Under 4.3 and earlier, I used /storage/extSdCard (or /mnt/extSdCard ) as my mount point to access my external SD card, and everything worked fine.
However, under KitKat, rsync was having a very strange issue. Attempts to rsync a file would result in:
rsync - failed to set time on file
for any file that it tried to transfer. It seemed like it was transferring the file, but was unable to change the timestamp on the file.
The solution turns out to be visible if you run Android Terminal Emulator and look at the output of the mount command. Tracing through that, I discovered that there is also a less-obvious alternate mount point, which is:
/mnt/media_rw/extSdCard
And, indeed, using that as an rsync target solves the timestamp problem.
Felt this should be posted somewhere, hope this is the right place.
Thanks.
Glen
Last edited: