Advanced USB snooping

Bernd Walter ticso at cicely12.cicely.de
Tue Feb 22 08:41:59 PST 2005


On Mon, Feb 21, 2005 at 03:41:01PM +0100, Peter B wrote:
> 
> Is it possible to program an "ordinary" (like Intel 82801CA/CAM (ICH3)) USB
> host controller into acting as an usb device instead? (just like scsi can).
> 
> Idea:
>   M$Win-Usb -> FreeBSD-USB#1  .. software .. FreeBSD-USB#2 -> Device

No - this wonn't work.
Host Controllers are dedicated host controllers.
Kombinations exist for USB-on-the-go, but they are intended for use
with microcontrolers in devices and are basicly nothing more than a
host controller and a device controller with shared port lines.
Their purpose is that you can connect you picture camera directly to
your printer and so on.
If you use a microcontroller you can use normale device controllers,
such as the PDIUSBD12 or the ISP1581 - there are many others as well.
But the they are all limited to work as a single device and not as a
path through device.
Even a USB hub is very limited in what it can do in repect of delays.
All USB sniffers I know run with some kind of ASIC, which is not very
hard to do if you are familar with such devices.
The hard work is doing software to present the sniffed data in a
usefull way.
There are some cheap USB sniffers for full and low speed available
on the market.
Their limitation is usually that they don't tell you anything about
signal quality and such.

> The advantage would be then to possible use scripts to debug protocol in order
> to port drivers to freebsd.

Sniffer Software exist at driver level at least for Windows and NetBSD
derived stacks and I would be surprised if there isn't anything
available for Linux as well.
Hardware sniffers are very usefull if you are into debugging host
controllers and sometimes device controllers on your own, but for
debugging device drivers it's rarely usefull.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd at bwct.de                                  info at bwct.de



More information about the freebsd-hackers mailing list