Thanks. It isn’t necessary to differentiate between devices plugged into
the port; in this case we’d have port assigned for our device. If our
driver can access methods for its port, it’d be quite sufficient. Hubs
in between are unusual for our customers (although I remember few) and
we can exclude them as a pre-condition. The solution we offer leads to
some hw and ACPI tables changes anyway.
Personally, I’d prefer WMI solution as it is a bit more general but our
user mode devs developed some kind of WMI allergy
And it seems
evaluating ACPI methods is simpler than using WMI from driver. Anyway,
I’ll try to suggest it again. Maybe there is yet another reason. In the
future we will have UMDF driver instead of current WDM. Maybe I’m
missing something but I don’t see a way how to evaluate ACPI method for
this kind of driver built over WinUsb. Without KMDF based filter or
something like this.
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jake Oshins
Sent: Wednesday, February 13, 2008 11:42 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] USB driver and BIOS
To answer your original question, ACPI can describe root hub ports.
It cannot differentiate between devices plugged into those
ports. So you could have a method under each port, one of
which would then be in your stack. But it wouldn’t work if
your device was behind a plug-in hub.
Peter’s suggestion was a good one.
Alternatively, you could essentially do what Peter suggested
with WMI.
(I know you said you didn’t want it, though.) You can have
your ACPI BIOS expose an “ACPI WMI Mapper” device which then
exposes WMI objects and methods as ACPI control methods. You
can then evaluate these from either your driver or user-mode.
This is complex, but it saves you the trouble of creating
yet another driver stack. (You just use ours
instead.)
- Jake Oshins
Microsoft
Former ACPI Guy
“Michal Vodicka” wrote in message
> news:xxxxx@ntdev…
> >> -----Original Message-----
> >> From: xxxxx@lists.osr.com
> >> [mailto:xxxxx@lists.osr.com] On Behalf Of
> >> xxxxx@osr.com
> >> Sent: Wednesday, February 13, 2008 4:00 AM
> >> To: Windows System Software Devs Interest List
> >> Subject: RE:[ntdev] USB driver and BIOS
> >>
> >>
> >>
> >> Alternatively (and the way we’ve done this in the past) is
> you have
> >> the BIOS define some sort of a private device type with
> your desired
> >> method, and you instantiate a driver over it.
> >>
> >> I know it sounds silly, but it works out well and does a
> nice job of
> >> compartmentalizing the functionality.
> >
> > It doesn’t sound silly, I’ll take it as a good backup solution. The
> > drawback is we’d need one more driver.
> >
> > BTW, do you know the answer to the original question i.e. is USB
> > device can be defined in ACPI tables? The answer is
> probably somewhere
> > inside ACPI specification but it is quite discouraging text…
> >
> > Best regards,
> >
> > Michal Vodicka
> > UPEK, Inc.
> > [xxxxx@upek.com, http://www.upek.com]
> >
> >
> >
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online
> at http://www.osronline.com/page.cfm?name=ListServer
>