I got some advice from someone else experiencing this problem to use rsync --bwlimit, which actually works.
If I set the bwlimit around 300 kbps for the transfer, I'm able to fill the device to capacity without hanging my system. Does this mean that the device isn't telling the usb system when it can't "take anymore"? Does this help narrow the problem to a usb vs. firmware problem? From what little I understand of this stuff, it seems like maybe when the device's buffer is full linux doesn't know to stop sending data. --Adam
pgp00000.pgp
Description: PGP signature