Bus Hound is a software
capturing device data transfers and protocol. Bus Hound can also be used
to build and submit commands to devices including bus resets. See the
below screen shots for a good look at the tools:
Above: Bus Hound
capturing commands sent to a DVD drive.
Above: Bus Commander requesting a string descriptor from a USB device.
Pricing and Availability
Bus Hound was first
released in April, 2000. The product can be purchased
securely online from Perisoft using a credit card. The product
is delivered by electronic download. The download size is
megabyte. The cost of a Bus Hound is $799 US dollars per
user. A site license may be purchased for $4995 US dollars, which allows
every employee at a site to use the product.
Bus Hound supports
95, 98, Me, NT 4, 2000, 2003, XP, XP Embedded, Vista, and 2008. Bus Hound runs on
32-bit and 64-bit Windows including x64, EM64T, AMD-64, and Itanium. But
note Itanium supported is limited to XP and Windows 2003. No extra hardware or changes to
the system are needed; Bus Hound is strictly a software product.
Bus Hound supports
every device that can be attached to IDE, SCSI, USB, FireWire, iSCSI and Fibre Channel buses. This means it can be
used with disk drives,
DVD drives, keyboards, mice, digital cameras, printers, scanners,
speakers, web cams, and everything else. Bus Hound also supports
capturing data from the serial port, parallel port, ps/2 mice, and ps/2
- Captures megabytes of I/O at a time. The capture
depth can be set starting from 1K up to available system RAM in
- Use Smart Triggers to stop the capture process
upon a high level condition such as "no media" or "not ready".
You can also specify a text or hex data pattern to trigger on.
- Build and submit commands including
bus and device resets.
For SCSI and ATAPI devices, you can send CDB's. For IDE
devices, you can send ATA task file commands. For USB devices, you can
send control, bulk, interrupt, or isochronous transfers as well as
simulate hot plug. For FireWire devices,
asynchronous transfers can be performed.
You can also access any device at the hardware I/O Port level. The data transfer
results can be saved to
a binary file.
- Capture device driver packets including IRP's,
URB's, IRB's, SRB's, IOR's, and SCSI pass through.
- Merge repeated identical commands. Especially
useful for compacting captures where a device is polled with the same
- Display device properties such as the device serial
number, hardware id, USB endpoints, bus power, bus speed, and FireWire
- Measures device performance. View individual read,
write, and isochronous performance along with the total amount of data
transferred of each.
- Display what device driver submitted each command.
- I/O from multiple devices can be captured
simultaneously, even if devices are attached to different buses.
- There is no limit on how many machines can run the
product in parallel.
- The system startup process can be captured, allowing
capture of the very first commands sent to a device.
- In addition to command and data transfers, low-level protocol is captured
such as operating system status and sense data. This
information can be used to efficiently trouble shoot device driver or
- Microsecond resolution timing is captured. This
allows the time between commands to be measured as well as the elapsed
time of a single command.
- Captured data can be viewed in real time, dragged
and dropped to other applications, or saved to a text or zip file.
- When the capture buffer fills to capacity, Bus Hound
can be configured to stop the capture process or continue capturing,
keeping the most recent acquired data.
- The capture depth of each individual I/O phase can
be configured from 1 byte up to 2GB in 1-byte increments. For instance,
if the capture depth is set to 8 bytes, only the first 8 bytes of each
packet will be captured.
- Log the system date and time of when each phase
- A simple web-like interface. Devices are selected
simply by placing a checkmark next to them in a graphical tree.
||Windows Logo compliant. Among other benefits, Bus Hound
includes an installer, uninstaller, automatically migrates to new
operating systems, has keyboard support, is designed to run in a multi
processor environment and passes rigorous stability tests.
Individual Bus Features
USB: Bus Hound captures all 4 transfer
types: control, bulk, interrupt, and isochronous. All
USB versions and speeds are supported including USB 2.0. The USB
endpoint of each command is also displayed.
IDE: Bus Hound captures command and data
transfers for ATA and ATAPI devices. All PIO and DMA modes are supported
such as Ultra/133. Bus Hound captures native ATA task file commands for SMART
and IDE pass through requests.
Bus Hound captures the command and data phases for all parallel and
serial bus standards. CDB's and
sense data are shown with descriptions based on the device type.
FireWire: Bus Hound captures read/write/lock
operations, isochronous transfers and bus resets. All 1394/FireWire versions and
speeds are supported.
The site license version of Bus Hound includes
bhlog.exe, a command line tool that allows spooling captured data to a
file in real time. Comparatively, the Bus Hound application captures to RAM. Since bhlog is limited only by free hard drive
space, it provides the capability to capture I/O over tremendously wide
time periods. The other advantage of bhlog
is the ability to retain captured data in the event a system freezes or
reboots by directing the captured data to a file on a network drive.
Bus Hound is
targeted to expand the market for bus analyzers.
Bus Hound captures snap shots of packets sent across the bus rather than
individual hardware signals.
Users will find Bus Hound a very capable bus analyzer for their needs or
may find it complementary to a hardware bus analyzer. Its low cost and simplicity of
operation makes it attractive to users who otherwise would not want a
hardware bus analyzer. Since Bus Hound runs on the host, it can also be more
effective for analyzing host side problems. Bus Hound has a number of pricing advantages over
- The cost is a fraction of a hardware bus analyzer.
- Includes support for each bus, eliminating the
need to purchase add-on modules or new bus analyzers for different
- Automatically supports incremental bus standards.
Higher bus speeds and added bus features are transparent to Bus Hound
since it is built on a layered software architecture.
- Runs on an unlimited number of machines, eliminating
the need to purchase multiple hardware bus analyzers in order to perform captures
Hound captures I/O using a device driver. The device driver is
positioned very low in the I/O subsystem architecture such that it can
take an accurate snapshot of commands, data, status, and timing
information. The below figure demonstrates how Bus Hound captures data
for SCSI devices.