Advanced USB snooping

Bernd Walter ticso at cicely12.cicely.de
Tue Feb 22 21:55:05 GMT 2005


On Tue, Feb 22, 2005 at 09:00:58PM +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.
> 
> >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.
> 
> If I can connect it to the computer from the "other" side it solves the problem
> I think.

But it does behave a a sinlge device only - and even that not in
every aspect.
They are limited to the number of channels they can do and so on.

> >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.
> 
> Fpga is doable, asic requires a large factory run.
> Unless there is a ready to buy asic.

FPGA are ASIC - just a special kind of.
Take an ISP1106 and an 48MHz oscillator with an 48MHz capable FPGA
and you should get it runninng.
48MHz is the usuall clock used for oversampling the 12MHz line signal.
The ISP1106 does the electrical part of the bus for you.

> >> 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.
> 
> The catch with normal setup is that you need to poke around in the m$-win
> machine which can cause other problems. So the idea would be to just insert
> some device with one male + female connector and a connection to the snoop
> computer. So that the m$-win computer don't need any special software.
> Also m$-win host software snoop lack the nice programming enviroment of unix.
> In order to filter out the stuff that one really wants.

Public available Windows software can output ascii.

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



More information about the freebsd-hackers mailing list