Bus Hound的简单介绍

本文章详细介绍了BusHound这款USB辅助工具的使用方法,包括自动检测设备、设置抓包长度与缓冲大小、启动与停止抓包、保存数据及分析一段数据等关键步骤。通过实际操作实例,帮助用户快速掌握如何有效利用BusHound进行USB设备的数据抓取与分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bus Hound是一款在pc上就可以抓包的usb辅助工具,做usb开始手头没有专用抓包工具时可以偶尔一用。

这里把几个需要注意的地方:

1.自动检测设备的插入拔出

Devices->Auto select host plugged devices


2.设置抓包的长度和缓冲大小

Settings ->Limits->Capture Capacity
Settings ->Limits->Max Record Length


3.这里可以设置启动和停止

Capture->Run
Capture->Stop

4.点击保存可以导出数据


5.抓取分析的一段数据

Bus Hound 6.01 capture on Windows Vista (x86). Complements of www.perisoft.net

333

  Device - Device ID (followed by the endpoint for USB devices)
            (23) USB 大容量存储设备
            (24) hp v229g [ROM=1100]
            (25) USB Composite Device
            (26) USB 输入设备
            (27) USB 输入设备
            (28) HID Keyboard Device
            (29) 符合 HID 标准的用户控制设备
            (30) HID-compliant device
            (31) 符合 HID 标准的用户控制设备
            (32) USB Composite Device
            (33) Webcam C170
            (34) Webcam C170
  Phase  - Phase Type
            CTL   USB control transfer       
            IN    Data in transfer           
            OUT   Data out transfer          
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data


Device  Phase  Data                                                Description       Cmd.Phase.Ofs(rep)
------  -----  --------------------------------------------------  ----------------  ------------------
  25.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR           1.1.0        
//requesttype 0x80:设备到主机,标准请求,请求对象是设备
//request     0x06:获取设备描述符
//value       0x0100:小端模式,索引号0,获取设备描述符01
//index       0x0000:小端模式,
//length      0x0012:小端模式,获取18个字节

  25.0  IN     12 01 10 01  00 00 00 08  6d 04 1c c3  00 64 01 02  ........m....d..         1.2.0        
               00 01                                               ..                       1.2.16       
//bLength			0x12:描述符长度
//bDescriptorType   0x01:设备描述符
//bcdUSB            0x0110:usb1.1 
//bDeviceClass      0x00:类代码
//bDeviceSubClass   0x00:子类代码
//bDeviceProtocol   0x00:设备使用的协议
//bMaxPacketSize0   0x08:端点0的最大包长
//idVendor          0x046d:厂商ID
//idProduct         0xc31c:产品ID
//bcdDevice         0x6400:设备版本号
//iManufacturer     0x01:厂商字符串索引值
//iProduct          0x02:产品字符串索引值
//iSerialNumber     0x00:序列号,无序列号索引字符串
//bNumConfigurations0x01:一种配置

  25.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR           2.1.0        
//获取9个字节的配置描述符
  
  25.0  IN     09 02 3b 00  02 01 03 a0  2d                        ..;.....-                2.2.0        
//bLength 长度为9
//bDescriptorType 类型为配置描述符02
//wTotalLength 总长度为59
//bNumInterfaces 接口数2
//bConfigurationValue 配置值1
//iConfiguration 字符串索引3
//bmAttributes 总线供电,支持远程唤醒
//MaxPower 45*2mA

  25.0  CTL    80 06 00 02  00 00 3b 00                            GET DESCRIPTOR           3.1.0        
//获取59个字节的配置描述符
  
  25.0  IN     09 02 3b 00  02 01 03 a0  2d 09 04 00  00 01 03 01  ..;.....-.......         3.2.0        
               01 02 09 21  10 01 00 01  22 41 00 07  05 81 03 08  ...!...."A......         3.2.16       
               00 0a 09 04  01 00 01 03  00 00 02 09  21 10 01 00  ............!...         3.2.32       
               01 22 9f 00  07 05 82 03  04 00 ff                  .".........              3.2.48       
//09 02 3b 00 02 01 03 a0 2d配置描述符
//09 04 00 00 01 03 01 01 02 接口描述符
	//长度0x09 接口描述符类型0x04  该接口编号0 该接口备用编号0 使用端点数1 接口类3 接口子类1 协议1 字符串索引2 
