I have one of these drives. The basic issue is that it uses SCSI standby mode (different than idle mode). When in standby, if the command it receives isn't a START, it will return an error and start. Sometimes this means fs corruption, sometimes the fs gets remounted read-only, or, I guess, sometimes the USB speed gets bumped down (never saw that one myself).
I've found four ways of dealing with it:
Return it and get something else (obviously).
Use sdparm or sg3-utils to turn off the standby mode. The drive will keep this setting no matter where it's plugged in to.
Insert a udev rule like this:
SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate",ATTRS{model}=="FreeAgent*", RUN+="/bin/sh -c '/bin/echo 1 >/sys/class/scsi_disk/%k/allow_restart'"
Linux now recovers properly when the drive is in standby mode, but you'll need to do this on every computer that uses the drive.
Run Linux 2.6.24-rc4. All USB drives now allow_restart by default.
I have one of these drives. The basic issue is that it uses SCSI standby mode (different than idle mode). When in standby, if the command it receives isn't a START, it will return an error and start. Sometimes this means fs corruption, sometimes the fs gets remounted read-only, or, I guess, sometimes the USB speed gets bumped down (never saw that one myself).
I've found four ways of dealing with it:
SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate",ATTRS{model}=="FreeAgent*", RUN+="/bin/sh -c '/bin/echo 1 >
Linux now recovers properly when the drive is in standby mode, but you'll need to do this on every computer that uses the drive.