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

Mark Lord
2009-01-02T15:49:18Z

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.

Cheers