//09 21 10 01 00 01  22 41 00 HID描述符 
	//长度0x09 HID描述符类型0x21  HID协议版本0x0110 国家代码00 下级描述符数量01 下级描述符类型0x22(报告描述符) 下级描述符长度0x41     
//07 05 81 03 08 00 0a端点描述符
	//长度为07 类型为05端点描述符 端点地址为1方向为输入 最大包长为08 查询间隔10
//09 04 01 00 01 03  00 00 02 接口描述符
	//长度0x09 接口描述符类型0x04  该接口编号1 该接口备用编号0 使用端点数1 接口类3 接口子类0 协议0 字符串索引2 
//09 21 10 01 00 01 22 9f 00  
	//长度0x09 HID描述符类型0x21  HID协议版本0x0110 国家代码00 下级描述符数量01 下级描述符类型0x22(报告描述符) 下级描述符长度0x9f 
//07 05 82 03 04 00 ff 			   
	//长度为07 类型为05端点描述符 端点地址为2方向为输入 最大包长为04 查询间隔ff
	
  25.0  CTL    81 06 00 22  00 00 00 04                            GET DESCRIPTOR           4.1.0        
//获取4个字节的HID描述符
			   
  25.0  IN     05 01 09 06  a1 01 05 07  19 e0 29 e7  15 00 25 01  ..........)...%.         4.2.0        
               75 01 95 08  81 02 95 01  75 08 81 01  95 05 75 01  u.......u.....u.         4.2.16       
               05 08 19 01  29 05 91 02  95 01 75 03  91 01 95 06  ....).....u.....         4.2.32       
               75 08 15 00  26 ff 00 05  07 19 00 2a  ff 00 81 00  u...&......*....         4.2.48       
               c0                                                  .                        4.2.64       
//65字节的HID Report描述符
//0x 5,0x       1// USAGE_PAGE (Generic Desktop)
//0x 9,0x       6// USAGE(Keyboard)
//0xa1,0x       1// COLLECTION (Application)
//0x 5,0x       7// USAGE_PAGE (Keyboard/keypad)
//0x19,0x      e0//USAGE_MINIMUM// USAGE(See the spec)
//0x29,0x      e7//USAGE_MAXIMUM// USAGE(See the spec)
//0x15,0x       0//LOGICAL_MINIMUM (0)
//0x25,0x       1//LOGICAL_MAXIMUM (1)
//0x75,0x       1//REPORT_SIZE (1)
//0x95,0x       8//REPORT_COUNT (8)
//0x81,0x       2//Input(Data Var Abs )
/*E0~E7:Control Alt Shift等,一个按键对应一个report counte*/

//0x95,0x       1//REPORT_COUNT (1)
//0x75,0x       8//REPORT_SIZE (8)
//0x81,0x       1//Input(Con Arr Abs )
/*8个bit填充*/

//0x95,0x       5//REPORT_COUNT (5)
//0x75,0x       1//REPORT_SIZE (1)
//0x 5,0x       8// USAGE_PAGE (LEDs)
//0x19,0x       1//USAGE_MINIMUM// USAGE(See the spec)
//0x29,0x       5//USAGE_MAXIMUM// USAGE(See the spec)
//0x91,0x       2//Ouput(Data Var Abs )
/*输出5个bit*/

//0x95,0x       1//REPORT_COUNT (1)
//0x75,0x       3//REPORT_SIZE (3)
//0x91,0x       1//Ouput(Con Arr Abs )
/*输出3个bit填充*/

//0x95,0x       6//REPORT_COUNT (6)
//0x75,0x       8//REPORT_SIZE (8)
//0x15,0x       0//LOGICAL_MINIMUM (0)
//0x26,0x      ff//LOGICAL_MAXIMUM (255)
//0x 5,0x       7// USAGE_PAGE (Keyboard/keypad)
//0x19,0x       0//USAGE_MINIMUM// USAGE(See the spec)
//0x2a,0x      ff//USAGE_MAXIMUM// USAGE(See the spec)
//0x81,0x       0//Input(Data Arr Abs )
/*6个字节,每个字节从usagemin和usagemax中选择*/

//0xc0,//END_COLLECTION

//input
//data[0]:一一对应
//data[1]:填充
//data[2]:set 
//data[3]:set 
//data[4]:set 
//data[5]:set 
//data[6]:set 
//data[7]:set 

