If your running a x64 bit Ubuntu or other Linux and find USB transfers hang at the end apply this fix:
echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes
I suggest you edit your /etc/rc.local
file to make this change persistant across reboots.
sudo nano /etc/rc.local
Go to the bottom of the file and leave a space then paste in those two lines.
Save the file with ctrl + x then press y.
To revert the changes enter this in console and remove the lines in /etc/rc.local
echo 0 > /proc/sys/vm/dirty_background_bytes
echo 0 > /proc/sys/vm/dirty_bytes
More info and references: https://unix.stackexchange.com/questions/107703/why-is-my-pc-freezing-while-im-copying-a-file-to-a-pendrive/107722#107722
At the core of this problem is an unjustifiably low speed while, typically, writing to USB2.0 thumb drives. All these solutions appear to provide is an honest reporting of the -still sluggish- transfer progress and nothing to address the diminished speeds. What can one do about the low transfer speed?