• Stefan Richter's avatar
    firewire: new driver: nosy - IEEE 1394 traffic sniffer · 28646821
    Stefan Richter authored
    This adds the traffic sniffer driver for Texas Instruments PCILynx/
    PCILynx2 based cards.  The use cases for nosy are analysis of
    nonstandard protocols and as an aid in development of drivers,
    applications, or firmwares.
    
    Author of the driver is Kristian Høgsberg.  Known contributers are
    Jody McIntyre and Jonathan Woithe.
    
    Nosy programs PCILynx chips to operate in promiscuous mode, which is a
    feature that is not found in OHCI-1394 controllers.  Hence, only special
    hardware as mentioned in the Kconfig help text is suitable for nosy.
    
    This is only the kernelspace part of nosy.  There is a userspace
    interface to it, called nosy-dump, proposed to be added into the tools/
    subdirectory of the kernel sources in a subsequent change.  Kernelspace
    and userspave component of nosy communicate via a 'misc' character
    device file called /dev/nosy with a simple ioctl() and read() based
    protocol, as described by nosy-user.h.
    
    The files added here are taken from
    git://anongit.freedesktop.org/~krh/nosy commit ee29be97 (2009-11-10)
    with the following changes by Stefan Richter:
      - Kconfig and Makefile hunks are written from scratch.
      - Commented out version printk in nosy.c.
      - Included missing <linux/sched.h>, reported by Stephen Rothwell.
    
    "git shortlog nosy{-user.h,.c,.h}" from nosy's git repository:
    
    Jonathan Woithe (2):
          Nosy updates for recent kernels
          Fix uninitialised memory (needed for 2.6.31 kernel)
    
    Kristian Høgsberg (5):
          Pull over nosy from mercurial repo.
          Use a misc device instead.
          Add simple AV/C decoder.
          Don't break down on big payloads.
          Set parent device for misc device.
    
    As a low-level IEEE 1394 driver, its files are placed into
    drivers/firewire/ although nosy is not part of the firewire driver
    stack.
    
    I am aware of the following literature from Texas Instruments about
    PCILynx programming:
          SCPA020A - PCILynx 1394 to PCI Bus Interface TSB12LV21BPGF
                     Functional Specification
          SLLA023  - Initialization and Asynchronous Programming of the
                     TSB12LV21A 1394 Device
    Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
    Acked-by: default avatarKristian Høgsberg <krh@bitplanet.net>
    28646821
nosy.c 17.5 KB