Long term this will be addressed in the next major version of windows.
If you need a fix in faster timeframe, you need to go through PSS (which
I think you have already done for other Vista related USB issues) for
this issue as well.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Michal Vodicka
Sent: Tuesday, November 28, 2006 11:51 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Vista late reaction to USB remote wakeup
Thanks, Doron. It is exactly as you wrote. The extra delay is only at
UHCI when root hub isn’t suspended. I.e. when it is disabled in its
power properties and/or there is connected another device which can’t be
suspended. At OHCI it works as expected in all possible configurations.
Well, I see it as a Vista bug. First, hub global suspend seems to be
disabled by default. Second, if any other device which can’t be
suspended (as MS mouse for example) is connected to the same HC, hub
can’t sleep and remote wakeup signal is still delivered late. We could
change the default settings for hub to which our device is attached
(although it isn’t something I’d like) but we can’t expect to have
dedicated HC (well, maybe some notebooks manufacturers who have our
sensor integrated would agree with it…). So the only current solution
is to disable SS for our device which in turn means 10% shorter battery
life at notebooks.
Is there any possibility to fix it in the near future? I’m not quite
sure but doesn’t it violate USB specification? IIRC remote wakeup has to
be processed within some time which is much shorter than 700 - 800 ms we
see.
BTW, in the meantime we verified with oscilloscope it is really HC
problem.
Other observation: at UHCI when only our device is attached and hub
suspend is disabled, the delay is about 700 - 800 ms. When hub suspend
is enabled and there is MS mouse attached in addition (so hub can’t
sleep), the delay is about 300 ms (still too much).
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]
From:
xxxxx@lists.osr.com[SMTP:xxxxx@lists.osr.com
] on behalf of Doron Holan[SMTP:xxxxx@microsoft.com]
Reply To: Windows System Software Devs Interest List
Sent: Tuesday, November 28, 2006 5:48 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Vista late reaction to USB remote wakeup
I fwd’ed this to the USB team and they asked this:
Is there any difference between when the root hub is enabled for
selective suspend versus when it is not, e.g. check/uncheck the “Allow
this device to turn off this device to save power” box in the Power
Management tab? Is there any difference between UHCI and OHCI?
I think this may be an issue with the fact that the Vista hub driver
allows individual ports to be suspended for selective suspend, whereas
XP will always enter global suspend. It looks like on UHCI resume
signaling will not trigger an interrupt if the HC is not in global
suspend; it will only be detected when the rollover TD completes,
which
occurs every 1024ms. This would explain the 700-800ms delay if they
are
only seeing this on UHCI.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Michal Vodicka
Sent: Monday, November 27, 2006 1:46 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Vista late reaction to USB remote wakeup
Our USB fingerprint reader is suspended (selective suspend) most of
time. When user touches sensor, it uses remote wakeup to signal this
event to PC which in turn awakes driver and application which reads
captured data from the device. For one device with no internal memory
it
is important data reading starts within 100 - 150 ms. Works well at XP
and w2k3 and stopped work at Vista. Average time between finger detect
and data starts is about 1000 ms which is disaster. It affect even the
device with internal memory because addional time is apparent in user
interface.
I verified the time isn’t spent in the software. The time between
WaitWake IRP completion and data read start (which involves some
control
endpoint transactions in between) is 40 - 50 ms. USB analyser shows
the
same times. The whole time seems to be spent between device remote>
wakeup and HC reaction to it. The time between end of suspend and the
first SOF is about 700 - 800 ms in the log I have. The reaction is
immediate at XP on the same hardware.
Any idea what we can try or what can be wrong? Or is it yet another
Vista USB “improvement”?
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer