We got some Seagate FreeAgent pro drives at work, and they have an annoying tendency to spin themselves down under linux, causing linux to give up on the drive and disconnect the device.
bbobbo on neweggs product review had a suggestion to fix this problem.
However I found that the sdparm command would fail if the drive was already idled.
# the drive reports something like this
$ sudo sdparm -a /dev/sde
/dev/sde: Seagate FreeAgent Pro 400A
Power condition mode page:
IDLE 0 [cha: n, def: 0, sav: 0]
STANDBY 1 [cha: y, def: 1, sav: 1]
ICT 0 [cha: n, def: 0, sav: 0]
SCT 9000 [cha: y, def:9000, sav:9000]
# when the drive was idled I got the following error message.
$ sudo sdparm --clear STANDBY -6 /dev/sde
/dev/sde: Seagate FreeAgent Pro 400A
change_mode_page: failed setting page: Power condition
# this appears to force the drive to start
$ sudo sdparm --command=start /dev/sde
# and now this command works
$ sudo sdparm --clear STANDBY -6 /dev/sde
$ sudo sdparm -a /dev/sde
/dev/sde: Seagate FreeAgent Pro 400A
Power condition mode page:
IDLE 0 [cha: n, def: 0, sav: 0]
STANDBY 0 [cha: n, def: 1, sav: 0]
ICT 0 [cha: n, def: 0, sav: 0]
SCT 0 [cha: n, def:9000, sav: 0]