Re: Enable CONFIG_USB_SUSPEND by default or some mobile HD can'tbe unplugged safely

From: Mark Lord
Date: Fri Jan 02 2009 - 10:49:47 EST


Mark Lord wrote:
Tino Keitel wrote:
On Fri, Jan 02, 2009 at 00:03:43 +0800, Yan Li wrote:
Hello List,

By default CONFIG_USB_SUSPEND is not enabled and today I got bite by
this when I got a new WDC My Book hard drive. I have no way to unplug
it safely, according to it's manual, with a kernel that doesn't have
CONFIG_USB_SUSPEND=y.

On it's manual read "you should unplug and remove the device only when
the light is off." On Linux unmounting it won't turn it's light off
and I can feel it's motor is still running. The only way to unplug it
properly on a Linux system, as to my knowledge, is to echo `suspend'
to `/sys/bus/usb/devices/$DEV/power/level'. And one has to have
CONFIG_USB_SUSPEND=y to do this.

With a WD My Passport drive (2,5"), I need to use sg_start --stop --pc=3
to stop the disk before unplugging it. Maybe this works with your
drive, too. This is also required by some Firewire hard disks. Maybe
the eject command should be extended to use this method, as it is used
also by HAL to eject hotplug devices.
..

Incidently, the WD Passport drives support SG_IO,
so things like hdparm and smartctl can work with them as well.
..

s/SG_IO/SG_IO+SAT/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/