Instaling Filter Driver On USB Hub devices

Hi All,

I am exploring a way to install Filter driver on hub device only. We are
having one application which needs to communicate with hub device to
send commands to its firmware. To achieve this we have developed filter
driver which we installed above Hub.sys. Filter is working fine we are able
to communicate to hub firmware when we install filter manually. But we need
to instal filter every time a new hub arrives. We want to automate this.

For this we have added key “UpperFiter” in USB class n registry but this
installs filter on each USB device which is a risk as every USB device stop
operating if filter fails. We want to avoid this by just instaling filter
on Generic USB Hubs class 09 reduce the risk. How can we do this?

Thanks and Regards
Sunil

You want to filter all hubs? Or just your special hubs which have special firmware?

d

debt from my phone


From: Sunil Kumar
Sent: 10/8/2012 5:13 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Instaling Filter Driver On USB Hub devices

Hi All,

I am exploring a way to install Filter driver on hub device only. We are having one application which needs to communicate with hub device to send commands to its firmware. To achieve this we have developed filter driver which we installed above Hub.sys. Filter is working fine we are able to communicate to hub firmware when we install filter manually. But we need to instal filter every time a new hub arrives. We want to automate this.

For this we have added key “UpperFiter” in USB class n registry but this installs filter on each USB device which is a risk as every USB device stop operating if filter fails. We want to avoid this by just instaling filter on Generic USB Hubs class 09 reduce the risk. How can we do this?

Thanks and Regards
Sunil

— 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

Sunil Kumar wrote:

I am exploring a way to install Filter driver on hub device only. We
are having one application which needs to communicate with hub device
to send commands to its firmware. To achieve this we have developed
filter driver which we installed above Hub.sys. Filter is working fine
we are able to communicate to hub firmware when we install filter
manually. But we need to instal filter every time a new hub arrives.
We want to automate this.

For this we have added key “UpperFiter” in USB class n registry but
this installs filter on each USB device which is a risk as every USB
device stop operating if filter fails. We want to avoid this by just
instaling filter on Generic USB Hubs class 09 reduce the risk. How can
we do this?

The filter can go fetch the VID and PID during AddDevice. If it’s not a
device that it wants to play with, it simply skips creating the device
object and attaching it to the stack.

Alternatively, your firmware burner can go enumerate the tree and see if
there are any matching devices that aren’t currently filtered, then
install the filter and restart the hub. You’d want to be aware that
restarting the hub that holds your keyboard is going to result in a
temporary loss of control.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Yeah Doron,
We want to filter all hubs initially! Later we will skip hubs from our list
which we dont want want filter according to business logic.

Tim,
First method suggested by you will not be good for us as we dont know these
device in advance. So every time new hub comes we have to add VID & PID in
some file or registry.

Is there anything called hub class filter? I found it difficult as hub
share same inf as ehci/ohci does which USBport.inf

Thanks and Regards
Sunil

On Mon, Oct 8, 2012 at 11:00 PM, Tim Roberts wrote:

> Sunil Kumar wrote:
> >
> > I am exploring a way to install Filter driver on hub device only. We
> > are having one application which needs to communicate with hub device
> > to send commands to its firmware. To achieve this we have developed
> > filter driver which we installed above Hub.sys. Filter is working fine
> > we are able to communicate to hub firmware when we install filter
> > manually. But we need to instal filter every time a new hub arrives.
> > We want to automate this.
> >
> > For this we have added key “UpperFiter” in USB class n registry but
> > this installs filter on each USB device which is a risk as every USB
> > device stop operating if filter fails. We want to avoid this by just
> > instaling filter on Generic USB Hubs class 09 reduce the risk. How can
> > we do this?
>
> The filter can go fetch the VID and PID during AddDevice. If it’s not a
> device that it wants to play with, it simply skips creating the device
> object and attaching it to the stack.
>
> Alternatively, your firmware burner can go enumerate the tree and see if
> there are any matching devices that aren’t currently filtered, then
> install the filter and restart the hub. You’d want to be aware that
> restarting the hub that holds your keyboard is going to result in a
> temporary loss of control.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> 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
>

Sunil Kumar wrote:

Is there anything called hub class filter? I found it difficult as hub
share same inf as ehci/ohci does which USBport.inf

No. The install class “Class=USB” was INTENDED to hold only hubs and
host controllers, but vast legions of developers decided that it ought
to be used for any USB device that didn’t fit into another class. As a
result, it has become a garbage dump for miscellaneous devices.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.