//output
//data[0]
				
  25.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR           5.1.0        
  25.0  IN     12 01 10 01  00 00 00 08  6d 04 1c c3  00 64 01 02  ........m....d..         5.2.0        
               00 01                                               ..                       5.2.16       
  25.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR           6.1.0        
  25.0  IN     09 02 3b 00  02 01 03 a0  2d                        ..;.....-                6.2.0        
  25.0  CTL    80 06 00 02  00 00 3b 00                            GET DESCRIPTOR           7.1.0        
  25.0  IN     09 02 3b 00  02 01 03 a0  2d 09 04 00  00 01 03 01  ..;.....-.......         7.2.0        
               01 02 09 21  10 01 00 01  22 41 00 07  05 81 03 08  ...!...."A......         7.2.16       
               00 0a 09 04  01 00 01 03  00 00 02 09  21 10 01 00  ............!...         7.2.32       
               01 22 9f 00  07 05 82 03  04 00 ff                  .".........              7.2.48       
  
  25.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG               8.1.0        
//设置配置描述符为00
  
  25.0  CTL    80 06 02 03  09 04 04 00                            GET DESCRIPTOR           9.1.0(2)     
  25.0  IN     1a 03 55 00                                         ..U.                     9.2.0        
  25.0  CTL    80 06 02 03  09 04 1a 00                            GET DESCRIPTOR          10.1.0(2)     
 //获取字符串描述符,索引号为02,语言ID为0409
 
  25.0  IN     1a 03 55 00  53 00 42 00  20 00 4b 00  65 00 79 00  ..U.S.B. .K.e.y.        10.2.0        
               62 00 6f 00  61 00 72 00  64 00                     b.o.a.r.d.              10.2.16       
//字符串长度为1a,字符串描述符类型为03,数据



27.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR          19.1.0        
  27.0  IN     12 01 10 01  00 00 00 08  6d 04 1c c3  00 64 01 02  ........m....d..        19.2.0        
               00 01                                               ..                      19.2.16       
  27.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR          20.1.0        
  27.0  IN     09 02 22 00  01 01 03 a0  2d                        ..".....-               20.2.0        
  27.0  CTL    80 06 00 02  00 00 22 00                            GET DESCRIPTOR          21.1.0        
  27.0  IN     09 02 22 00  01 01 03 a0  2d 09 04 01  00 01 03 00  ..".....-.......        21.2.0        
               00 02 09 21  10 01 00 01  22 9f 00 07  05 82 03 04  ...!....".......        21.2.16       
               00 ff                                               ..                      21.2.32       
  27.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG              22.1.0        
  27.0  CTL    21 0a 00 00  01 00 00 00                            SET IDLE                23.1.0        
  27.0  CTL    81 06 00 22  01 00 df 00                            GET DESCRIPTOR          24.1.0        
  27.0  IN     05 0c 09 01  a1 01 85 01  09 e0 15 e8  25 18 75 07  ............%.u.        24.2.0        
               95 01 81 06  15 00 25 01  75 01 09 e2  81 06 c0 06  ......%.u.......        24.2.16       
               01 00 09 80  a1 01 85 02  25 01 15 00  75 01 0a 81  ........%...u...        24.2.32       
               00 0a 82 00  0a 83 00 95  03 81 06 95  05 81 01 c0  ................        24.2.48       
               06 0c 00 09  01 a1 01 85  03 25 01 15  00 75 01 0a  .........%...u..        24.2.64       
               b5 00 0a b6  00 0a b7 00  0a b8 00 0a  cd 00 0a e2  ................        24.2.80       
               00 0a e9 00  0a ea 00 95  08 81 02 0a  83 01 0a 8a  ................        24.2.96       
               01 0a 92 01  0a 94 01 0a  21 02 0a 23  02 0a 24 02  ........!..#..$.        24.2.112      
               0a 25 02 95  08 81 02 0a  26 02 0a 27  02 0a 2a 02  .%......&..'..*.        24.2.128      
               0a b3 00 0a  b4 00 95 05  81 02 95 03  81 01 c0     ...............         24.2.144      

