Hello

We build devices that get write-access to their storage as soon as windows
stops using it.

We observed that Windows Vista's USB MassStorage drivers don't suspend
devices when they're "safely removed". Windows Vista just stops sending "TEST
UNIT READY" requests, which can't be used to detect an "eject" reliably.

The "Eject" command in the context menu of the explorer suspends USB MSC
devices as expected.

Can we fix this without custom drivers? Why was the behaviour changed? Is it
possible to change the DeviceDescriptors to get the old behaviour or to
disable the "safely removed" icon for the device?

Regards, Paul Kunysch

Re: No suspend after safe removal with Vista? by Doron

Doron
Tue Jan 02 21:18:46 CST 2007

by suspend do you mean a suspend command on the wire itself? or a protocol
suspend? the usb core is entirely new for vista, so if you are expecting
the on the wire command, it could be due to the rewrite.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Paul Kunysch" <PaulKunysch@discussions.microsoft.com> wrote in message
news:22D0EEB8-816B-4A33-B321-3635502F4196@microsoft.com...
>
> Hello
>
> We build devices that get write-access to their storage as soon as windows
> stops using it.
>
> We observed that Windows Vista's USB MassStorage drivers don't suspend
> devices when they're "safely removed". Windows Vista just stops sending
> "TEST
> UNIT READY" requests, which can't be used to detect an "eject" reliably.
>
> The "Eject" command in the context menu of the explorer suspends USB MSC
> devices as expected.
>
> Can we fix this without custom drivers? Why was the behaviour changed? Is
> it
> possible to change the DeviceDescriptors to get the old behaviour or to
> disable the "safely removed" icon for the device?
>
> Regards, Paul Kunysch
>



Re: No suspend after safe removal with Vista? by PaulKunysch

PaulKunysch
Wed Jan 03 02:34:00 CST 2007

"Doron Holan [MS]" wrote:
> by suspend do you mean a suspend command on the wire itself? or a protocol
> suspend?

By "suspend" I mean a PORT_SUSPEND on the wire.

I didn't see a protocol specific (RBC/SCSI) "START STOP UNIT" either. If a
PORT_SUSPEND isn't possible I'd be happy if we could get a "START STOP UNIT".


(My problem can be reproduced with Apple's 1st generation iPod Shuffle.
Usually a blinking LED indicates that the user must not remove the device.
The Shuffle keeps blinking after "safely removing" it in Vista.)

Regards, Paul Kunysch