The drive's not that old, though--I bought it when I ordered my plug, so it sat on a shelf for a month or so. Then I decided to hook it up to a Windows box to do backups for a week or so, which it did without trouble. When my plug came last week I took the drive away from Windows and reformatted it with the plug. So we're talking maybe two weeks of uptime? Not exactly a performance champion.
I guess I'll have to dig out my Best Buy receipt tomorrow....
UPDATE: I think I figured it out.
Seagate USB external hard drives have a sleep feature that's said to be incompatible with Linux. My system was turning it read-only after getting buffer IO errors. I turned off sleep this morning and have since had no troubles. (Cross fingers.)
In case anyone else is interested in the fix for this:
0) I unmounted the drive before doing this, since I was running fsck anyway. I don't know if you need to, but it can't hurt.
1) Install sdparm so you can access the drive's settings.
sudo apt-get install sdparm2) Follow the instructions in this post:
That's it. Thanks.