0x 5,0x       c// USAGE_PAGE (Consumer)
0x 9,0x       1// USAGE(See the spec)
0xa1,0x       1// COLLECTION (Application)
0x85,0x       1//REPORT_ID (1)//Sean 
0x 9,0x      e0// USAGE(See the spec)
0x15,0x      e8//LOGICAL_MINIMUM (232)
0x25,0x      18//LOGICAL_MAXIMUM (24)
0x75,0x       7//REPORT_SIZE (7)
0x95,0x       1//REPORT_COUNT (1)
0x81,0x       6//Input(Data Var Rel )
/*第1个字节*/
0x15,0x       0//LOGICAL_MINIMUM (0)
0x25,0x       1//LOGICAL_MAXIMUM (1)
0x75,0x       1//REPORT_SIZE (1)
0x 9,0x      e2// USAGE(See the spec)
0x81,0x       6//Input(Data Var Rel )
/*第1个字节*/
0xc0,//END_COLLECTION

0x 6,0x       1// USAGE_PAGE (Generic Desktop)
0x 9,0x      80// USAGE(See the spec___________-:128)
0xa1,0x       1// COLLECTION (Application)
0x85,0x       2//REPORT_ID (2)//Sean 
0x25,0x       1//LOGICAL_MAXIMUM (1)
0x15,0x       0//LOGICAL_MINIMUM (0)
0x75,0x       1//REPORT_SIZE (1)
0x a,0x      81// USAGE(See the spec___________-:129)
0x a,0x      82// USAGE(See the spec___________-:130)
0x a,0x      83// USAGE(See the spec___________-:131)
0x95,0x       3//REPORT_COUNT (3)
0x81,0x       6//Input(Data Var Rel )
/*第2个字节*/

0x95,0x       5//REPORT_COUNT (5)
0x81,0x       1//Input(Con Arr Abs )
/*第2个字节*/

0xc0,//END_COLLECTION
0x 6,0x       c// USAGE_PAGE (Consumer)
0x 9,0x       1// USAGE(See the spec)
0xa1,0x       1// COLLECTION (Application)
0x85,0x       3//REPORT_ID (3)//Sean 
0x25,0x       1//LOGICAL_MAXIMUM (1)
0x15,0x       0//LOGICAL_MINIMUM (0)
0x75,0x       1//REPORT_SIZE (1)
0x a,0x      b5// USAGE(See the spec)
0x a,0x      b6// USAGE(See the spec)
0x a,0x      b7// USAGE(See the spec)
0x a,0x      b8// USAGE(See the spec)
0x a,0x      cd// USAGE(See the spec)
0x a,0x      e2// USAGE(See the spec)
0x a,0x      e9// USAGE(See the spec)
0x a,0x      ea// USAGE(See the spec)
0x95,0x       8//REPORT_COUNT (8)
0x81,0x       2//Input(Data Var Abs )
/*第3个字节*/

0x a,0x     183// USAGE(See the spec)
0x a,0x     18a// USAGE(See the spec)
0x a,0x     192// USAGE(See the spec)
0x a,0x     194// USAGE(See the spec)
0x a,0x     221// USAGE(See the spec)
0x a,0x     223// USAGE(See the spec)
0x a,0x     224// USAGE(See the spec)
0x a,0x     225// USAGE(See the spec)
0x95,0x       8//REPORT_COUNT (8)
0x81,0x       2//Input(Data Var Abs )
/*第4个字节*/

0x a,0x     226// USAGE(See the spec)
0x a,0x     227// USAGE(See the spec)
0x a,0x     22a// USAGE(See the spec)
0x a,0x      b3// USAGE(See the spec)
0x a,0x      b4// USAGE(See the spec)
0x95,0x       5//REPORT_COUNT (5)
0x81,0x       2//Input(Data Var Abs )
0x95,0x       3//REPORT_COUNT (3)
0x81,0x       1//Input(Con Arr Abs )
0xc0,//END_COLLECTION
/*第5个字节*/
		   
 略若干字节
  26.1  IN     00 00 2c 00  00 00 00 00                            ..,.....                 1.1.0        
  28    IN     01 00 39 00  00 00 00 00  00 00 00 00               ..9.........             2.1.0(189)   
//按下空格键(2c)  
//下面的这个怎么是12个字节,理论推断是5个,
//usage_consumer只针对特定设备的,
  
  26.1  IN     00 00 00 00  00 00 00 00                            ........               191.1.0        
  28    IN     01 00 39 00  01 00 00 00  00 00 00 00               ..9.........           192.1.0        
