> -----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-296313-
xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Friday, August 03, 2007 12:12 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] How to install an upper filter over USBHUB.SYS
First, there is confusion over the term “filter”. There are 3 types
of
filters in the OS and I think folks are thinking one type of filter is
another type. The 3 types are
- device filters
- class filters
- bus filters
I covered some of this in my blog,
http://blogs.msdn.com/doronh/archive/2006/09/18/761325.aspx, talking
about device and class filters. Device filters filter a specific
device
based on an INF installation of the filter. It can filter above or
below the service driver. Class filters filter devices based on the
class of device they are installed under. This is done by updating the
registry value for the specific class. The scope here is limited by
the
class of device. In both of these cases, there is a well known
interface/io type that the filter is modifying. For a device filter,
it
could be the specific URBs for a specific device. For a class filter
it
could be the incoming I/O for the device as defined by the device
interface. The toaster filter is a device or class filter.
Bus filter drivers are an entire different story. The root device
starts out as an upper device filter, but then becomes something else.
It attaches to each PDO enumerated by the bus driver below it and then
proceeds to do the same for any further PDOs enumerated by the children
it attached to (etc etc). A driver here has no idea about the i/o on
the devices on the bus b/c it is attaching to all of them, so unless it
is modifying generic transactions, the benefit here for what most of
you
have said you want to do is zero. For instance, a bus filter is the
wrong technique to create read only personal storage devices (mp3, mass
storage, wpd). The right place is many levels higher at the device
level or the children enumerated by the device you want to filter (for
instance filtering the specific disk stack for a mass storage device
might make more sense than filtering the mass storage FDO).
Thomas, IIRC, you needed to give your devices serial numbers otherwise
you would have had a long install right?
[PCAUSA] There are several different aspects of testing USB devices for
manufacturing.
First understand that in some cases a wide variety of vendors produce
functionally similar devices (say “USB-Ethernet DSL Modems”). The testing
facility has no design control over the devices.
Devices are to be tested in bulk with as many devices as possible tested
concurrently. The test machine may have several USB host adapters, and for
each test 8 to 16 devices may be tested at one time. (Imagine a boxcar-load
of devices to be tested…). Even better would be to use external powered
USB-hubs (quicker physical connect/disconnect).
Understand that 1.) some devices have unique serial numbers, 2.) some claim
to have unique serial numbers but actually use the same for all and 3.) some
devices have no serial number at all.
There are several issues, and issues may vary depending on the way the
particular lot of devices behaves.
One issue is to provide an clear way for the test technician (first job
after graduating from Burger King…) to relate test software failure
indications with a PHYSICAL USB port. Instructions to tech: “Put RED
sticker on the device connected to port No. 5”.
Second issue is that after several hours of use there are so many registry
entries for new incarnations of devices that the time to bring all 16
devices online becomes intolerable. Must rollback the system.
Third issue is simply the time it takes for the system to detect and load 16
(or more) “identical” USB devices.
The general problem is to deal with multiple concurrent identical USB
devices - not just Ethernet (Multiple USB audio devices come to mind). One
does not have the luxury of specifying only “sane” devices. Customer has
bought a load of “whatever” and that must be used today, something “the same
only different” tomorrow.
Thomas F. Divine
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@yahoo.ca
Sent: Friday, August 03, 2007 7:33 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] How to install an upper filter over USBHUB.SYS
Hi Doron, like what Kenny talked about, why writing a bus filter driver
is not supported?
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
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