//松开空格键
//
 


Bus Hound 5.0<br><br>Copyright (C) Perisoft 2000-2003. All rights reserved worldwide.<br><br>Bus Hound is a powerful software bus analyzer for capturing I/O and protocol from devices. Features include:<br><br> Supports every version of IDE, SCSI, USB, 1394<br> Supports all devices such as hard drives, DVD, mice, scanners, web cams, and everything else<br> Supports Windows 95, 98, Me, NT 4.0, 2000, 2003, XP and XP Embedded<br> Capture megabytes of I/O limited only by available memory<br> Automatically stop the capture upon a trigger condition<br> Measure individual read, write, and isochronous device performance<br> Captures device driver packets such as IRP’s<br> Filter what type of phases are captured<br> Run on an unlimited number of machines at the same time<br> Capture any number of devices in parallel, regardless of bus type<br> Fits on a diskette for easy transportability and quick downloads<br> Drag and drop captured data to other products in html format<br> Save captured data to a text file or zip file<br> Simple device selection from a graphical tree of devices<br> Capture the system startup process<br> Arrange captured data to user preferences such as the byte width per line<br> View low level protocol including SCSI sense data and USB setup packets<br> View microsecond resolution timing of each phase<br> Watch I/O on screen in real time as it happens<br> Pure software solution--no extra hardware or system changes needed<br><br><br><br>The Capture Window<br><br>Commands sent to devices consist of one or more phases. Examples of phases are command bytes, data bytes, and status bytes. Bus hound logs each phase complete with timing information and a description of the content.<br><br>Capture columns<br><br>Below are descriptions of information in each column of the Capture Window:<br><br>Device<br><br>Device ID. Each device is assigned a number which can be matched up with devices in the Devices Window. The first detected device on the system is Device ID 0, the second is Device ID 1, and so on. This field is useful in the event multiple devices are being captured in parallel.<br><br>For USB devices, the endpoint is also displayed (eg: 4.1 = device 4, endpoint 1).<br><br>Phase<br><br>Phase type. Please refer to the table for details of each phase type.<br><br>Phase Description<br>ADDR 8 byte 1394 transfer address<br>ATI 7 byte ATA task file returned from an IDE device<br>ATO 7 byte ATA task file sent to an IDE device <br>ATP Windows ATA_PASS_THROUGH data structure<br>CDB SCSI command descriptor block<br> (Known as a packet command for ATAPI devices)<br>CTL 8 byte setup packet of a USB control transfer<br>DI Data In (Device to PC transfer)<br>DO Data Out (PC to device transfer)<br>IOR Windows VXD I/O Request data structure<br>IRB Windows 1394 I/O Request Block data structure<br>IRP Windows I/O Request Packet data structure<br>ISOC Isochronous transfer data bytes<br>LEN Data transfer length of a DI,DO, or ISOC phase in <br> decimal units. This field is off by default and can be<br> turned on from the settings Window<br>LOCK 1394 lock transaction<br>NSTS Windows 4 byte kernel mode NTSTATUS field<br>RSET Bus or device reset<br>RSTS Windows VXD IOR status<br>SNS SCSI request sense data<br>SPT Windows SCSI Pass Through data structure<br>SRB Windows SCSI Request Block (SRB) data structure<br>SSTS Windows 1 byte SCSI Request Block (SRB) status<br>STAK Windows IO_STACK_LOCATION data structure<br>URB Windows USB Request Block (URB) data structure<br>USTS Windows 4 byte USBD_STATUS code<br><br><br>Data<br><br>Data bytes associated with the phase. Examples are command bytes, data transfer bytes, and status bytes.<br><br>Description<br><br>A text description of this phase provided for your convenience.<br><br>Delta<br><br>Elapsed time from the previous phase to the current phase. The following table describes the units of the time format.<br><br>Name Units<br>us Microseconds<br>ms Milliseconds<br>sc Seconds<br>mn Minutes<br>hr Hours<br>dy Days<br><br><br>Cmd.Phase.Ofs(rep)<br><br>This unique tag identifies the exact position within the captured data. All values are in decimal.<br><br>Cmd is the command number. Commands start at 1 and increment for each new command sent to a device.<br><br>Phase is the phase number within this command. A command is usually composed of multiple phases such as data transfer and status. This value starts at 1 and increments for each new phase within the command.<br><br>Ofs is the byte offset of the data within this phase. This value starts at 0 and increments for each byte of data in the data transfer.<br><br>Rep is the number of identical commands issued back to back. The repeat count feature can be turned off by deselecting the “Merge Repeated Commands” check box in the settings Window.<br><br>Date<br><br>Date the phase occurred in year/month/day format.<br><br>Time<br><br>Time the phase occurred in hour:minute:second.millisecond format. The hour ranges from 0 to 23 (military time).<br><br><br>Capturing the system startup process<br><br>If the Bus Hound application is exited while the Run button is pressed, the device driver portion of Bus Hound continues capturing data. In the event the system is restarted, it will start capturing data early in the system startup process.<br><br>If Bus Hound is exited while stopped, no capture will occur until returning to the product and pressing Run.<br><br>Customizing the capture display<br><br>The column order can be modified by dragging the column headers to the desired position. The byte width per line can be 1, 2, 4, 8, 16, or 32 bytes and is based on the width of the window. These settings are respected for Saving and drag & drop.<br><br>Searching<br><br>Searching can be performed from the capture window in either the up or down direction by typing the search string in the lower left edit box followed by pressing the up or down arrow to search up or down respectively. If the search string is not found, the trace position is not changed. Searching is not case sensitive.<br><br>Drag and Drop<br><br>To use drag and drop, first select the desired range of lines by clicking on the starting line, then hold down shift and click the ending line. The data can now be dragged using the mouse to another product.<br><br>Pressing control-c copies the selected lines to the clipboard.<br><br>Command Overlap<br><br>Overlapped commands are identified when a command starts before previous commands to the same device have completed. It is possible for Commands to be overlapped at the I/O subsystem level (which Bus Hound displays), but not at the hardware level.<br><br>Multiple DI/DO phases<br><br>Windows 9x only: if multiple DI/DO phases are listed for the same command, it indicates the transfer was split across multiple memory address ranges<br><br>PS2 Mouse data format<br><br>Below is the format of the data returned in the data in phase for PS/2 mice. This is known as the MOUSE_INPUT_DATA structure in the Windows DDK:<br><br>Offset Length Content<br>0 2 Not used<br>2 2 Position type:<br> 0000h = relative position<br> 0001h = absolute position<br>4 2 Button flags:<br> 0001h = left button down<br> 0002h = left button up<br> 0004h = right button down<br> 0008h = right button up<br> 0010h = middle button down<br> 0020h = middle button up<br> 0040h = button 4 down<br> 0080h = button 4 up<br> 0100h = button 5 down<br> 0200h = button 5 up<br> 0400h = mouse wheel<br>6 2 Mouse wheel data<br>8 4 Not used<br>12 4 X position<br>16 4 Y position<br>20 4 Device specific information<br><br>PS2 Keyboard data format<br><br>Below is the format of the data returned in the data in phase for PS/2 keyboards. This is known as the KEYBOARD_INPUT_DATA structure in the Windows DDK:<br><br>Offset Length Content<br>0 2 Not used<br>2 2 Scan code of key<br>4 2 Flags:<br> 0000h = key pressed<br> 0001h = key released<br> 0002h = extended scan code E0<br> 0004h = extended scan code E1<br>6 2 Not used<br>8 4 Device specific information<br><br><br><br>The Save Window<br><br>The Save button saves all captured data to the specified file. The format of the file can be either a text file containing standard ASCII characters or a Zip file. The data will be saved in the same column order and byte width as seen on the screen.<br><br>A comment can be provided that will be placed into the header of the captured data. The current date and time can be included in the comment by inserting %c anywhere inside the comment. If saving to a zip file, the comment is also used for the zip file comment.<br><br><br><br>The Settings Window<br><br>This Window allows you to customize the capture process. Checkbox options in this window are applied instantly. Numeric entries are applied by pressing the apply button, switching to another window, or exiting Bus Hound.<br><br>Buffer Size<br><br>Specifies the number of kilobytes of RAM to use for capturing data. The size is limited only by system RAM. If not enough RAM is available to satisfy the requested size, the size is reduced to available RAM. If you need to get as much space as possible, besides adding more RAM to a system you can also try setting the buffer size before starting other applications. Note: allocating a very large buffer size under Windows 95/98/Me can take a minute.<br><br>Max Phase<br><br>Specifies the maximum number of bytes that will be captured on each phase. Example: if Max Phase is set to 32 bytes and a 64K read operation occurs, only the first 32 bytes of the read will be captured. This option is useful for keeping the size of the captured data to a minimum.<br><br>Stop When...<br><br>These are triggers that allow the capture to automatically stop when the specified condition is met. Any combination of triggers may be selected. When a trigger condition is met, the capture stops and the trigger text is highlighted in red.<br><br>Any Other Error stops the capture when an error occurs that does not fall into any of the other categories.<br><br>Buffer Full stops the capture when Bus Hound's buffer is full. If Buffer Full is deselected, capturing continues after the buffer is full, keeping the most recently captured data.<br><br>Bus Reset stops the capture when a bus reset occurs.<br><br>Data Overrun stops the capture when a data overrun or data underrun occurs.<br><br>Hardware Error stops the capture when a hardware error occurs.<br><br>Invalid Command stops the capture when an invalid command is issued.<br><br>Media Error stops the capture when a device reports a media error such as a bad sector.<br><br>No Media stops the capture when a device reports no media is present.<br><br>Not Ready stops the capture upon a not ready, timeout, or busy condition.<br><br>Text Pattern / Hex Pattern stops the capture when the specified data pattern is detected in the captured data. For text patterns, the match is case sensitive. The pattern is checked against the data transferred in any phase including commands, data, and status.<br><br>Vendor Error stops the capture when a vendor unique error occurs.<br><br>Windows Error stops the capture when an operating system type error occurs.<br><br>Phases to Capture<br><br>Contains a list of all the phase types Bus Hound can capture. Placing a check mark next to a phase allows it to be captured. Removing a check mark next to a phase results in the phase not being captured. This option is useful for filtering out phases that are not of interest or including special operating system phases that are off by default.<br><br>To the right of the check box, a white circle may appear. This indicates the phase has been detected and exists in the captured data. If the circle blinks bright green, it is a real time activity light indicating the phase has occurred and has been captured.<br><br>Merge Repeated Commands<br><br>When selected, if a command occurs that is identical to the previous command, the new command will not be logged separately. Instead, the repeat count of the previous command is incremented. This option is useful for compacting the captured data when a device is being continually polled with the same command.<br><br>Enable Sounds<br><br>If this option is enabled, Bus Hound will make an audible "ping" if the capture, settings, or devices window is up and a trigger condition is met. <br><br>Columns to Display<br><br>Place a checkmark in the boxes to include the desired columns in the Capture Window. The selected columns will also be included in drag & drop and save operations. See the section “The Capture Window” for more details about each column.<br><br><br><br>The Devices Window<br><br>The list of devices represents every device on the system which Bus Hound supports. The list automatically refreshes to reflect new or removed devices. To select/deselect a device to capture, click in the check box next to the device. The selection will be applied instantly.<br><br>Each device is assigned a number which is in parenthesis before the name of the device. This number is displayed in the capture window under the "Device" column. The number reflects the order in which the device was added to the system.<br><br>If a device is displayed in a light font, it indicates the device is not currently present on the system.<br><br>Capture new devices<br><br>Selecting this checkbox will automatically capture data for new devices that are detected. This feature is useful for capturing the first commands sent to hot plugged devices. <br><br>Device Properties<br><br>This window pane displays details about the device such as the performance. The performance is calculated by summing the total bytes transferred divided by the total elapsed time of the commands. The performance statistics are cleared when the run button is pressed in the Capture window.<br><br>Send Commands<br><br>You can send your own custom commands to a device using Bus Commander. To start Bus Commander, highlight a device with the mouse and click the “Send Commands” button or simply double click the device. Bus Commander is a very powerful complementary tool that lets you submit USB, 1394, ATA and SCSI commands to devices. You can also perform operations like bus resets and hardware port i/o.<br><br><br><br>Files Installed<br><br>BUSHOUND.EXE - Bus Hound application<br>BUSCMDR.EXE - Bus Commander application<br>BHUNINST.EXE - uninstaller<br>BHLOG.EXE - capture to disk tool (site license version only)<br>BHOUND3.VXD - device driver for Windows 95, 98, Me<br>BHOUND4.SYS - device driver for Windows NT 4.0<br>BHOUND5.SYS - device driver for Windows 98, Me, 2000, 2003, XP<br>HELP.RTF - product help file (this file)<br><br><br><br>Site License<br><br>The site license version of Bus Hound includes the bhlog.exe command line tool in the folder where Bus Hound is installed. bhlog spools captured data to a disk file in real time. This tool raises the maximum capture size from available RAM to available disk space. bhlog also has the ability to retain captured data in the event a system freezes or reboots by directing captured data to a file on a network drive.<br><br><br><br>FAQ<br><br>1. What type of I/O is captured?<br><br>Bus Hound takes a snap shot of packets sent across the bus. This includes commands, data, status, and timing of each command. Bus Hound does not monitor individual hardware signals.<br><br>2. Will Bus Hound change the behavior of my devices?<br><br>No. Bus Hound simply “listens” for packets. Bus Hound does not alter commands, does not send its own commands, does not replace any system drivers, and does not access the hardware. The system and devices will operate identically whether Bus Hound is installed or not.<br><br>3. Will Bus Hound degrade system performance?<br><br>Customers capturing data from extremely fast devices in parallel have been impressed by Bus Hound’s ability not to effect performance. Bus Hound is even more innocuous when in the stopped state.<br><br>4. Which devices are supported?<br><br>All IDE, SCSI, USB and 1394 devices are supported including disk drives, mice, scanners, web cams, and everything else. Devices that emulate one of these buses are also supported such as certain parallel port devices.<br><br>5. Why are there duplicate devices?<br><br>For some devices, Windows first forms high level packets that are then translated into low level packets which are in turn sent to the hardware. Bus Hound shows several devices so you can choose which level of I/O you wish to capture.<br><br>6. What does capturing I/O for a controller do?<br><br>Some controllers receive commands and some do not. You can experiment capturing data for a controller to see if the packets are of interest.<br><br>7. What if Bus Hound does not show a device?<br><br>No devices are displayed when the system is started in safe mode. This is a safety feature to keep safe mode as clean as possible.<br><br>Devices which are marked with a problem in device manager are not displayed.<br><br>SCSI adapters are not displayed under Windows 95/98/Me unless they have one or more devices attached.<br><br>8. Why are some devices grayed out?<br><br>A grayed out device indicates it is currently not attached to the system.<br><br>9. Windows 95/98/Me crashes when pressing run. What do I do?<br><br>Due to limitations in the Windows 9x architecture, if too many device drivers ask to receive notification of I/O completion, the system will crash. Microsoft device drivers and other installed software such as Bus Hound need such notifications. To resolve this, remove software likely to have additional device drivers installed for the device. For CD/DVD drives, an easy solution is to rename the legacy scsi1hlp.vxd to scsi1hlp.bak which is in the windows/system/iosubsys folder.<br><br>10. Why am I not able to capture all 1394 events?<br><br>Some 1394 devices Bus Hound displays are logical devices such as AV/VHS devices. Select devices further up the tree to capture bus activity for such devices.<br><br>While Bus Hound logs every isochronous transaction, there is no practical way for Bus Hound to see every asynchronous transaction. If you need to see more 1394 activity, note Bus Hound can capture a great deal more in operating systems prior to XP, particularly for SBP-2 devices.<br><br>11. Why am I not seeing task file (ATA) commands for IDE hard drives?<br><br>Bus Hound captures ATA commands only when an application or driver explicitly sends an ATA command (eg: SMART, IDENTIFY). For normal file system requests, Bus Hound captures SCSI CDB's instead of ATA commands due to the monolithic nature of the Windows IDE device driver. Note the CDB's captured have a one to one relationship with ATA commands and can be easily translated to their native ATA equivalent. Also note the data captured with the CDB is identical to the ATA data transfer.<br><br>12. Where can I get more detailed information on the captured data?<br><br>For your convenience, please visit www.perisoft.net/engineer for handy reference data and specifications. Also please note the following resources:<br><br>Specification Location<br>USB www.usb.org <br>SCSI www.t10.org <br>IDE, ATA, ATAPI www.t13.org <br>1394, Firewire www.1394ta.org or www.ieee.org <br>Windows DDK www.microsoft.com/ddk <br><br>14. Where do I get support?<br><br>Visit www.perisoft.net. Any questions, comments, or problem reports on the free or full version are welcome.<br><br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值