Frontline Test System®

Serialtest® Async Serialtest Spy Serialtest MLT

User's Guide

1 Table of Contents

INTRODUCTION AND INSTALLATION ...... 9 Introduction to Frontline Test System ...... 9 What's New ...... 9 Minimizing Windows ...... 9 HARDWARE CONFIGURATION ...... 11 Hardware Settings ...... 11 Choosing Product and Com Ports ...... 11 Spy...... 12 Source DTE, No Cables ...... 13 Serialtest MLT ...... 13 Detect Now button ...... 14 Advanced Hardware Settings functions ...... 14 Notify if Auto Cable Detection Fails...... 14 Disabling Control Signal Interrupts...... 14 Enable UART FIFOs ...... 15 Info button ...... 15 QUICK START GUIDE ...... 17 Quick Start Guide ...... 17 Monitoring Data ...... 17 Connecting the Cables in order to Monitor a Circuit ...... 17 Telling FTS Which Serial Ports to Use...... 18 Configuring FTS to Monitor Data ...... 18 How To Capture Data ...... 19 Looking At Frames ...... 19 Looking At Data Bytes...... 20 Circuit Statistics...... 21 Monitoring Control Signals ...... 21 Exiting FTS...... 22 Transmitting Data ...... 22 Connecting the Cables in order to Transmit Data to a Device...... 22 Telling FTS Which Serial Ports to Use...... 23 Configuring FTS to Transmit Data ...... 23 Transmitting Data...... 24 Monitoring Internal Ports (Spy Mode) ...... 24 Configuring FTS for Spy Mode...... 24 Setting Up Spy ...... 25 CONNECTING THE CABLES...... 26 Cable Configuration...... 26 Dual Port Monitor Mode Cable Configuration...... 26 Dual Port Source DCE Mode Cable Configuration...... 27 Dual Port Source DTE Mode Cable Configuration ...... 27 Single Port Monitor DCE Mode Cable Configuration...... 28 Single Port Monitor DTE Mode Cable Configuration ...... 29 Single Port Source DCE Mode Cable Configuration ...... 29 Single Port Source DTE Mode Cable Configuration...... 30

2 Using a Converter with FTS...... 30 CONFIGURING FTS - THE SET I/O CONFIGURATION WINDOW...... 32 Set I/O Configuration Window...... 32 Operating Mode - Choosing to Monitor or Source...... 32 Setting Baud, Parity, Word Length and Stop Bits...... 33 Bit Order...... 33 Flow Control ...... 33 Custom Protocol Stack button ...... 34 Names...... 34 Saving Configurations...... 35 Saving A Configuration to File...... 35 Opening a Saved Configuration...... 35 SELECTING A PROTOCOL STACK ...... 36 Protocol Stack Wizard...... 36 Create a Custom Stack...... 36 Reframe Function ...... 37 Unframe Function ...... 37 Generic Channel Dependent Decodes Setup ...... 37 Predefined Stacks ...... 38 Adding a New Predefined Stack ...... 38 CAPTURING DATA...... 39 Control Window ...... 39 The Control Window Toolbar ...... 39 Capturing Data to Buffer...... 40 Capturing Data to Disk...... 41 Clear Capture Buffer Warning...... 41 STATISTICS...... 42 Statistics Window ...... 42 Session, Resetable and Buffer Tabs...... 42 Copying Statistics To The Clipboard...... 42 Changing Frame Size Ranges...... 42 Information on the Tables ...... 43 Statistics Tables ...... 43 Data Table...... 43 Errors Table...... 43 Frame Sizes Table ...... 43 Utilization Table...... 44 Chars Per Second Table...... 44 Frames Per Second Table ...... 44 Buffer Information Table...... 44 Graphs ...... 44 Statistics Graphs ...... 44 Viewing Percentages or Values ...... 44 Printing Graphs ...... 45 Graph Options...... 45 ANALYZING BYTE-LEVEL DATA...... 46 Event Display...... 46

3 The Event Display Toolbar ...... 46 Switching Between Live Update and Review Mode ...... 47 Opening Multiple Event Display Windows...... 48 Calculating Delta Times and Data Rates ...... 48 Calculating CRCs ...... 48 List of All Event Symbols ...... 48 Data Formats and Symbols ...... 50 Switching Between ASCII, EBCDIC and Baudot ...... 50 Switching Between Hex, Decimal, Octal or Binary ...... 50 Switching Between Viewing All Events and Viewing Data Events...... 51 Viewing Only ASCII (or EBCDIC or Baudot)...... 51 Viewing Only Hex (Or Decimal or Octal or Binary) ...... 51 Mixed Sides...... 51 Font Size ...... 51 ANALYZING PROTOCOLS AND FRAME-LEVEL DATA ...... 52 Frame Display Window...... 52 The Frame Display Toolbar ...... 53 Sorting Frames...... 53 Working With Panes ...... 54 Working With Multiple Frame Displays...... 54 Filters and Multiple Frame Displays ...... 54 Red Frame Numbers or Bytes ...... 55 Synchronization Between the Event and Frame Displays ...... 55 Physical vs. Logical Byte Display...... 55 The Panes in the Frame Display...... 55 Decode Pane...... 55 Radix, or Hexadecimal, Pane...... 56 Character Pane ...... 56 Binary Pane...... 56 Event Pane...... 57 Summary Pane...... 57 Protocol Layer Colors ...... 59 What The Color Of Data Bytes Means...... 59 Changing Protocol Layer Colors ...... 59 ANALYZING CONTROL SIGNAL CHANGES...... 60 Viewing Signal Changes in Real-time ...... 60 Breakout Box Window...... 60 The Breakout Box Toolbar ...... 60 Reading the Breakout Box Window ...... 60 Breakout Box Options ...... 61 Viewing Historical Signal Changes ...... 61 Signal Display Window...... 61 Reading the Signal Display...... 61 Signal Display Options ...... 63 The Signal Display Toolbar ...... 63 TRANSMITTING DATA...... 64 Transmit Window...... 64 Transmit String ...... 64 Transmit String Formats ...... 64 Transmit File...... 66

4 Transmitting FTS Capture Files ...... 66 Pause Transmit ...... 67 Flow Control When Transmitting...... 67 Changing Control Signals ...... 67 Delays and Max Burst Size...... 68 Transmit Options ...... 69 The Transmit Toolbar ...... 69 SEARCHING ...... 70 Searching ...... 70 Go To ...... 70 Searching for Data Errors ...... 71 Searching for Control Signal Changes...... 72 Searching within Decodes ...... 74 Searching for Frame Errors ...... 74 Searching for Special Events...... 74 Side Restriction ...... 74 Changing Where the Search Lands...... 75 String Searches...... 75 Search by Pattern...... 75 Entering Characters ...... 75 Entering Hex or Binary ...... 76 Entering Control Characters...... 76 Using Wildcards ...... 76 Examples of Search Strings...... 76 Searching by Time...... 76 Searching By Time...... 76 Absolute Timestamp Search ...... 77 Relative Timestamp Search ...... 77 Choosing "On or Before" or "On or After" ...... 77 Subtleties of Timestamp Searching ...... 77 FILTERING...... 78 How To Create and Use a Filter ...... 78 How to Apply a Display Filter...... 78 How To Know What Filter Is Being Used ...... 79 How to Remove a Filter ...... 79 Filtering Serial Data ...... 79 Naming Filters ...... 79 Showing Named Filters...... 79 How To Know What Layer Filtering Will Be Applied To...... 79 Why Serial Filtering Works The Way It Does ...... 80 Defining Filters...... 80 Defining Node and Conversation Filters ...... 80 Defining Protocol Filters ...... 80 Defining Pattern or Offset Filters...... 81 Using tcpdump to Create a Custom Filter...... 81 Creating BPF Filters for Serial Data...... 81 How to Modify a Condition ...... 82 How to Delete a Condition ...... 82 Filter Formats ...... 82 Saving and Loading Filter Files...... 87

5 Saving Filters to File...... 87 Opening a Filter File...... 88 SAVING DATA ...... 89 Saving Your Data ...... 89 Saving the Entire Capture Buffer ...... 89 Saving a Portion of a Capture File or Buffer...... 89 LOADING AND IMPORTING CAPTURE FILES...... 90 Loading a Capture File ...... 90 Importing Capture Files ...... 90 Importing Timestamps ...... 90 PRINTING...... 91 Printing From The Event Display ...... 91 Print Preview ...... 91 Troubleshooting Printing Problems...... 91 EXPORTING...... 93 Exporting Data...... 93 Export ...... 93 Export Fields ...... 93 Exporting Baudot...... 94 Export Filter Out ...... 94 Other Export Options ...... 94 Exporting Frames ...... 95 Frame Print/Export ...... 95 Frame Export File Format ...... 96 General Section...... 96 General Formatting ...... 97 Summary Section...... 97 Summary Formatting...... 97 Decode Section...... 97 Decode Formatting...... 97 Decode Section - Data Display ...... 97 Error Section ...... 98 Export Templates ...... 98 Export Templates ...... 98 MONITORING INTERNAL PORTS (SPY MODE)...... 99 Spy Mode Settings on the Set I/O Window ...... 99 FIFOs and Spy ...... 99 SYSTEM SETTINGS AND PROGRAM OPTIONS...... 100 System Settings...... 100 Advanced System Options ...... 101 Changing Default File Locations ...... 102 Start Up Options...... 102 Timestamping...... 103 Timestamping Options ...... 103 Enabling/Disabling Timestamping...... 103 Changing the Timestamping Resolution ...... 103

6 Switching Between Relative and Absolute Time...... 104 Displaying Fractions of a Second...... 104 Clock Drift...... 104 Performance Issues For High Resolution Timestamps ...... 104 TECHNICAL INFO AND SUPPORT...... 106 Contacting Technical Support...... 106 Performance Notes...... 106 Note Concerning Ring Indicator...... 107 Event Numbering...... 108 How to Turn Off the FIFO Buffers in Windows 2000 ...... 108 How to Turn Off the FIFO Buffers in Windows 95/98 ...... 108 How to Turn Off the FIFO Buffers in Windows NT ...... 109 Troubleshooting the MLT and Serialtest ...... 109 BPF Copyright Notice ...... 109 RS-232 Pin-outs ...... 110 The Serial Driver...... 111 The FTS Driver...... 111 Windows 95/98/Me Driver ...... 111 Windows NT Driver ...... 111 Windows 2000 Driver ...... 112 Handy Character Tables...... 114 ASCII Codes...... 114 EBCDIC Codes ...... 114 Baudot Codes...... 115 Communication Control Characters...... 115 Glossary ...... 117 Buffer Wrapping ...... 117 Capture Buffer...... 117 CD - Carrier Detect...... 117 CRC Error...... 117 CTS - Clear to Send...... 117 DCE Device...... 117 Driver Buffer Overflow...... 117 DSR - Data Set Ready ...... 117 DTE Device ...... 118 DTR - Data Terminal Ready...... 118 Event ...... 118 Frame Recognizer...... 118 Frame Transformation...... 118 Hardware Flow Control ...... 118 FIFO buffers ...... 118 Framing Error ...... 119 Logical Frame...... 119 Overrun Error ...... 119 Parity Error ...... 119 Physical Frame...... 119 Radix ...... 119 RI - Ring Indicator ...... 119 RS-232 ...... 120 RTS - Request to Send ...... 120 Snapshot ...... 120 Software Flow Control...... 120 UART...... 120

7 Underrun Error ...... 120 INDEX...... 121

8 Introduction and Installation

Introduction to Frontline Test System Welcome to the Frontline Test System! Frontline Test System (FTS) is a family of products designed to let you conduct data analysis using your , of which Serialtest is the serial data analysis component. The FTS interface is easy to use without training, but you will want to read the online help to learn how to take maximum advantage of all the features.

There are several variants of Serialtest described in this Help file. For example, Serialtest Async and Serialtest Spy are both described in this Help file. The variants differ primarily in the setup of the hardware, and a note will call out when a description applies only to a particular variant. The software is identical in all cases.

To get started, please read the Quick Start Guide, which will help you set up your hardware and learn how to capture and review data.

What's New The Frame Display This new display for viewing framed data incorporates both the Frame Summary and Frame Decode windows from earlier versions into one window. A summary of the most important information for each protocol layer is at the top of the window. Below to the left is a full decode of the protocols in the frame, and on the right are three views showing the frame in binary, hexadecimal and ASCII. All "panes" are synchronized. Select a frame in the Summary pane and the other panes update automatically. Step through the fields in the Decode pane, and the corresponding bits/bytes are highlighted in the binary, hex and character panes. This makes troubleshooting protocol problems at the bit level easy.

The Frame Display includes extensive sorting and search features. Click on any header in the Summary to sort by that column. Search for frame errors or strings in the Decode. Use the Print feature to print the decode for one frame or several.

Duplicate Frame and Event Displays Both the Frame and Event Displays support duplication. In other words, you can open multiple Frame Displays and view different frames in each display, making comparison of two frames easy. Duplicate the Event Display and leave one copy updating live as new data is captured while you analyze data in the other.

All New Decodes All the protocol decodes have been rewritten and many have been extended.

Graphic Displays on the Statistics Window The Statistics window has been redesigned to organize the data better and make it easier to find the field(s) you're interested in. As part of the redesign, graphs of errors and frame sizes have been added.

Minimizing Windows Windows can be minimized individually or as a group when the Control window is minimized.

To minimize windows as a group, go to the Window menu on the Control window, and select Minimize Control Minimizes All. FTS will put a check next to the menu item, indicating that when

9 the Control window is minimized, all windows will minimize. Select the menu item again to deactivate this feature.

Windows minimize to the top of the Task Bar.

10 Hardware Configuration

Hardware Settings The Hardware Settings box is used to tell FTS which product mode you want to use and which COM ports to use. This box will appear the first time you start the program. If you need to change your COM ports, you can do so at any time by choosing Hardware Settings from the Options menu in the Control Window.

Choosing Product and Com Ports There are six radio buttons at the top of the Hardware Settings box. These are: "Use FTS Cables", "Spy", "Source DTE, No Cables", "SerialBERT", "MLT, length 7bits" and "MLT, length 8 bits". Only the buttons for the products you have installed will be active.

• If you have Serialtest Async with the cable set, the Use FTS Cables radio button will be available. • If you have Serialtest Spy, the Spy radio button will be available. • If you have both Serialtest Async + Spy, both buttons will be available. • The Source DTE, No Cables radio button is available for both Serialtest Async and Serialtest Spy. • If you have the MLT version of Serialtest, choose either the 7 bits or 8 bits option depending on the Length setting of your MLT device.

SerialBERT refers to Serialtest's sister product SerialBERT Async, a Bit Error Rate Tester.

Click on a radio button to choose the product you want to use.

Choose Use FTS Cables when you want to transmit data to an external device or monitor an external circuit using the cable set.

Use Spy to spy on the data going in and out of an internal COM port or internal modem.

Use Source DTE, No Cables to transmit data to an external or internal modem or other communications device.

Choose COM ports To change your COM ports, click on the down arrow in the top port box and choose one of the COM ports listed. This list is generated from the registry of your computer, and so it will only list the COM ports that are available on your computer. Next, click on the down arrow of the second box and choose a second COM port to use. (If you chose Spy or Source DTE, No Cables, you will only be able to choose one COM port.)

If you have only one COM port on your computer, choose a port in the first box, and choose Not Used for the second box. FTS will only allow you to choose options appropriate for single port mode once you get into the program.

Changes in your COM ports will take effect when you click on the OK button, or the next time you start FTS if you changed them from outside the program.

Choose Options Detect Now button - Click to determine what cables are connected to your computer.

11 Notify If Auto Detect Fails - FTS will look for the cables each time data capture is started. Uncheck this box if you do not want FTS to look for the cables before starting capture.

Info button - Click to see whether FIFOs are available on the selected COM ports and if they are enabled.

Disable control signal interrupts - When checked, FTS will ignore all interrupts generated by the control signals. This is mostly a troubleshooting tool used when monitoring a circuit which has large numbers of rapid signal changes. Note that control signal interrupts are disabled by default in MLT mode because the MLT device does not transmit signal information.

Enable UART FIFOs - By default, FTS disables the UART FIFO buffers. Check this box to enable the FIFOs while FTS is running. This box should be checked only if you are experiencing UART overrun errors.

Spy Spy lets you run FTS on a computer, and spy on the data going in and out of a COM port or internal modem. This means that you can run both FTS and a communications application on the same computer, and use FTS to monitor the conversation between the application and another device. Since internal modems look like COM ports to the computer, FTS can monitor data passing through an internal modem as well as a regular COM port.

There are some limitations on using Spy. FTS uses a custom version of the standard serial device driver in order to spy on COM ports and internal modems. This means that FTS must be started before the communications application to ensure that FTS's driver is being used by both FTS and the application. As a corollary, the port you are monitoring must normally use the standard serial driver, and not a custom driver.

To enter Spy, you must follow the steps below in the order given.

For Serialtest Spy: 1. Start FTS. FTS must be started before the application you are monitoring is started, or the application will not use the correct driver and FTS will not be able to monitor the port. 2. Start the application. Be sure to have the application use the same COM port as the one chosen for FTS. 3. Monitor data. 4. Close your application when finished. If you want to monitor another application, repeat steps 2-4. 5. Close FTS.

For Serialtest Async + Spy: 1. Start FTS. FTS must be started before the application you are monitoring is started, or the application will not use the correct driver and FTS will not be able to monitor the port. 2. From the Options menu on the Control window, choose Hardware Settings. 3. Click on the radio button labeled Spy. 4. Select the COM port you want to monitor. 5. Exit the Hardware Settings window. 6. Start the application. Be sure to have the application use the same COM port as the one chosen for FTS. 7. Monitor data. 8. Close your application when finished. If you want to monitor another application, repeat steps 6 - 8. 9. Close FTS.

12 It is important to follow the steps in the order given because this ensures that FTS's driver is the one being used by the application you are monitoring. Please note that FTS's driver is designed to behave like the standard serial driver when used by any other application. However, because it is not the standard serial driver, total compatibility cannot be guaranteed. See The FTS Driver for more information.

The use of FIFO buffers may cause incorrectly sequenced data when in Spy. See FIFOs and Spy for more information.

Source DTE, No Cables To switch to this mode • Open the Hardware Settings window by choosing Hardware Settings from the Options menu on the Control window. • Click the Source DTE, No Cables radio button. • Choose which COM port you want to communicate with. If you are testing a modem, choose the COM port that the modem is connected to. • Close the Hardware Settings window. • In FTS, click the Set I/O Configuration icon and set the baud rate, parity and other parameters. • Click the Transmit icon to transmit data. • Use the Event Display to view the data you transmitted, plus the response from the device.

Source DTE, No Cables lets you transmit DTE data without using the cable set, which means that you can transmit data directly to an internal device on your computer such as an internal modem or COM port. This is probably most useful for testing internal modems. Using the Transmit window, you can send commands directly to the internal modem, and use the Event Display window to see the modem's response.

Ring Indicator control signal changes may not always be properly captured when using Source DTE, No Cables mode. See the note on Ring Indicator changes for more information.

Serialtest MLT Serialtest MLT is designed for use with an MLT-2400A, which is a Modem Line Tap device. It requires only one serial port to monitor the output from an MLT. Please refer to the MLT manual for help on setting up the MLT device.

Setup 1. Connect the MLTs Monitor port to a serial port on your PC using a standard RS-232 cable. 2. Start Serialtest MLT by double-clicking on the ST MLT icon in the Frontline Test System II folder on your desktop. 3. From the Options menu on the Control window, choose Hardware Settings. 4. Select either MLT, length 7 bits or MLT, length 8 bits from the radio buttons at the top of the Hardware Settings window. Choose the option that matches the Length setting on the front of the MLT. 5. Select the serial port that the MLT is connected to from the Serial Ports box. 6. Click OK when finished.

The output from an MLT is 9600 baud, 8 data bits, no parity and 1 stop bit. Serialtest MLT will automatically use these settings, so no further setup is required unless your data uses a protocol

13 that you would like FTS to decode. See Protocol Stack for information on how to setup a protocol for decode.

For information on how to use FTS and start capturing data, see the Quick Start Guide. If your data has lots of red characters or is garbled, see Troubleshooting the MLT and Serialtest.

Detect Now button To access this function • Open the Hardware Settings window by choosing Hardware Settings from the Options menu on the Control window. • Click the Detect Now button to check that the cables are attached to the correct ports. FTS will respond with a message saying what cables it has found.

To use the Detect Now button, you must have your cables connected to the computer (see Cable Configuration for help connecting your cables.)

Advanced Hardware Settings functions

NOTIFY IF AUTO CABLE DETECTION FAILS To access this function • Open the Hardware Settings window by choosing Hardware Settings from the Options menu on the Control window. • Uncheck the Notify If Auto Detect Fails box. This feature should be left on unless there is a reason why FTS cannot detect the cables but can still capture data.

FTS automatically checks to see if the cables are present when the software is first started, and every time data capture is initiated. If unchecked, FTS will still look for the cables when the program first starts up, but will not check when data capture is initiated.

DISABLING CONTROL SIGNAL INTERRUPTS To reach this option Open the Hardware Settings window by choosing Hardware Settings from the Options menu on the Control window.

Check the Disable Control Signal Interrupts box on the Hardware Settings window to disable processing of control signals. This option is used as a troubleshooting device on circuits where a control signal lead is toggling too quickly for FTS to keep up with. The result is that FTS spends all its time processing signal interrupts and no time updating the user interface, giving the appearance that the computer has frozen. Check this box only on advice of technical support.

FTS always checks the state of the control signals when retrieving a data byte, so the Breakout Box will still show control signal changes provided data is being received. However, FTS will not capture control signal changes that occur independent of data bytes when interrupt processing is disabled.

FTS polls for control signal changes whenever it is not in Use FTS Mode in order to catch Ring Indicator changes. This polling will still occur when interrupt processing is disabled, which means that FTS will capture control signal changes that occur independent of data, but may not capture them at the exact moment the change occurred. It also means that it is possible for FTS to miss a change if the signal changes state twice in a short period of time.

Polling does not occur in Use FTS Cables mode.

14 ENABLE UART FIFOS To access this function • Open the Hardware Settings window by choosing Hardware Settings from the Options menu on the Control window. • Check the Enable UART FIFOs box to enable the FIFO buffers. Uncheck the box to disable the buffers.

The Enable UART FIFOs box controls the state of the FIFOs only while FTS is running. The FIFOs will be returned to their original state when FTS exits.

By default, FTS disables the UART FIFOs. If you are getting UART overruns, enabling the UART FIFOs can improve performance. The trade off is that your timestamps may not be exact and that FTS may miss some of the control signal changes that occur.

With the FIFOs disabled, FTS retrieves each byte, along with its timestamp and the state of the control signals, as it arrives at the UART. With UART FIFOs enabled, several bytes may accumulate in the buffer before they are retrieved. All those bytes will then have the same timestamp and any control signal changes that took place between the bytes will be lost.

You may need to change the depth of the buffers in order to minimize problems with timestamping and signal changes while allowing for enough of a buffer to eliminate overruns. In Windows NT, you cannot set the depth of the buffers, but you can in Windows 95, 98, Me and Windows 2000. Note that changes to the buffer depth will remain after FTS exits.

How to set the FIFO buffers in Windows 9x/Me 1. Click on the Start button and choose Settings -> Control Panel. 2. Double-click on the System control panel icon. 3. Click on the Device Manager tab, and then double-click on the Ports listing. 4. You should now see a list of the COM ports on your machine. Click on the port you will be using FTS with, and then click the Properties button at the bottom of the window. 5. Click on the Port Settings tab, followed by the Advanced button at the bottom of the screen. 6. Use the slider bars to adjust the level of the transmit and receive buffers. If you are using FTS solely to monitor data and not transmit it, then you only need to change the level of the receive buffer. 7. Click OK on all windows to close the windows.

How to set the FIFO buffers in Windows 2000 1. Click on the Start button and choose Settings -> Control Panel. 2. Double-click on the System control panel icon. 3. Click on the Hardware tab, then click the Device Manager button (2nd button in the middle section). 4. Expand the Ports section, and double-click on the port you want to change. The Port Properties dialog box will open. 5. Click on the Port Settings tab, followed by the Advanced button at the bottom of the screen. 6. Use the slider bars to adjust the level of the transmit and receive buffers. If you are using FTS solely to monitor data and not transmit it, then you only need to change the level of the receive buffer. 7. Click OK on all windows to close the windows.

SERIAL PORT INFO BUTTON To access this function • Open the Hardware Settings window by choosing Hardware Settings from the Options menu on the Control window.

15 • Click the Info button to get information on the status of the FIFO buffers for the selected ports. FTS will provide information on whether the selected ports have FIFO buffers, and if they do, whether the buffers are enabled.

This information is useful in Spy for determining whether the application being monitored is using the FIFO buffers on the port, which would affect how the data is displayed in Spy. See FIFOs and Spy for more information.

16 Quick Start Guide

Quick Start Guide The Quick Start Guide is intended to help you get up and running quickly. As features are discussed, they will often be highlighted in green. Click on the green links to get more information about the feature.

The Quick Start will help you connect your cables, configure FTS for either monitoring or transmitting data, and analyze the data you've captured.

FTS is organized around a Control window. From the Control window you have access to the other windows used to view data or perform different functions. In addition, data capture is controlled from the Control window. Each icon on the toolbar represents a window or data capture function. Hold the cursor over each icon, and a tooltip will pop up with the name of each icon. To learn more about what each icon does, read the help topic on the Control Window Toolbar.

The first step is to connect the FTS cables to the circuit. Cable setup differs between monitor and source modes. Spy mode does not require cables.

Monitoring Data

CONNECTING THE CABLES IN ORDER TO MONITOR A CIRCUIT The diagram below shows how to connect the cables to the PC running FTS and to the circuit being monitored. This information assumes that you have two serial ports available on the PC running FTS. Two serial ports are required in order to see both sides of the circuit. If you have only one serial port, you will be able to monitor one side of the circuit. See the Help under Cable Configuration for instructions on setting up the cables with one serial port.

1. Connect the two 9-pin connectors on the Routing Cable to the two serial ports on the PC running FTS. 2. Connect the Monitor Head to the 25-pin connector on the Routing Cable. The cable set includes a Monitor and a Source Head which look very similar; be sure you have the correct cable Head. 3. Connect the T-connector on the Monitor Head to the circuit. The Monitor Head is a straight- through connector, so you can either connect the DCE device to one side of the Head and the DTE device to the other, or use a y-cable and connect each device to two of the connectors on the y-cable and the Monitor Head to the third connector. Use the adapters provided to convert between the 25-pin Monitor Head and 9-pin connections on your circuit. 4. Click the link to learn how to tell FTS which serial ports to use.

17 TELLING FTS WHICH SERIAL PORTS TO USE The Hardware Settings window tells FTS which serial ports on your PC the cables are connected to. This window comes up automatically the first time you start FTS, so if you are reading the Quick Start Guide from inside FTS, you've already seen this window.

To open the Hardware Settings window, choose Hardware Settings from the Options menu on the Control window (the small rectangular window).

1. Choose Use FTS Cables from the list of radio buttons at the top of the Hardware Settings window. 2. Select your first serial port from the drop-down list in the top Use this serial device box. 3. Select your second port from the list in the second box labeled and this serial device. If you only have one serial port on your PC, choose Not Used for the second box. 4. Click Detect Now. This will check your two selected ports for the FTS cables and tell you what it found. If you do not get a message saying that the Routing Cable and Monitor Head were found, check your cables to be sure you have the correct ones, and check that you selected the correct serial ports. 5. Click OK. 6. The next step is to configure FTS for the correct operating mode, and circuit settings (baud, parity, etc.) Click the link to learn about the Set I/O Configuration window.

CONFIGURING FTS TO MONITOR DATA FTS needs to know what baud your circuit is using, as well as parity, word length and number of stop bits in order to monitor data correctly. You give FTS this information in the Set I/O Configuration window.

To open the Set I/O Configuration window, click on the Set I/O Configuration icon on the Control window toolbar, or choose Set I/O Configuration from the Window menu.

1. In the Operating Mode box, choose Monitor Both. If you have only one serial port, choose either Monitor DTE or Monitor DCE, depending on which side you want to see. 2. Set the baud, parity, word length and stop bits boxes to the correct settings for both sides of the circuit. Usually these values will be the same for both sides. 3. If you are monitoring framed data, you will need to choose a protocol stack so that FTS can correctly frame and decode your data. Select a stack from the Protocol Stack box. These are pre-configured stacks. For Internet data, use the Async PPP stack. To set up a stack not

18 listed in the drop-down list, click the Custom Protocol Stack button. More information on how to set up a custom stack is in the online Help. 4. Click the Close button. 5. The next step is learning how to capture data. Click the link to find out how to capture data to a memory buffer or to a file.

HOW TO CAPTURE DATA FTS can capture data to a memory buffer or to a file on disk. Data capture can be initiated from the Control window, the Event Display or the Frame Display, though you do not need any window other than the Control window open to capture data.

1. To capture to the buffer, click the Start Capture to Buffer icon . 2. To stop capture and reset the buffer, click the Clear icon . Clearing the buffer throws away the data in memory. If you want to save the data in the buffer, Pause capture (see below) and save the buffer before clearing it. 3. To capture to a file, click the Start Capture to File icon and type a filename when prompted. 4. To stop capture and close the file, click the Close icon . 5. To pause capture, click the Pause icon . Click the Pause icon again to resume capture. Pausing capture means that no data will be added to the capture buffer or file until capture is resumed. 6. To load a capture file, choose Open from the File menu on the Control window and select your file. All the functions needed to analyze data will be present, but not the functions needed to capture data. Choose Go Live from the File menu on the Control window to return to live mode.

If the buffer becomes full, it will begin to wrap using the First In, First Out rule. ("Buffer" refers to either a memory buffer or a capture file for the purposes of this discussion.) This means that the oldest data will be removed to make room for the newest data. You can tell how full the buffer is by checking the bar graphic next to Capture Status on the status bar of the Control window.

See System Settings for information on how to make the capture buffer larger, or how to turn off buffer wrapping.

Once you've captured some data, you need a way to look at it. FTS provides different ways for viewing different types of data.

To look at the data bytes, conduct searches for errors or patterns, or otherwise analyze byte-level data, use the Event Display window. To look at frames and detailed protocol decodes, use the Frame Display. For statistical information on number of characters, frames, errors and other statistical breakdowns, use the Statistics window. For control signal states, use the Breakout Box and Signal Display windows.

LOOKING AT FRAMES

Click the Frame Display icon on the Control window toolbar to open the Frame Display. The Frame Display window is the main view of frame-level data.

The Frame Display is divided up into "panes", where each pane shows a different type of data. The Summary pane stretches across the top of the display and shows a protocol summary of each frame. The Decode pane has a detailed decode of the frame selected in the Summary

19 pane and is the long pane on the left side. The three smaller panes on the bottom right of the Frame Display show the logical data in hex, binary and ASCII. Select any field in the decode and the corresponding bit(s) or byte(s) will be selected in these three panes.

The green dot next to each frame in the Summary pane means the frame contains the decode listed in the drop-down box at the top of the Summary pane. No dot or a green circle indicates other conditions. The protocol being viewed is listed in the drop-down box at the top of the Summary pane. Click on the arrow to change the protocol.

Frame numbers in red indicate an error in the frame. Select the frame, and look at the top of the Decode pane to determine the source of the error.

Use the Find feature to search for a pattern in the decode or errors in the frames. Click the Find icon to open the Find window. In the Decode tab, type the pattern you want to look for and click Find Next, or select one of the two radio buttons to search for errors. See the Decode Search topic for more information.

The Duplicate icon creates a second Frame Display, identical to the first. The advantage of additional Frame Displays is that you can look at two different frames at the same time.

By default, the Frame Display is frozen, which means that it does not automatically update as new data is captured. Click the Freeze/Resume icon to have the Frame Display Summary pane automatically update as new data is captured.

The Frame Display and the Event Display are synchronized. Select a frame in the Frame Display and the Event Display will automatically update to highlight the bytes in the frame. Select a byte in the Event Display and the Frame Display will update to show the frame containing the byte.

LOOKING AT DATA BYTES

Click the Event Display icon on the Control window toolbar to open the Event Display. The Event Display window is the main view of byte-level data.

By default, the Event Display updates automatically as new data is captured. This lets you see all new data as it comes in, and check that good data is on the circuit and being captured properly by FTS.

To stop the Event Display from updating, click the Freeze icon . Click the Freeze icon again to resume live updates.

Data is displayed in hex on the left and ASCII on the right. The Event Display can also display data in decimal, binary, EBCDIC, or Baudot. Choose the format you would like from the Data menu, or right-click on the Hex/ASCII labels in the headers and select a different format.

Click on a byte in the display. The three status lines at the bottom of the window will update to show a variety of information about the byte, including its value in different radixes, any errors associated with the byte and the state of the control signals at the time the byte was captured. Use the mouse to select several bytes. The status lines change to show the data rate over the range of the selection, the delta time between the first and the last bytes in the selection, and the CRC. To change the algorithm used to calculate the CRC, click the CRC icon .

Bytes with errors are shown in red. Click on the byte to see what the error is.

20 FTS displays data other than bytes in the Event Display. Control signal changes are indicated with an up-and-down arrow. Flags are used as start-of-frame and end-of-frame markers. These special symbols in conjunction with the data bytes are called events.

Use the Find feature to search for a pattern in the data, framing or parity errors, or control signal changes. Click the Find icon to open the Find window. In the Pattern tab, type the pattern you want to look for and click Find Next. See the Search topic for more information on the different types of searches.

The Duplicate icon creates a second Event Display, identical to the first. The advantage of additional Event Displays is that you can look at two different groups of data at the same time. For example, you can look at the start of an interaction in one Event Display, and the end of that same interaction in the other and compare the two.

The Event Display and the Frame Display are synchronized. Select a byte in the Event Display and the Frame Display will update to show the frame containing the byte. Select a frame in the Frame Display and the Event Display will automatically update to highlight the bytes in the frame.

CIRCUIT STATISTICS

Click the Statistics icon on the Control window toolbar to open the Statistics window.

The Statistics window provides a statistical overview of all the data on the circuit. FTS is always monitoring the circuit and gathering statistics, even when not capturing the data.

There are three tabs on the Statistics window: Session, Resetable and Buffer. The Session tab shows statistics from the time FTS was started. The Resetable tab can be reset to show statistics from the time the Reset icon was last pressed. The Buffer tab shows statistics on the data in the capture buffer. If data capture has not been started or if the buffer has wrapped, most of the statistics on the Buffer tab will be n/a.

Some tables on the Statistics window can display data in graphic form. Click the Graph icon on any header that has one for a chart of that table.

MONITORING CONTROL SIGNALS The Breakout Box monitors control signals in real-time. The Signal Display is an overview of all signal changes in the capture buffer.

Breakout Box Click the Breakout Box icon on the Control window toolbar to open the Breakout Box window.

The Breakout Box monitors the six main control signals on an RS-232 circuit. It displays a count of how many times each signal has changed since the Breakout Box was opened, and shows the state of the signal using green and red symbols and line charts.

Signal Display Click the Signal Display icon on the Control window toolbar to open the Signal Display.

The Signal Display shows the state of the control signals in the capture buffer over time. With the Snap To feature on, click on any control signal line and FTS will jump to the nearest signal change. The Signal Display is synchronized with the Event Display. Click on any signal change

21 in the Signal Display and the corresponding event will be automatically selected in the Event Display.

Click the Find icon to search for signal changes. If you are capturing data, you can update the Signal Display by clicking the New Snapshot icon .

EXITING FTS To exit FTS, go to the File menu on the Control window, and choose Exit FTS, or close the Control window using the X icon in the top right corner of the title bar.

Transmitting Data

CONNECTING THE CABLES IN ORDER TO TRANSMIT DATA TO A DEVICE The diagrams below show how to connect the cables to the PC running FTS and to the device you want to transmit data to. This information assumes that you have two serial ports available on the PC running FTS. If you have only one serial port, you will be able to transmit data and see the response from the device, but will not see all control signals. See the Help under Cable Configuration for instructions on setting up the cables with one serial port.

1. Connect the two 9-pin connectors on the Routing Cable to the two serial ports on the PC running FTS. 2. Connect the Source Head to the 25-pin connector on the Routing Cable. The cable set includes a Source and a Monitor Head which look very similar; be sure you have the correct cable Head. 3. If FTS will be emulating a DTE device, connect your DCE device to the side of the Source Head labeled DTE ->. The arrow means DTE data will be coming from this side of the Source Head. Do not connect anything to the other side of the Source Head. Use the adapters provided to convert between the 25-pin Monitor Head and 9-pin connections on your circuit. 4. If FTS will be emulating a DCE device, connect your DTE device to the side of the Source Head labeled DCE ->. The arrow means DCE data will be coming from this side of the Source Head. Do not connect anything to the other side of the Source Head. Use the adapters provided to convert between the 25-pin Monitor Head and 9-pin connections on your circuit. 5. Click the link to learn how to tell FTS which serial ports to use.

Diagram for FTS emulating a DCE device

22 Diagram for FTS emulating a DTE device

TELLING FTS WHICH SERIAL PORTS TO USE The Hardware Settings window tells FTS which serial ports on your PC the cables are connected to. This window comes up automatically the first time you start FTS, so if you are reading the Quick Start Guide from inside FTS, you've already seen this window.

To open the Hardware Settings window, choose Hardware Settings from the Options menu on the Control window (the small rectangular window).

1. Choose Use FTS Cables from the list of radio buttons at the top of the Hardware Settings window. 2. Select your first serial port from the drop-down list in the top Use this serial device box. 3. Select your second port from the list in the second box labeled and this serial device. If you only have one serial port on your PC, choose Not Used for the second box. 4. Click Detect Now. This will check your two selected ports for the FTS cables and tell you what it found. If you do not get a message saying that the Routing Cable and Source Head were found, check your cables to be sure you have the correct ones, and check that you selected the correct serial ports. 5. Click OK. 6. The next step is to configure FTS for the correct operating mode, and circuit settings (baud, parity, etc.) Click the link to learn about the Set I/O Configuration window.

CONFIGURING FTS TO TRANSMIT DATA FTS needs to know what baud to use, as well as the parity, word length and number of stop bits in order to transmit data correctly. You give FTS this information in the Set I/O Configuration window.

To open the Set I/O Configuration window, click on the Set I/O Configuration icon on the Control window toolbar, or choose Set I/O Configuration from the Window menu.

1. In the Operating Mode box, choose Source DTE if FTS is transmitting as a DTE device, or Source DCE if FTS is transmitting as a DCE device. 2. Set the baud, parity, word length and stop bits boxes to the correct settings for the appropriate side. FTS will only allow you to change the settings for the side you are emulating. It assumes that the other device will be using the same settings.

23 3. If the other device will be using flow control to indicate when FTS should send data, select the appropriate flow control option from the Flow Control box. FTS supports hardware and software flow control. 4. Click the Close button. 5. The next step is learning how to transmit data.

TRANSMITTING DATA This topic assumes that you want to transmit a string or pattern. Click here to find out how to transmit a file.

To open the Transmit window, click the Transmit icon on the Control window toolbar, or choose Transmit from the Window menu.

1. Click the String tab. 2. In the large text box, type in the string you want to transmit. FTS accepts strings in many formats, and assumes that characters are typed in ASCII unless an escape character specifies otherwise. To specify a hex character, type $ in front of the character. Click here for more information on how to specify a string using non-ASCII characters. 3. In the Style section on the bottom left of the Transmit window, choose how many times FTS should transmit the string. 4. Delays allow you to specify a time delay between repetitions of the string. Click here for more information on delays. 5. Click the Start Capture to Buffer icon to begin data capture to memory, or click the Start Capture to File icon to begin data capture to disk. You can transmit data without having data capture active, but you will not be able to see the response of the device if you do this. 6. Click Send to begin transmitting. 7. Click Pause to pause data transmission and Stop to stop transmitting. Pause and Stop in this context do not affect data capture, just data transmission. 8. The next step is viewing the data FTS is transmitting and the response from the device.

Monitoring Internal Ports (Spy Mode)

CONFIGURING FTS FOR SPY MODE

To open the Set I/O Configuration window, click on the Set I/O Configuration icon on the Control window toolbar, or choose Set I/O Configuration from the Window menu.

1. In the Operating Mode box, choose Monitor Both. If you only want to monitor one side, choose either Monitor DTE or Monitor DCE, depending on which side you want to see. 2. When spying, it is not necessary to configure FTS for the correct baud or other settings. The application controlling the port does this, and FTS automatically uses the correct settings. Most of the settings will be grayed out, but the values in each field reflect the settings being used by the application. 3. If you are monitoring framed data, you will need to choose a protocol stack so that FTS can correctly frame and decode your data. Select a stack from the Protocol Stack box. These are pre-configured stacks. For Internet data, use the Async PPP stack. To set up a stack not listed in the drop-down list, click the Custom Protocol Stack button. More information on how to set up a custom stack is in the online Help. 4. Click the Close button. 5. The next step is learning how to capture data.

24 SETTING UP SPY Important! In order to spy on a serial port, FTS must be started before the application using the port. This ensures that both FTS and the application use the FTS serial driver.

The Hardware Settings window tells FTS which serial port on your PC Spy should monitor. This window comes up automatically the first time you start FTS, so if you are reading the Quick Start Guide from inside FTS, you've already seen this window.

To open the Hardware Settings window, choose Hardware Settings from the Options menu on the Control window (the small rectangular window).

1. Choose Spy from the list of radio buttons at the top of the Hardware Settings window. 2. Select your serial port from the drop-down list in the top Use this serial device box. 3. Click OK. 4. Start the application that will be using the serial port FTS is monitoring. Configure the application to use the same port FTS is configured for. 5. The next step is to set the operating mode and select a protocol stack, if necessary.

25 Connecting the Cables

Cable Configuration The cables included with FTS are:

• a routing cable, which is a y-cable with a 25-pin connector on one end and two 9-pin connectors labeled DTE and DCE on the other ends, used to connect to the monitor or source head • a monitor head • a source head • two 25-pin female to 9-pin male adapters • one 25-pin male to 9-pin female adapter

The 25-pin female adapters are used to connect the 9-pin routing cable connectors to 25-pin serial ports. One of the 25-pin female adapters can be used in conjunction with the 25-pin male adapter to connect the monitor head to a 9-pin circuit.

All cables have their name molded into the plastic on one end.

Dual Port Monitor Mode Cable Configuration

• Attach the DTE connector of the routing cable to one COM port, and the DCE connector to the other COM port. Adapters are provided for attaching the 9-pin connectors to 25-pin serial ports. • On the end of the routing cable, attach the monitor head. The monitor head has the words "Monitor Head" molded into the plastic on the connector that hooks up to the routing cable. • Place the monitor head between the two devices you wish to monitor. If you have a y-cable connecting your two devices, you can also connect the monitor head to the third end of the y- cable. Adapters are provided for attaching the 25-pin monitor head to a 9-pin circuit.

Note: the monitor head is a straight-through RS-232 cable. You can insert it between your two devices and they will be able to communicate with each other through the monitor head, whether or not FTS is running.

26 Dual Port Source DCE Mode Cable Configuration

• Attach the DTE connector of the routing cable to one COM port, and the DCE connector to the other COM port. Adapters are provided for attaching the 9-pin connectors to 25-pin serial ports. • On the end of the routing cable, attach the source head. The source head has the words "Source Head" molded into the plastic on the connector that hooks up to the routing cable. It also has the words "DTE" and "DCE" on the other end, with arrows pointing to each side of the source head. • Connect your DTE device to the side of the source head marked "DCE ?". This arrow means that your DCE data will be coming out of this side of the source head, and so that is the side your DTE device needs to be connected to. An adapter is provided for attaching the 25-pin source head to a 9-pin circuit.

Dual Port Source DTE Mode Cable Configuration

• Attach the DTE connector of the routing cable to one COM port, and the DCE connector to the other COM port. Adapters are provided for attaching the 9-pin connectors to 25-pin serial ports. • On the end of the routing cable, attach the source head. The source head has the words "Source Head" molded into the plastic on the connector that hooks up to the routing cable. It also has the words "DTE" and "DCE" on the other end, with arrows pointing to each side of the source head.

27 • Connect your DCE device to the side of the source head marked "DTE ?". This arrow means that your DTE data will be coming out of this side of the source head, and so that is the side your DCE device needs to be connected to. An adapter is provided for attaching the 25-pin source head to a 9-pin circuit.

Single Port Monitor DCE Mode Cable Configuration

• Connect the DCE connector of the routing cable to your COM port. An adapter is provided for attaching the 9-pin connector to a 25-pin serial port. • On the end of the routing cable, attach the monitor head. • If you are monitoring one side of a circuit, you can connect the monitor head between your two devices. The monitor head is a straight-through RS-232 cable, so your 2 devices will still be able to communicate, but FTS will only monitor the DCE side. • If you are monitoring a DCE device only, connect the DCE device to either side of the monitor head. It does not matter which side you choose. An adapter is provided for attaching the 25- pin monitor head to a 9-pin circuit.

Note: If you are monitoring a circuit, you can switch to monitoring DTE by going into the Set I/O Parameters screen and switching to Monitor DTE mode. Then disconnect the DCE head of the routing cable from your COM port and connect the DTE head, and you will see DTE data. You will not need to do anything with the monitor head cable.

28 Single Port Monitor DTE Mode Cable Configuration

• Connect the DTE connector of the routing cable to your COM port. An adapter is provided for attaching the 9-pin connector to a 25-pin serial port. • On the end of the routing cable, attach the monitor head. • If you are monitoring one side of a circuit, you can connect the monitor head between your two devices. The monitor head is a straight-through RS-232 cable, so your 2 devices will still be able to communicate, but FTS will only monitor the DTE side. • If you are monitoring a DTE device only, connect the DTE device to either side of the monitor head. It does not matter which side you choose. An adapter is provided for attaching the 25- pin monitor head to a 9-pin circuit.

Note: If you are monitoring a circuit, you can switch to monitoring DCE by going to the Set I/O Configuration window and switching to Monitor DCE mode. Then disconnect the DTE head of the routing cable from your COM port and connect the DCE head, and you will see DCE data. You will not need to do anything with the monitor head cable.

Single Port Source DCE Mode Cable Configuration

• Connect the DTE connector of the routing cable to your COM port. Even though you are in source DCE mode, you will need to use the DTE connector on the routing cable. An adapter is provided for attaching the 9-pin connector to a 25-pin serial port. • On the end of the routing cable, attach the source head.

29 • Connect your DTE device to the side of the source head marked "DCE ?". This arrow means that your DCE data will be coming out of this side of the source head, and so that is the side your DTE device needs to be connected to. An adapter is provided for attaching the 25-pin source head to a 9-pin circuit.

Note: You will be able to send data to your DTE device and set the DCE control signals, but FTS will not be able to see any responses from your DTE device.

Single Port Source DTE Mode Cable Configuration

• Connect the DTE connector of the routing cable to your COM port. An adapter is provided for attaching the 9-pin connector to a 25-pin serial port. • On the end of the routing cable, attach the source head. • Connect your DCE device to the side of the source head marked "DTE ?". This arrow means that your DTE data will be coming out of this side of the source head, and so that is the side your DCE device needs to be connected to. An adapter is provided for attaching the 25-pin source head to a 9-pin circuit.

Note: You will be able to send data to your DCE device and set the DTE control signals, but FTS will not be able to see any responses from your DCE device.

Using a Converter with FTS If your circuit is RS-422, RS-485 or conforms to any other electrical standard other than RS-232, you will need a converter to change the voltage levels to RS-232. If the converter has a standard RS-232 connector, then the simplest thing to do is to connect the FTS Cables to the two serial ports on the PC running FTS, and connect the converter's RS-232 connector to the Monitor or Source Head.

If you need to connect your circuit directly to the PC without using the cable set (a scenario common when developing hardware or software), here's what you need to do. In order for FTS to correctly capture data when not using the cable set, the TxD, RxD and Signal Ground signals need to be fed to the proper pins on the serial ports of the PC running FTS. In this scenario, FTS will not be able to monitor control signals.

1. Connect TxD and Signal Ground to RxD and Signal Ground of one serial port. RxD is usually pin 2 on 9-pin serial ports, and Signal Ground is pin 7. (Click for RS-232 Pin-outs.) 2. Connect RxD and Signal Ground to RxD and Signal Ground of the second serial port. 3. It is important that the data signals both go to RxD on each serial port. 4. When you run FTS, open the Hardware Settings window and uncheck the "Notify if Auto Detect Fails" checkbox. This will prevent FTS from displaying a message about not finding

30 the cables every time data capture is started. You'll still get the message once when FTS starts up for the first time.

31 Configuring FTS - The Set I/O Configuration Window

Set I/O Configuration Window To open this window Click the Set I/O Configuration icon on the Control window.

The Set I/O Configuration window allows you to configure FTS for both monitor and source operating modes. FTS requires information on baud, parity, word length, and number of stop bits in order to operate properly. If you are capturing framed data, FTS needs to know what protocols are present on your circuit to decode them correctly.

Configuration files store I/O settings. If a configuration file is open, it will be listed at the top of the Set I/O Configuration window. If no configuration file is being used, FTS will revert to its default settings. You can return to the default settings at any time by clicking on the Revert to Factory Defaults icon on the Set I/O Configuration toolbar.

There are two rows of settings, one for the DTE device, and one for the DCE device. Depending on your operating mode, you will need to configure one or both sides. FTS will only allow you to change the settings relevant to your operating mode. All other settings will be grayed out. Some settings apply only to specific modes. For example, Flow Control settings only apply in source mode.

Operating Mode - Choosing to Monitor or Source

Monitor Mode If you specified two COM ports in the Hardware Settings window, choose Monitor Both from the pulldown list. This means that FTS will monitor both sides of your circuit. To do this, you must use the routing cable and the monitor head. You can also choose to monitor only one side of the circuit by choosing Monitor DTE or Monitor DCE.

If you specified one COM port in the Hardware Settings window, you will be able to monitor either the DTE or the DCE side of a circuit, but not both. Choose Monitor DTE or Monitor DCE from the pulldown list to specify which side you want to monitor.

Source Mode FTS can act as either a DTE or a DCE device. Choose Source DTE or Source DCE from the pulldown menu to specify which type of device you want to emulate.

If you have two COM ports, you will be able to send data to another device, change the state of the appropriate control signals, and see data and control signal states from the other device.

If you have one COM port, you will be able to send data to another device and see data sent by the device. If you are emulating a DTE device, you will be able to change DTR and RTS , and you will be able to see changes made by your DCE device on DSR and CTS , but you will not be able to see changes on CD and RI . If you are emulating a DCE device, you will be able to change DSR and CTS, but not CD and RI, and you will be able to see DTR and RTS signal changes coming from your DTE device.

32 You must use the routing cable and the source head when in source mode. The device under test must be connected to the correct side of the source head. See Cable Configuration for assistance on setting up the cables.

Setting Baud, Parity, Word Length and Stop Bits To change the baud, parity, word length or number of stop bits, click on the down arrow next to the setting box and choose an option from the list. For baud, you can either choose a listed rate or enter a rate.

If you have chosen to monitor both DTE and DCE, you will have to set the configuration for both sides. To make things easier, you can set the configuration for the DTE side, and click on the DTE-to-DCE icon . This will change the settings on the DCE side to match those of the DTE. If you have chosen to monitor only DTE or only DCE, or if you have chosen to be a source, you will only need to set the configuration for the appropriate side. The other side will be grayed out and you will not be able to change those settings.

Defining Your Own Baud To define your own rate, highlight the text in the baud field and type in a new rate. Not all baud rates are supported. Supported rates vary depending on the rates supported by the serial port.

If you choose a baud that is not supported, FTS will display a box asking you to choose between the two nearest supported rates. You must choose a rate in order to continue working.

Bit Order Choose LSB (least significant bit) first or MSB (most significant bit) first. LSB first is normal, while MSB first is considered "reversed" from normal. This option reverses the order of the bits within each byte.

All options on the Set I/O window are valid when in MSB mode except for parity. The parity must be None when using MSB bit order.

Bit reversal occurs both when monitoring data and when transmitting data. For example, if FTS is monitoring data in LSB mode and sees 0000 0001 on the circuit, it will display this as hex 01. In MSB mode, FTS will reverse the order of the bits as they come in and display this byte as 1000 0000, or hex $80.

When transmitting data, FTS reverses the bits before they are sent out over the circuit. For example, if you are transmitting data in LSB mode and you enter the pattern $01, FTS will send out 0000 0001. If you are transmitting in MSB mode and you enter the pattern $01, FTS will bit reverse this and transmit 1000 0000.

FTS remembers what bit order was used to capture the data with. If you create a capture file with the bit order set to MSB, the data will always be displayed in that form.

If you are monitoring HDLC or SDLC data and the bit order is set to MSB, it is probable that the CRC's will not be calculated correctly.

Flow Control Flow control (sometimes called "handshaking") is only available in source mode. There are four flow control options: None, RTS/CTS, DTR/DSR or Xon/Xoff. The default option is None.

If you choose None, FTS will not employ any flow control techniques.

33 Hardware flow control can be accomplished using either the RTS /CTS pair or DTR /DSR pair. Choose which pair you would like FTS to use.

To use software flow control, choose the Xon/Xoff option. FTS will use the Xon/Xoff characters given in the boxes below the flow control option. These numbers must be specified in hexadecimal (hex) characters. By default, FTS uses hex 11 for Xon and hex 13 for Xoff.

Custom Protocol Stack button To change the protocol stack, click on the Custom Protocol Stack button to start the Protocol Stack Wizard.

If you are capturing framed data but did not select a protocol stack before capturing, your data will need to be framed. Select a protocol stack, and then go to the Control window and choose Reframe from the File menu. See Reframe Function for more information.

Names Following is a list of all the labels used in FTS to identify errors, control signals, and sides. To change the labels, click the Names button on the Set I/O Configuration window, or choose Names from the Options menu on the Control window. Changes to the labels will be used throughout the program.

To change a label, click on the name given in the current column, and then click again to modify the name (a slow double-click.) To restore the default values, click the Defaults button.

Sides

The Sides section allows you to give each side on a network more descriptive names. This is useful on network with more than one side, such as an asynchronous serial circuit.

Errors

This section allows you to change the error labels. The errors listed will be appropriate for the type of circuit/network you are monitoring.

Signals

Signals refers to the six control signals used in RS-232 data communications. Labels for the six control signals monitored by FTS are given below.

Label Control Signal RTS Request to Send CTS Clear to Send DSR Data Set Ready DTR Data Terminal Ready CD Carrier Detect RI Ring Indicator

If you are used to different abbreviations for the same signals, you can change them in this section. For example, if you normally refer to Carrier Detect as DCD, highlight CD and type in DCD.

34 Saving Configurations

SAVING A CONFIGURATION TO FILE 1. Set up your configuration on the Set I/O Configuration window. 2. If a configuration is already open and you have altered it, go to the File menu and choose Save As; otherwise, click on the Save Configuration icon . 3. In the File name box, type a name for your configuration. You do not need to add an extension. FTS will add a .cfg extension automatically. 4. By default, FTS will save the configuration in the My Configurations directory under C:\Program Files\Frontline Test System II\[Product Name]. Choose a different directory to save the configuration elsewhere. (Click here to see how to change the default location for configurations.) 5. Click on Save.

If you make a new configuration and do not save it, FTS will ask you if you want to save your configuration when you exit the program. If you want to save your configuration, choose Save and the Save File dialog box will appear. If you do not want to save your configuration, choose Cancel.

OPENING A SAVED CONFIGURATION

1. Click on the Open Configuration icon , or choose Open Configuration from the File menu. If other configurations have been used recently, a menu listing the last four configurations used will be displayed. 2. Select a recent configuration file, or choose Open to load an unlisted configuration. 3. If you have saved your configurations in the default directory, they will be in listed in the window. Choose a different directory if your configurations are saved elsewhere. 4. Select the configuration you want to use, and click on Open.

Configurations are saved with a .cfg extension, and are located in the C:\Program Files\Frontline Test System II\[Product Name]\My Configurations directory by default.

The name of the open configuration file is displayed at the top of the Set I/O Configuration window. If no configuration file is open, "Untitled" will be displayed.

35 Selecting a Protocol Stack

PROTOCOL STACK WIZARD The Protocol Stack wizard is where you define the protocol stack you want FTS to use when decoding frames. To start the wizard, choose Protocol Stack from the Options menu on the

Control window or click the Protocol Stack icon on the Frame Display.

Select a protocol stack from the list, and click Finish.

Most stacks are pre-defined here. If you have special requirements and need to set up a custom stack, choose Build Your Own from the top of the list, and click Next.

If you have selected a custom stack (i.e. one that was defined by a user and not included with FTS), the Remove Selected Item From List button will become active. Click the Remove button to remove the stack from the list. You cannot remove stacks provided with FTS. If you remove a custom stack, you will need to define it again in order to get it back.

Note that if you are changing the protocol stack for a capture file, you may need to reframe. See Reframing for more information.

Create a Custom Stack There are two steps to creating a stack: defining the protocols in the stack and choosing whether to have FTS automatically determine higher layer protocols (called auto-traversal). There is a third optional step of saving the stack so that it appears in the Protocol Stack List on the first screen of the Protocol Stack Wizard. Defining a custom stack means that FTS will use the stack for every frame. Frames that do not conform to the stack will be decoded incorrectly.

1. Select Protocols Select a protocol from the list on the left. Click the right arrow button to move it to the Protocol Decode Stack box on the right, or double-click the protocol to move it to the right. To remove a protocol from the stack, double-click it or select it and click the left arrow button.

If you need to change the order of the protocols in the stack, select the protocol you want to move, and click on the Move Up and Move Down buttons until the protocol is in the correct position. The lowest layer protocol is at the top of the list, with higher layer protocols listed underneath.

2. Auto-traversal (Have FTS Determine Higher Layers) If you need to define just a few layers of the protocol stack, and the remaining layers can be determined based on the lower layers, click the All additional stack layers can be determined automatically button. If your protocol stack is complete and there are no additional layers, click the There are no additional stack layers button. If you select this option, FTS will use the stack you defined for every frame. Frames that do use this stack will be decoded incorrectly.

3. Save the Stack To save your stack click the Add To Predefined List button, give the stack a name, and click Add. In the future, the stack will appear in the Protocol Stack List on the first screen of the Protocol Stack wizard. To remove the stack, select it in the first screen and click Remove Selected Item From List.

36 Reframe Function If you need to change the protocol stack used to interpret a capture file and the framing is different in the new stack, you will need to reframe in order for the protocol decode to be correct. You can also use the Reframe function to frame unframed data. The original capture file is not altered during this process.

1. Load your capture file. To do this, choose Open from the File menu on the Control window, and select the file to load. 2. Select the protocol stack. To do this, choose Protocol Stack from the Options menu on the Control window, select the desired stack and click Finish. 3. If you selected a protocol stack that includes a frame recognizer different from the one used to capture your data, the Protocol Stack Wizard will ask you if you want to reframe your data. Choose Yes. 4. FTS will add frame markers to your data, put the framed data into a new file, and open the new file. The original capture file will not be altered.

To manually reframe your data, load your capture file, select a protocol stack, and then select Reframe from the File menu on the Control window. Reframe will only be available if the frame recognizer used to capture the data is different from the current frame recognizer.

See Unframe Function for instructions on removing framing from data.

Unframe Function This function will remove start-of-frame and end-of-frame markers from your data. The original capture file is not altered during this process.

1. Load your capture file. To do this, choose Open from the File menu on the Control window, and select the file to load. 2. Remove the protocol stack. To do this, choose Protocol Stack from the Options menu on the Control window, select None from the list, and click Finish. 3. The Protocol Stack Wizard will ask you if you want to reframe your data and put it into a new file. Choose Yes. 4. FTS will remove the frame markers from your data, put the unframed data into a new file, and open the new file. The original capture file will not be altered.

To manually unframe your data, select Unframe from the File menu on the Control window. Unframe will only be available if a protocol stack was used to capture the data and there is currently no protocol stack selected.

See Reframe Function for instructions on framing unframed data.

Generic Channel Dependent Decodes Setup Channel dependent decodes are decodes for protocols where frames do not contain information about what type of data it contains.

A common situation in which this occurs are simple master/slave circuits, where there is one master which sends commands and a slave responds to the most recent command. In these types of protocols, there may not be any indication that the data is in the form of a command or is a response to a command. The decodes for each are usually different, but without a field in the data specifying which is being carried, FTS has no way to know whether to use the decode for a command frame or a response frame. Usually the only way to know which decode to use is to assume that master data is always coming from the DTE side and the slave data is always on the DCE side (or vice versa). This often means FTS must be connected to the circuit in such a way that master data is on TxD and slave data is on RxD.

37 These diagrams assume that the two devices are a master and a slave, but they might be a host and a controller or two PCs or any other type of device. The diagrams assume that the data from the master must be on the DTE channel and data from the slave on the DCE channel. This may differ for your particular protocol.

DTE device connected to DCE device

DTE device connected to another DTE device with a null modem cable

Predefined Stacks

ADDING A NEW PREDEFINED STACK From the Control window Options menu, choose Protocol Stack. Choose Build Your Own from the list, and click Next. Define your protocol stack, and click the Add to Predefined List button. Give the stack a name, and click Add. In the future, the stack will appear with the system provided stacks in the Protocol Stack List on the first screen of the wizard.

To remove a custom stack, open the Protocol Stack window, select the stack from the list, and click Remove Selected Item From List. If you remove the stack, you will need to recreate it if you need to use it again.

38 Capturing Data

Control Window Information in FTS is displayed in multiple windows, with each window showing a different type of information. The Control window is used to provide access to each window as well as give a brief overview of the data in the capture file. Each icon on the toolbar represents a different data analysis function.

Because the Control window can get lost behind other windows, every window has a Home icon that brings the Control window back to the front. Just click on the Home icon to restore the Control window.

The title bar of the Control window shows what hardware FTS is using. The status bars (below the toolbar) show the current settings from the Set I/O Configuration window, the state of the analyzer (Not Active, Paused, Running, etc.), how full the capture buffer or file is, current utilization and total number of events seen.

FTS continuously monitors the circuit and gathers statistics on the data on the circuit. This means that if there is data on the circuit, the utilization counters will be active, even if not capturing data.

The Control Window Toolbar Available options will be in color, while unavailable options will be grayed out. All toolbar buttons have corresponding menu items, most of which can be found in the Window menu. The exceptions are Start Capture to Buffer, Start Capture to Disk, Pause/Resume, Clear, and Close Capture File, which are found in the Live menu.

Set I/O Configuration - Use this window to tell FTS the characteristics of the circuit you are monitoring or sourcing. Characteristics include baud, word length, parity, and stop bits.

Capture to Buffer - Begins data capture to a capture buffer in memory.

Capture to Disk - Begins data capture to a file on disk.

Pause/Resume - Available after data capture has started. Click once to pause data capture. Data can be reviewed and saved, but no new data will be captured. Click this button again to resume capture.

Clear Buffer - Stops data capture to buffer and clears the capture buffer.

Close Capture File - Closes a capture file and stops data capture to disk.

Statistics - Keeps track of useful statistics such as total number of characters, average number of characters/second, and number of errors by type. FTS always gathers statistics, even when it is not actively capturing data, making this screen a useful

39 monitoring tool. Statistics are kept on the entire session (the time since FTS was started) and for each set of events in the capture buffer or file.

Breakout Box - Functions as a passive breakout box, showing control signal changes for RTS, CTS, DTR, DSR, CD and RI in real-time.

Event Display - The main data viewing window. View data live or in review mode. Search for errors or data patterns. Data can be viewed in hex and/or character display format. Other events such as signal changes are also shown.

Frame Display - Shows summary information and a detailed decode for each frame.

Signal Display - Shows the state of the control signals over time, beginning with the first event in the buffer or file. You can zoom in to view control signal states for just one event, or zoom out to view changes for the entire buffer.

Filters - Define and apply capture and display filters. Capture filters filter out data while it is being captured, putting only data that matches the filter in the capture buffer. Display filters filter out data in the capture buffer. All data is captured, but only the data matching the filter is displayed in the Frame Display window. Filtering can only be done with framed data.

Transmit - Transmit data and set control signals. Available only in source mode.

Cascade Windows - Cascade all windows (brings them home), with the first window being placed directly below the Control window.

Capturing Data to Buffer

1. Click the Capture to Buffer icon to begin capturing to buffer. This icon is located on the Control , Event Display , Frame Display and Transmit windows. 2. Watch the status bar on the Control window to find out how full the buffer is. When the buffer is full, it will begin to wrap, throwing out the oldest data to make room for the new. 3. Click the Pause icon to temporarily stop data capture. Click the Pause icon again to resume capture. 4. Click the Clear Capture Buffer icon to stop capture. 5. FTS will ask if you want to save your data first. If you do, click Save First. FTS will prompt you for a file name. If you don't want to see this prompt again, click the Don't Show This Warning Again box. FTS will not show the warning again during this session of FTS. FTS does not remember the state of the warning from session to session as a precaution. You will need to check the box again the next time FTS is started.

To change the size of the capture buffer, choose System Settings from the Options menu on the Control window. To prevent the buffer from wrapping, go to the System Settings.

40 Capturing Data to Disk

1. Click the Capture to Disk icon to begin capturing to a file on disk. This icon is located on the Control , Event Display , Frame Display and Transmit windows. 2. Choose a name for your capture file. Files are placed in My Capture Files by default and have a .cfa extension. Choose Directories from the Options menu on the Control window to change the default file location. 3. Watch the status bar on the Control window to find out how full the file is. When the file is full, it will begin to wrap, throwing out the oldest data to make room for the new. 4. Click the Pause icon to temporarily stop data capture. Click the Pause icon again to resume capture. 5. Click the Close Capture File icon to stop capture and close the file.

To change the size of the capture file, choose System Settings from the Options menu on the Control window.

Clear Capture Buffer Warning If you clear the capture buffer and haven't saved it, FTS asks you if you want to save the buffer before clearing. The three options are:

Save First - asks you for a file name, saves the buffer and then clears it. Clear Buffer - clears the buffer without saving it. Cancel - returns to FTS without clearing the buffer.

If you don't want to see the warning again, check the "Don't show this warning again when clearing buffer" box. The option is remembered only for the current FTS session. If you exit FTS, you will need to check the box again the next time you run FTS.

41 Statistics

Statistics Window

To open the Statistics window, click the Statistics icon on the Control window toolbar, or choose Statistics from the Window menu on the Control window.

The Statistics window supplies basic information about the data on the network. When reviewing a capture file, the Statistics window shows a summary of the data in the file.

FTS monitors the network and collects statistics all the time, even when data is not actively being captured. Click the Freeze icon to stop the window from updating. Click the Freeze icon again to resume updating. FTS will continue to monitor network traffic while the Statistics window is frozen, so you may see the numbers jump right after updating has resumed, reflecting all the statistics that were gathered while the window was frozen.

Session, Resetable and Buffer Tabs Information about all data collected since FTS was started is shown in the Session tab. The Session tab cannot be reset; in this sense, it is like the odometer on a car. The odometer on a car shows you all the miles driven since the car was built, and the Session tab shows you all the data collected since FTS was started.

If you think of the Session tab as the odometer, then the Resetable tab is the trip odometer. It can be reset, and allows you to record statistics for a new "trip." In this way you can effectively start a new session without having to restart FTS.

The Buffer tab shows information on the data that is currently in the capture buffer. The tab will reset when you clear the buffer. If the capture buffer becomes full, FTS will begin to throw out the oldest data and put new data in its place. This is called "wrapping." If the buffer wraps, the count for the total number of events will remain roughly the same, since the buffer will remain full until it is cleared and therefore always contains approximately the same number of events.

Occasionally some of the statistics will read n/a, for Not Available. This happens for various reasons. For example, many of the items on the Buffer tab will become n/a if the buffer should become full and wrap. When this happens, FTS can no longer provide accurate statistics for the data in the buffer, because some of the data that the statistics are based on has been lost.

Copying Statistics To The Clipboard To copy the information from an individual table to the clipboard (where it can be pasted into any application), choose the name of the table from the Edit menu. To copy the contents of all the tables, choose Copy All to Clipboard.

Changing Frame Size Ranges FTS tracks the length of each frame it receives in the Frame Sizes table on the Statistics window. You can change both the minimum and maximum values for each range and the total number of ranges.

To change the frame size ranges, click the Statistics icon on the Control window toolbar, and choose Set Frame Size Ranges from the Options menu.

42 In the Frame Size Range window, click to place the cursor in the High column and enter a new value. FTS will automatically adjust the Low values. To add a new range, place the cursor in the empty last cell in the High column and type in a new value.

If you want to know how many frames are of an exact size, make both the low and high value equal to the size. For example, if you want to know how many 64 byte frames there are on your Ethernet, make the High value 64, and the previous High value end at 63. This will have the effect of creating a row labeled 64-64, and it will count the number of frames that are exactly 64 bytes in length.

You can also type a description of each range (for example, "short" for frames that are too short or "error" for frames that are too large). Place the cursor in the Description column and type in a description. The Preview column shows what the range label on the Frame Sizes table in the Statistics window will look like.

Click OK when you are finished. FTS will remember the new ranges from session to session.

To reset to the default ranges, click Reset.

Information on the Tables

STATISTICS TABLES The information on the Statistics window is organized into Tables. Some tables are always present, while tables with framing information are present only when capturing framed data. Fields marked "n/a" are fields for which there is currently no data. This can happen for a variety of reasons. On the buffer tab, fields are n/a when there is no data in the buffer (i.e. no capturing is being done).

DATA TABLE Frames total number of frames, if applicable, with a breakdown by DTE and DCE device. Chars total number of characters, with a breakdown by DTE and DCE device. Events total number of events captured. Events include data bytes, control signal changes, flow control changes, etc. For a description of all events and their symbols, see the List of Event Symbols.

ERRORS TABLE

To graph, click the bar graph icon on the Errors table header.

Overrun number of overrun errors broken down by DTE and DCE device. See Performance Notes for more on overrun errors. Parity number of parity errors broken down by DTE and DCE device. If you have a large number of parity errors, check your Set I/O Configuration for accuracy. Framing number of framing errors broken down by DTE and DCE device. If you have a large number of framing errors, check your Set I/O Configuration for accuracy.

FRAME SIZES TABLE

To graph, click the bar graph icon on the Frame Sizes table header.

Displays the number of frames in each size range, and the average frame size at the bottom. To change the ranges used, go to the Options menu and choose Set Frame Size Ranges.

43 UTILIZATION TABLE Current current number of bits per second divided by the maximum speed of the network, expressed as a percentage. Average average number of bits per second divided by the maximum speed of the network, expressed as a percentage. Peak highest utilization.

CHARS PER SECOND TABLE Baud current baud Current current number of characters per second. Average average number of characters per second. Peak highest number of characters per second.

FRAMES PER SECOND TABLE Current current number of frames per second. Average average number of frames per second. Peak highest number of frames per second.

BUFFER INFORMATION TABLE Driver Buffer Overflow number of bytes lost due to driver buffer overflow. Buffer overflow occurs when data is coming in too fast for FTS to process it. This error does not indicate a problem on the circuit. See Performance Notes for more on buffer overflow.

Graphs

STATISTICS GRAPHS To open any graph window Click on the picture of a graph on the table header, or choose the graph name from the Graph menu on the Statistics window. To open the Statistics window, click the Statistics icon on the Control window toolbar.

The Frame Sizes Graph window has Session, Resetable and Buffer tabs that correspond to the tabs on the Statistics window. Each tab shows the data that corresponds to the appropriate tab on the Statistics window.

The Frame Sizes Graph window displays the number of frames of each length in either a pie chart or bar graph format. Click the Pie icon to display a pie chart, and click the Bar icon to display a bar graph.

For networks with more than one side, FTS will display one graph for each side. To view the aggregate of all sides, click the Aggregate icon .

VIEWING PERCENTAGES OR VALUES

• Click the Percentages icon to view data expressed as a percentage. This will make the icon appear pressed down.

44 • Click the Percentages icon again to view the actual number of items of each type. • Click the Show Data Grid icon to view both the number and percentage of the total for each item. FTS will place a grid in the legend.

PRINTING GRAPHS

Click the Print icon to print the graph. FTS will print exactly what's shown on the window.

GRAPH OPTIONS To open this window Click the Statistics icon on the Control window. On the Statistics window, click the Options icon .

The graphs window refreshes once every second. To change the refresh rate, enter a new refresh rate in milliseconds in the Window Refresh Rate box.

45 Analyzing Byte-level Data

Event Display To open this window Click the Event Display icon on the Control window toolbar.

The Event Display window provides detailed information about every captured event. Events include data bytes, data related information such as start-of-frame and end-of-frame flags, and FTS information, such as Data Capture Was Paused. Data bytes are displayed in hex on the left side of the window, with the corresponding ASCII character on the right.

Click on an event to find out more about it. The three status lines at the bottom of the window will update with information such as the time the event occurred (for data bytes, the time the byte was captured), the value of the byte in Hex, Decimal, Octal, and Binary, any errors associated with the byte, and more.

Events with errors are shown in red to make them easy to spot.

When capturing data live, FTS continually updates the Event Display as data is captured. Click the Freeze icon on the toolbar to prevent the display from updating. While frozen, you can review your data, run searches, determine delta time intervals between bytes, and check CRCs. To resume updating the display, click the Freeze icon again.

You can have more than one Event Display open at a time. Click the Duplicate View icon to create a second, independent Event Display window. You can freeze one copy of the Event Display and analyze your data, while the second Event Display updates as new data is captured.

The Event Display Toolbar

Home – brings the Control window to the front. Capture to Buffer - Begins data capture to the buffer only. Capture to Disk - Begins data capture to disk. Pause/Resume - Available after data capture has started. Click once to pause data capture. Data can be reviewed and saved, but no new data will be captured. Click again to Resume capture. Clear Buffer - This will clear the capture buffer and stop data capture to buffer. Close Capture File - This will close a capture file and stop data capture to disk. Freeze Display - Freezes the window so you can review a portion of data. Data capture will continue in the background. Click on the button again to unfreeze the window. When you do this, the screen will quickly fill in the data captured since the screen freeze and jump you down to view incoming data again.

Duplicate View - create a second Frame Display window identical to the first.

46 Frame Display - brings up a Frame Display, with the frame of the currently selected bytes highlighted.

Show Only Data - brings up a Frame Display showing just the data in the frame (also called the payload)

Save - save the currently selected bytes or the entire buffer Find - search for errors, string patterns, Go To - opens the Go To dialog, where you can specify which event number to go to CRC - change the algorithm and seed value used to calculate CRCs. To calculate a CRC, select a byte range, and the CRC will appear in the status lines at the bottom of the Event Display.

Mixed Sides - By default, FTS shows data with the DTE side above the DCE side. This is called DTE over DCE format. DTE data has a white background and DCE data has a gray background. FTS can also display data in mixed side format. In this format, FTS does not separate DTE data from DCE data but shows all data on the same line as it comes in. DTE data is still shown with a white background and DCE data with a gray background so that you can distinguish between the two. The benefit of using this format is that more data will fit onto one screen. Character Only - FTS shows both the number (hex, binary, etc.) data and the character (ASCII, EBCDIC or BAUDOT) data on the same screen. If you do not wish to see the hex characters, click on the Character Only button. Click again to go back to both number and character mode. Number Only - Controls whether FTS displays data in both character and number format, or just number format. Click once to show only numeric values, and again to show both character and numeric values. All Events - Controls whether FTS shows all events in the window, or only data bytes. Events include control signal changes and framing information. Font Size - Brings up the Font Dialog box, allowing you to change the font size. Timestamping Options – Brings up the timestamping options window which has options for customizing the display and capture of timestamps.

Switching Between Live Update and Review Mode The Event Display and Frame Display windows can either update to display new data as it is captured, or be frozen to allow data to be analyzed. By default, the Event Display continually updates with new data, and the Frame Display is frozen.

Click the Freeze icon to freeze the display and prevent it from scrolling. Click the Freeze icon again to resume live update.

FTS will continue to capture data in the background while the display is frozen. When live update is resumed, the display will update with the latest data.

You can have more than one Event Display or Frame Display window open at a time. The Freeze/Resume function is independent on each window. This means that you can have two Event Display windows open simultaneously, and one window can be frozen while the other

47 continues to update. Click the Duplicate View icon to open additional Event or Frame Display windows.

Opening Multiple Event Display Windows

Click the Duplicate View icon from the Event Display toolbar to open a second Event Display window. You can open as many Event Display windows as you like. Each Event Display is independent of the others and can show different data, use a different radix or character set, or be frozen or live.

The Event Display windows are numbered in the title bar. If you have multiple Event Displays open, click on the Event Display icon on the Control window toolbar to show a list of all the Event Displays currently open. Select a window from the list to bring it to the front.

Synchronization Between the Event and Frame Displays

Calculating Delta Times and Data Rates

1. Click on the Event Display icon on the Control window to open the Event Display window. 2. Use the mouse to select the data you want to calculate a delta time and rate for. 3. The Event Display window will show the delta time and the data rate in the status lines at the bottom of the window.

Calculating CRCs

1. Open the Event Display window. 2. Click and drag to select the data you want to generate a CRC for. 3. Click on the CRC icon . 4. In the CRC dialog box, click on the down arrow to show the list of choices for CRC algorithms. Choose an algorithm to use. 5. Enter a seed value in hexadecimal if desired. 6. Click OK to generate the CRC. It will appear in the byte information lines at the bottom of the Event Display window. Whenever you select a range of data, a CRC using the algorithm you selected will be calculated automatically.

FTS will calculate the CRC for either the DTE or DCE side. Which side it calculates is determined by the first byte selected. If the first byte is from the DTE side, then FTS will calculate the CRC for just the DTE bytes in the selected group. If the first byte is from the DCE side, FTS will calculate the CRC for just the DCE bytes.

If you are calculating CRCs using the CRC16 algorithm and the CRCs do not match what you know they should be, try CRC16rev. What hardware often calls CRC16 is what software calls CRC16rev.

List of All Event Symbols By default, the Event Display shows all events, which includes control signal changes, start and end of frame characters and flow control changes. If you want to see only the data bytes, click on the All Events button . Click again to display all events.

48 Click on a symbol, and FTS will display the symbol name and sometimes additional information in the status lines at the bottom of the Event Display window. For example, clicking on a control signal change symbol will show you which signal(s) changed.

In addition to data bytes, the events shown are (in alphabetical order):

Abort

Broken Frame - The frame did not end when FTS expected it to. This occurs most often with protocols where the framing is indicated by a specific character, control signal change, or other data related event.

Buffer Overflow - Indicates a buffer overflow error.

Control Signal Change - One or more control signals changed state. Click on the symbol, and FTS will show you which signal(s) changed at the bottom of the Event Display window.

Data Capture Paused - The Pause icon was clicked, pausing data capture. No data is recorded while capture is paused.

Data Capture Resumed - The Pause icon was clicked again, resuming data capture.

Dropped Frames - Some number of frames were lost. Click on the symbol, and FTS will show how many frames were lost at the bottom of the Event Display window.

End of Frame - Marks the end of a frame.

Flow Control Active - An event occurred which caused flow control to become active (i.e. cause FTS to stop transmitting data). Events which activate flow control are signal changes or the receipt of an XON character.

Flow Control Inactive - An event occurred which caused flow control to become inactive (i.e. cause FTS to transmit data). Events which deactivate flow control are signal changes or the receipt of an XOFF character.

Frame Recognizer Change - A lowest layer protocol was selected or removed here, causing the frame recognizer to be turned off or on.

I/O Configuration Change - A change was made in the Set I/O Configuration window which altered the baud, parity, or other circuit setting.

Long Break

Low Power - The battery in the ComProbe is low.

Short Break

Spy Event (Spy Mode only) - Spy events are commands sent by the application being spied on to the UART.

Start of Frame - Marks the start of a frame.

49 Begin Sync Character Strip

End Sync Character Strip

Sync Dropped

Sync Found

Sync Hunt Entered

Sync Lost

Test Device Stopped Responding - FTS lost contact with the ComProbe for some reason, often because there is no power to the ComProbe.

Test Device Began Responding - FTS regained contact with the ComProbe.

Timestamping Disabled - Timestamping was turned off here. Events following this event will not be timestamped.

Timestamping Enabled - Timestamping was turned on here. Events following this event will have timestamps.

Underrun Error

Unknown Event

Data Formats and Symbols

SWITCHING BETWEEN ASCII, EBCDIC AND BAUDOT FTS displays data in ASCII by default. There are several ways to change the character set used to display data.

1. Go to the View menu and select the character set you want. A check mark next to the character set indicates which set is currently being used. 2. Right-click on the "ASCII" header label and choose a different character set.

If you want to see only characters, click on the Characters Only icon on the Event Display toolbar.

SWITCHING BETWEEN HEX, DECIMAL, OCTAL OR BINARY FTS displays data in Hex by default. There are several ways to change the radix used to display data.

1. Go to the View menu and select the radix you want. A check mark next to the radix indicates which set is currently being used. 2. Right-click on the "Hex" header label and choose a different radix.

If you want to see only the numerical values, click on the Numbers Only icon on the Event Display toolbar.

50 SWITCHING BETWEEN VIEWING ALL EVENTS AND VIEWING DATA EVENTS By default, FTS shows all events, which includes data bytes, start-of-frame and end-of-frame characters and FTS events such as Data Captured Was Paused.

Click on the Display All Events icon to remove the non-data events. Click again to display all events.

VIEWING ONLY ASCII (OR EBCDIC OR BAUDOT)

Click on the Characters Only icon on the Event Display toolbar. To add the numerical values back to the display, click the Characters Only icon again.

VIEWING ONLY HEX (OR DECIMAL OR OCTAL OR BINARY)

Click on the Numbers Only icon on the Event Display toolbar. To add the characters back to the display, click the Number Only icon again.

MIXED SIDES If you want to get more data on the screen, you can switch to mixed sides mode. This mode puts all the data together on the same line. DTE data is shown on a white background and DCE data is shown on a gray background.

Click once on the Mixed Sides button to put the display in mixed sides mode. Click again to return to DTE over DCE mode.

You can also right click on the DTE/DCE labels in the center of the data display window to change between mixed and DTE over DCE modes. Choose Display Sides Together to go to Mixed Sides Mode, and Display Sides Separately to go to DTE over DCE mode.

FONT SIZE

1. Click on the Font Size icon . 2. Choose a font size from the list. 3. Click OK. The font size can be changed on several windows. Changing the font size on one window does not affect the font size on any other window.

51 Analyzing Protocols and Frame-level Data

Frame Display Window To open this window Click the Frame Display icon on the Control window toolbar, or select Frame Display from the Window menu.

Frame Display Panes The Frame Display window is used to view all frame related information. It is composed of a number of different sections or "panes", where each pane shows a different type of information about a frame. The image below gives the name of each pane.

Summary - a one line summary of each frame. Can display a summary for every protocol found in the data, and can be sorted by field for every protocol. Click here for an explanation of arrow and X symbols next to the frame numbers. Decode - detailed decode of the highlighted frame. Fields selected in the Decode pane have the appropriate bit(s) or byte(s) selected in the Radix, Binary, Character and Event panes. Radix - logical data bytes in the frame displayed in either hexadecimal, decimal or octal. Binary - binary representation of the logical data bytes. Character - character representation of the logical data bytes in either ASCII, EBCDIC or Baudot. Event - physical data bytes in the frame, as received on the network.

By default, all panes but the Event pane are shown when the Frame Display is first opened.

Comparing Frames If you need to compare frames, you can open additional Frame Display windows by clicking on the Duplicate View icon . You can have as many Frame Display windows open at a time as you wish.

52 The Frame Display Toolbar

Show Control Window - brings the Control window to the front

Find - search for frame errors or string patterns in the decode First Frame - moves to the first frame in the buffer Previous Frame - moves to the previous frame in the buffer Next Frame - move to the next frame in the buffer Last Frame - moves to the last frame in the buffer Note that if the frames are sorted in other than ascending frame number order, the order of the frames in the buffer will be the sorted order. Therefore the last frame in the buffer may not have the last frame number.

Set Timestamp Format - change the format of the timestamps Select Colors - set the colors used to indicate different protocol layers

The following 5 icons all change how the panes are arranged on the Frame Display.

Reset Pane Positions - returns the panes to their default settings Show All Panes - display all six panes Show Minimal Panes - displays the Summary, Decode, Radix and Character panes Show Summary Only - displays only the Summary pane

Expand Decode Pane - makes the Decode pane taller and the Summary pane narrower

Duplicate View - create a second Frame Display window identical to the first Define Filter - define a filter Undo Filter - remove the currently active filter. The active filter is displayed on the far right of the Frame Display toolbar. Focus Event View - brings up the Event Display window, with the bytes of the currently selected frame highlighted.

Filter Text giving the filter currently in use. If no filter is being used, the text reads "All Frames" which means that nothing is filtered out. To see the text of the entire filter, place the cursor over the text and a tooltip will pop up with the full text of the filter.

Sorting Frames By default, frames are sorted in ascending numerical sequence by frame number. Click on a column header in the Summary pane to sort the frames by that column. For example, to sort the frames by size, click on the Frame Size column header.

An embossed triangle next to the header name indicates which column the frames are sorted by. The direction of the triangle indicates whether the frames are in ascending or descending order, with up being ascending.

53 Note that it may take some time to sort large numbers of frames.

Working With Panes By default, all panes but the Event pane are displayed when the window is first opened.

• To view all the panes, click the Show All Panes icon on the toolbar, or go to the View menu and choose Show [Pane Name]. • The Expand Decode Pane icon will make the decode pane longer in order to better view lengthy decodes. • The Reset Panes icon will return the window to its default setting. • To close a pane, right-click on the pane and unselect the Show [Pane Name] option, or unselect the pane from the View menu. • To open a pane, select Show [Pane Name] from the View menu. • To resize a pane, place the cursor over the pane border until a double-arrow cursor appears. Click and drag on the pane border to resize the pane.

Working With Multiple Frame Displays

To create a second Frame Display, click the Duplicate View icon on the Frame Display toolbar. This will create another Frame Display window. You can have as many Frame Displays open as you wish. Each Frame Display is given a number in the title bar to distinguish it from the others.

Multiple Frame Displays are useful for comparing two frames side by side. They are also useful for comparing all frames against a filtered subset, or two filtered subsets against each other.

To navigate between multiple Frame Displays, click on the Frame Display icon in the Control window toolbar. A drop-down list will appear, listing all the currently open Frame Displays. Select the one you want from the list and it will come to the front.

Filters and Multiple Frame Displays When you apply a filter, you can choose to have the filter applied to the current Frame Display or to a new one. The filter being used on any Frame Display is given in the upper right of the toolbar in a tooltip.

If you click the Filter button on the Control window, the assumption is that you are applying the filter to the original, unfiltered Frame Display.

If you click the Filter button on a Frame Display, the filter will be applied to the data in the Frame Display. If the data in the Frame Display is already filtered, the effect is the same as applying two filters to the data.

For example, open the Frame Display to look at some captured data. This data is unfiltered. From the Frame Display, you click the Filter icon and create a filter which keeps only frames where the source IP address is 123.456.0.1 in them. You choose to apply the filter to a new Frame Display. Frame Display #2 is created and only frames with that source IP address are listed in the Summary pane. Now you want to see only those frames from that address carrying HTTP. Click on the Filter icon in Frame Display #2, create an HTTP filter and apply it to a new Frame Display. Frame Display #3 opens and shows only frames where the source IP address is 123.456.0.1 and which carry HTTP. If you wish, you can now go back to Frame Display #2 (which shows all frames where the source IP address is 123.456.0.1), click on the Filter icon and

54 create a filter which keeps all FTP frames. Apply it to a new Frame Display. Frame Display #4 opens, which shows all frames where the source IP address is 123.456.0.1 and which carry FTP.

Red Frame Numbers or Bytes Red is reserved for bytes or frames with errors. In the Summary pane, frame numbers in red mean there is an error in the frame. This could be a physical error in a data byte or an error in the protocol decode. Bytes in red in the Radix, Character, Binary and Event panes mean there is a physical error associated with the byte.

Synchronization Between the Event and Frame Displays The Frame Display is synchronized with the Event Display. Click on a frame in the Frame Display and the corresponding bytes will be highlighted in the Event Display. Each Frame Display has its own Event Display.

As an example, here's what happens if the following sequence of events occurs.

1. Click on Frame Display icon in Control window toolbar to open the Frame Display. 2. Click on Duplicate View icon to create Frame Display #2. 3. Click on Event Display icon in Frame Display #2. Event Display #2 opens. This Event Display is labeled #2, even though there is no original Event Display, to indicate that it is synched with Frame Display #2. 4. Click on a frame in Frame Display #2. The corresponding bytes are highlighted in Event Display #2. 5. Click on a frame in the original Frame Display. Event Display #2 does not change.

Physical vs. Logical Byte Display The Event Display window and Event Pane in the Frame Display window show the physical bytes. In other words, they show the actual data as it appeared on the circuit. The Radix, Binary and Character panes in the Frame Display window show the logical data, or the resulting byte values after escape codes or other character altering codes have been applied (a process called frame transformation).

As an example, bytes with a value of less than 0x20 (the 0x indicates a hexadecimal value) cannot be transmitted in Async PPP. To get around this, a 0x7d is transmitted before the byte. The 0x7d says to take the next byte and subtract 0x20 to obtain the true value. In this situation, the Event pane will show 0x7d 0x23, while the Radix pane will show 0x03.

The Panes in the Frame Display

DECODE PANE The Decode pane is a post-process display that provides a detailed decode of each frame. The decode is presented in a layered format that can be expanded and collapsed depending on which layer(s) you are most interested in. Click on the plus sign to expand a layer. The plus sign will change to a minus sign. Click on the minus sign to collapse a layer. Select Expand Tree or Collapse Tree from the Decode menu to expand or collapse all the layers. Layers will retain their expanded or collapsed state between frames.

Each protocol layer is represented by a color, which is used to highlight the bytes that belong to that protocol layer in the Event, Radix, Binary and Character Panes. The colors are not assigned to a protocol, but are assigned to the layer.

55 The Event, Radix, Binary, Character and Decode panes are all synchronized with one another. Clicking on an element in any one of the panes will highlight the corresponding element in all the other panes.

Click the Expand Decode Pane icon to make the Decode pane taller. This allows for more of a lengthy decode to be viewed without needing to scroll.

RADIX, OR HEXADECIMAL, PANE The Radix pane displays the logical bytes in the frame in either hexadecimal, decimal or octal. The radix can be changed from the Radix menu, or by right-clicking on the pane and choosing Hexadecimal, Decimal or Octal.

Because the Radix pane displays the logical bytes rather than the physical bytes, the data in the Radix pane may be different from that in the Event pane. See Physical vs. Logical Byte Display for more information.

Colors are used to show which protocol layer each byte belongs to. The colors correspond to the layers listed in the Decode pane.

The Event, Radix, Binary, Character and Decode panes are all synchronized with one another. Clicking on an element in any one of the panes will highlight the corresponding element in all the other panes.

CHARACTER PANE The Character pane represents the logical bytes in the frame in ASCII, EBCDIC or Baudot. The character set can be changed from the Character menu, or by right-clicking on the pane and choosing the appropriate character set.

Because the Character pane displays the logical bytes rather than the physical bytes, the data in the Character pane may be different from that in the Event pane. See Physical vs. Logical Byte Display for more information.

Colors are used to show which protocol layer each byte belongs to. The colors correspond to the layers listed in the Decode pane.

The Event, Radix, Binary, Character and Decode panes are all synchronized with one another. Clicking on an element in any one of the panes will highlight the corresponding element in all the other panes.

BINARY PANE The Binary pane displays the logical bytes in the frame in binary. This pane is synchronized with the Decode pane so that individual bit fields can be highlighted.

Because the Binary pane displays the logical bytes rather than the physical bytes, the data in the Binary pane may be different from that in the Event pane. See Physical vs. Logical Byte Display for more information.

Colors are used to show which protocol layer each byte belongs to. The colors correspond to the layers listed in the Decode pane.

The Event, Radix, Binary, Character and Decode panes are all synchronized with one another. Clicking on an element in any one of the panes will highlight the corresponding element in all the other panes.

56 EVENT PANE The Event pane shows the physical bytes in the frame. You can choose between displaying only the data events or displaying all events by clicking the All Events icon . Displaying all events means that special events, such as Start of Frame/End of Frame and any signal change events, will be displayed as special symbols within the data.

The status lines at the bottom of the pane give the same information as the status lines in the Event Display window. This includes physical data errors, control signal changes (if appropriate), and timestamps.

Because the Event pane displays the physical bytes rather than the logical bytes, the data in the Event pane may be different from that in the Radix, Binary and Character panes. See Physical vs. Logical Byte Display for more information.

Colors are used to show which protocol layer each byte belongs to. The colors correspond to the layers listed in the Decode pane.

The Event, Radix, Binary, Character and Decode panes are all synchronized with one another. Clicking on an element in any one of the panes will highlight the corresponding element in all the other panes.

SUMMARY PANE

Summary Pane The Summary pane displays a one-line summary of every frame in a capture buffer or file, including frame number, timestamp, length and basic protocol information. The protocol information included for each frame depends on the protocol selected in the summary layer box (located directly below the main toolbar). Frames which do not carry the selected protocol are marked by a blue X on the far left next to the frame number.

On a two-channel circuit, the background color of the one-line summary indicates whether the frame came from the DTE or the DCE device. Frames with a white background come from the DTE device, frames with a gray background come from the DCE device.

Frame numbers in red indicate errors, either physical (byte-level) or frame errors. If the error is a frame error in the displayed protocol layer, the bytes where the error occurred will also be displayed in red. The Decode pane will give precise information as to the type of error and where it occurred.

The Summary pane is synchronized with the other panes in this window. Click on a frame in the Summary pane, and the bytes for that frame will be highlighted in the Event pane while the Decode pane will display the full decode for that frame. Any other panes which are being viewed will update accordingly. If you use one pane to select a subset of the frame, then only that subset of the frame will be highlighted in the other panes.

Use the navigation icons, keyboard or mouse to move through the frames. The icons and will move you to the first and last frames in the buffer, respectively. Use the Go To icon to move to a specific frame number.

57 The Summary Layer Toolbar

Protocol Stack - brings up the Protocol Stack Wizard where you can change the stack used to decode framed data

Save - save the currently selected frames or the entire buffer Go To - opens the Go To dialog, where you can specify which frame number to go to

Show Only Data - changes the summary layer being displayed to Data, which displays just the data in the frame (also called the payload)

Summary Layer drop-down box Lists all the protocols found in the data in the file. This box does not list all the protocol decoders available to FTS, merely the protocols found in the data. Selecing a protocol from the list changes the Summary pane to display summary information for that protocol.

Text with Protocol Stack To the right of the Summary Layer box is some text giving the protocol stack currently in use.

Frame Symbols in the Summary Pane One green dot means the frame was decoded successfully, and the protocol listed in the Summary Layer drop-down box exists in the frame.

No dot means the frame was decoded successfully, but the protocol listed in the Summary Layer drop-down box does not exist in the frame.

A green circle means the frame was not fully decoded. There are several reasons why this might happen.

One reason is that the frame compiler hasn't caught up to that frame yet. It takes some time for FTS to compile and decode frames. Frame compilation also has a lower priority than other tasks, such as capturing data. If FTS is busy capturing data, frame compilation may fall behind. When FTS catches up, the green circle will change to either a green dot or no dot.

Another reason is if some data in the frame is context dependent and we don't have the context. An example is a compressed header where the first frame gives the complete header, and subsequent frames just give information on what has changed. If FTS does not capture the first frame with the complete header, it cannot decode subsequent frames with partial header information.

Customizing Fields in the Summary Pane Changing Column Widths To change the width of a column, place the cursor over the right column divider until the cursor changes to a solid double arrow. Then click and drag the divider to the desired width.

To auto-size the columns, double-click on the column dividers.

Hiding Columns

58 To hide a column, drag the right divider of the column all the way to the left. The cursor will change to a split double arrow when a hidden column is present. To show the hidden column, place the cursor over the divider until it changes to a split double arrow, then click and drag the cursor to the right.

The Frame Size and Timestamp columns can be removed entirely by right-clicking on the header and selecting Show Frame Size or Show Timestamp Column. Follow the same procedure to display the columns again.

Moving Columns - Changing Column Order To move a column, click on the column header and drag the mouse over the header row. A small white triangle indicates where the column will be moved to. When the triangle is in the desired location, release the mouse.

Restoring Default Column Settings To restore columns to their default locations and show any hidden columns, right-click on any column header and choose Restore Default Columns, or select Restore Default Columns from the Summary menu.

Protocol Layer Colors

WHAT THE COLOR OF DATA BYTES MEANS The color of the data in the panes specifies which layer of the protocol stack the data is from. All data from the first layer is bright blue, the data from the second layer is green, the third layer is pink, etc. The protocol name for each layer in the Decode pane is in the same color. Note that the colors refer to the layer, not to a specific protocol. In some situations, a protocol may be in two different colors in two different frames, depending on where it is in the stack. You can change the default colors for each layer.

Red is reserved for bytes or frames with errors. In the Summary pane, frame numbers in red mean there is an error in the frame. This could be a physical error in a data byte or an error in the protocol decode. Bytes in red in the Radix, Character, Binary and Event panes mean there is a physical error associated with the byte.

CHANGING PROTOCOL LAYER COLORS

Click the Colors icon to change the colors used to differentiate different protocol layers in the Decode, Event, Radix, Binary and Character panes.

To change a color, click on the arrow next to each layer and select a new color.

59 Analyzing Control Signal Changes

Viewing Signal Changes in Real-time

BREAKOUT BOX WINDOW The Breakout Box window provides a real-time graphical view of control signals. The window is customizable based on the control signals you wish to view and your preference of indicators (+/-, 1/0, T/F, arrows, and simulated LEDs). Also included are counters showing the number of times a control signal has changed.

To open this window Click the Breakout Box icon on the Control window.

FTS monitors six RS-232 control signals. These are:

DTE Signals DTR - Data Terminal Ready RTS - Request to Send

DCE Signals CTS - Clear to Send DSR - Data Set Ready CD - Carrier Detect RI - Ring Indicator (see the special note on capturing Ring Indicator changes)

THE BREAKOUT BOX TOOLBAR

Home - brings the Control window to the front. Reset - resets the Breakout Box window. Freeze - freezes the display. Click once to freeze the display, and click again to resume. Options - Brings up the Breakout Box Options window. This window allows you to change the window refresh rate and choose which control signals to display.

READING THE BREAKOUT BOX WINDOW The Breakout Box display is divided into three main parts. The first part (to the far left of the screen) shows the abbreviated name of the control signal being monitored. These names can be changed in the Set I/O Configuration window by clicking the Names button.

The second part shows the control signal counters. The counters show how many times each control signal has changed state. This is useful in situations when signals may be changing state too rapidly to be displayed graphically.

The third part of the Breakout Box shows the current states of the control signals. The indicators show the state that the control signal is currently in, and the line graph displays the state of the signal over time. A single line means that the signal is logically off, while a double line means that the signal is logically on. A half-height "tick" means that a signal has gone through one full transition (from off to on to off, or vice versa) since FTS last updated the screen.

60 To change the indicators or the rate at which FTS updates the window, click the Options icon .

BREAKOUT BOX OPTIONS To open this window Click the Options icon on the Breakout Box toolbar.

Display Signal This box shows which control signals FTS monitors. A check mark next to a control signal name indicates that the breakout box will display the status of that control signal. To prevent FTS from displaying the status of a signal, uncheck the box next to it.

Window Refresh Rate The refresh rate is the rate at which FTS updates the window. By default, FTS refreshes the display once every 1,000 milliseconds (one second.) To change the rate, highlight the number in the box and enter a new number. See Performance Notes for information on how Window Refresh Rate can affect performance.

Indicators You can choose what type of indicators FTS will use. The default indicators are a green "+" sign to show a logically high state, and a red "-" sign to show a logically low state. To change the indicators, click on the down arrow and choose a pair of indicators from the list. As a reminder, FTS gives the definition of the indicators in the top part of the Breakout Box window.

Viewing Historical Signal Changes

SIGNAL DISPLAY WINDOW The Signal Display window provides a graphical view of control signal transitions that you can manipulate. You can zoom in to view the state of control signals for a range of events, or zoom out to view control signal changes over the course of an entire capture session.

To open this window Click the Signal Display icon on the Control window toolbar, or choose Signal Display from the Window menu.

The Signal Display window does not provide a real-time view of control signal changes. It is intended to be used as a post-process review screen. Use the Breakout Box window to view real-time control signal changes. Note that if you bring up the Signal Display window while data is being captured, the window will show you the state of the control signals at the time the window was opened. This is called a "snapshot" because it is a picture of the buffer at the time the Signal Display was opened. To update the display to reflect the current state of the buffer, use the New Snapshot icon .

The Signal Display window will display only the control signals you are interested in. Click the Options icon to choose which control signals to display.

READING THE SIGNAL DISPLAY Control signal changes are displayed in a graphical format. On the left side of the screen is a list of the signals currently being displayed, and to the right of each name is a line displaying the state of the signal over time. A single line means that the signal was logically off, while a double

61 line means that the signal was logically on. Dotted lines are used for signals that were not present at the time of capture. For example, if you are monitoring a circuit that does not use CD, that line will appear as a dotted line in the control signal display.

The four information lines at the bottom of the window tell you what events are being shown in the window, and where you are in relation to the buffer as a whole. The first line tells you what event numbers are in the current snapshot, the total number of events, and the amount of time that passed between the first event in the snapshot and the last event (called Delta).

The second line gives the same information about the events that are currently visible in the window. Because you can zoom in and out, often the events being shown in the window are not the same as the number of events in the current snapshot.

The third line gives the same information for the currently selected events. You can highlight a range of events by clicking at any point on the graphical display and dragging the mouse to the left or the right. The third line will show information for the selected range.

The fourth and last line shows the exact timestamps of the first and last bytes in the currently selected range. Note that this does not tell you the timestamp for the entire snapshot or the events displayed in the window, just the highlighted events.

A single mouse click will place the cursor in the window. FTS highlights all six signal changes in one color, and uses a different color to specify the control signal line clicked on. You can highlight a range by clicking and dragging the mouse to the right or left. You can also use the arrow keys to move the cursor to the right or left.

The Signal Display window is synchronized with other windows in FTS. A range highlighted in the Signal Display window will also be highlighted in the Event Display and Frame Display windows.

The Snap to Nearest Change icon lets you place the cursor on the signal change you want to look at without needing to click on exactly the right spot. Find the line corresponding to the control signal you want to look at. Click on the line, and FTS will move the cursor to the nearest change. If you highlight a range, FTS will "snap to" the nearest changes on either side. This feature is active when the Snap To button is pressed, and inactive when the button is not pressed.

Use the Zoom In and Zoom Out buttons to increase and decrease the magnification of the window. FTS will change the magnification by a factor of 2, 4 or 8, depending on the option selected in the Signals menu.

If you want to see a range in greater detail, highlight the range you want to view and click on the Zoom to Selection icon . FTS will zoom in to show only that range in the window. If the range is small, FTS may add additional events to fill up the window. To view the entire snapshot in the window, click on the Display Entire Buffer icon .

Note that if you bring up the Signal Display window while data is being captured, the window will show you the state of the control signals at the time the window was opened. To update the display, use the New Snapshot icon .

62 SIGNAL DISPLAY OPTIONS Choose which control signals to display in the Signal Display window. A check mark next to a control signal name means that the signal will be displayed. Click on a box to check or uncheck it.

To open this window Click the Signal Display icon on the Control window toolbar, and then click the Options icon .

THE SIGNAL DISPLAY TOOLBAR

Show Control Window - Bring control window to the front.

Take New Snapshot - Takes a new "picture" of the capture buffer. If you are capturing data when you open the Signal Display window, the window will show only the state of the control signals that were in the buffer when the window was opened. Click this button to update the window with the contents of the current buffer.

Zoom In - "Zooms in" on the signal display. How much you zoom in is determined by your selection in the Signals menu. You can zoom in by a factor of 2, 4, or 8.

Zoom Out - Reverse of Zoom In.

Zoom to Selection - Zooms to show only the region highlighted on the screen. If the highlighted area contains few events, the Signal Display window may also display additional events in order to fill up the screen.

Display Entire Buffer - Zooms all the way out to display the contents of the entire buffer in the window.

Find - Opens the Find Control Signal change window.

Options - Open the Signal Display options window, where you can change which control signals are displayed in the window.

Snap to Nearest Change - Moves the cursor to the nearest signal change whenever you click on the line graphics in the window. Find the line for the control signal whose changes you want to see. Click on that line, and FTS will move to the nearest signal change for that control signal. You can also highlight a range, and FTS will snap to the 2 nearest changes on either side of the range.

Timestamping Options - Opens the Timestamping Options window, where you can change the timestamping resolution and how timestamps are displayed.

63 Transmitting Data

Transmit Window To open this window: Click the Transmit icon on the Control window. If the Transmit icon is not active, open the Set I/O Configuration window and set the Operating Mode to Source.

The Transmit window is used to tell FTS what string or file you want to transmit, and start and stop data transmission.

Transmit String To access this feature: Click the Transmit icon on the Control window. If the Transmit icon is grayed out, you will need to go to the Set I/O Configuration window and choose Source for your operating mode. On the Transmit wndow, click the String tab.

1. Type the string you want to send in the large text box. FTS will interpret your string on the basis of whatever character set is currently active. Click on the History button to the right of the string window to choose a previously used string. 2. Click the Transmit Once radio button to indicate that the string should be sent once. Choose Transmit Continuously to send the string continuously. Click Times to Transmit and enter a number in the box to specify how many times to send the string. 3. Click on either the Capture to Buffer icon or Capture to Disk icon . 4. Click on the Send icon to transmit your string. The Send icon will gray out while the string is being transmitted, and become active once transmitting is finished. If you chose to transmit once or multiple times, FTS will send your string and then stop transmitting. If you chose to transmit continuously, FTS will send the string until you click on the Pause icon or the Stop icon . Pause and Stop pause and stop transmission only; they have no effect on data capture.

Transmit String Formats Note that any of the formats below can be combined. It is legal to transmit the ASCII string ABC$65$30, for example.

Entering Normal Text Characters FTS will send your string in whatever character set you are currently using. To change the character set, go to the Data menu in the Control Window, and choose a character set.

Examples: To send the string "qwerty", you would type qwerty. To send the string "hello, world", you would type hello, world.

Entering Characters in Hex

64 To transmit in hex, type a $ in front of your two digit byte. The $ symbol tells FTS that you are sending in hex. If you want to send more than one hex byte, you will have to type the $ symbol in front of each byte.

You must have a two digit hex number after the $ for FTS to interpret the bytes as hex properly. Otherwise, FTS will interpret the characters as if they belonged to a character set. For example, if you want to send an ASCII NUL, which is hex 00, and you type $0, FTS will send hex 24 followed by hex 30. The $ symbol is hex 24 in ASCII, and zero is hex 30. To send a hex 00, you must type $00.

Example: To send hex 31 00 97, you would type $31$00$97.

Entering Control Characters

The ^ symbol is used to specify that what follows is a control character. You can transmit the control characters Ctrl-A through Ctrl-Z, and Ctrl-@, Ctrl-[, Ctrl-\, Ctrl-], and Ctrl--. For example, ^A will send Ctrl-A ($01) and ^@ will send ASCII NUL ($00).

The Escape Character

The \ is the escape character. It is used when transmitting special characters, in order to specify that the next character should be taken literally. These special characters are: $^&*()\. For example, to put an * in a string, enter \*. To transmit a \, enter \\.

Specifying a Range of Characters

You can also send a range of characters by placing two periods between your first and last characters. For example, A..I will generate the string ABCDEFGHI. It is important to note that A..I in ASCII is very different from A..I in EBCDIC. In ASCII, A..I is equivalent to $41..$49, while in EBCDIC A..I is equivalent to $C1..$C9. It is also legal to specify a descending range. For example, I..A will generate IHGFEDCBA.

Subexpressions

Subexpressions are enclosed in (). The parentheses are not part of the subexpression and will not be transmitted. For example, (ABC) yields ABC. Subexpressions are useful because you can specify a repeat count for them using the *. For example (ABC)*3 will yield ABCABCABC.

Entering Baudot Characters

Since Baudot is only 5 bits it includes two shift characters. Shift In ($1F) means interpret all following characters as letters; Shift Out ($1B) means interpret all following characters as figures (punctuation, numbers, control codes, etc.) When the analyzer is activated it assumes the letters mode. The shift characters are captured in the buffer just as other bytes. In source mode FTS automatically supplies the shift characters to the string you enter. For example, if you are in letter mode and enter the string 12AB, FTS will send $1B (Shift Out), $17 (1), $13 (2), $1F (Shift In), $03 (A), $19 (B).

NOTE: When you use hex notation to input a Baudot string, FTS will not insert shift characters.

More Examples

Enter To Generate \\\$\^\(\)\* \$^()* \$.ABC. $.ABC.

65 (ABC)*3\9 ABCABCABC9 ($6b..$68)*2 kjihkjih (A(BC)*2)*3 ABCBCABCBCABCBC Aa..iZ AabcdefghiZ

Transmit File To access this feature: Click the Transmit icon on the Control window. If the Transmit icon is grayed out, you will need to go to the Set I/O Configuration window and choose Source for your operating mode. On the Transmit wndow, click the File tab.

FTS will transmit files as is. For example, if you transmit a text file, FTS will send the text characters, but will also send any formatting instructions such as carriage returns, tab characters, etc., as their hex equivalents.

FTS capture files must first be exported to binary format before being transmitted. FTS capture files are in a special format, and if you transmit a FTS capture file in its native format, what you will see will bear no resemblance to the data you want to transmit. See Transmitting FTS Capture Files for more information.

1. Type in the name of the file you want to send in the File to Transmit box, or click the Browse button to locate your file. 2. Click on the appropriate radio button to choose how many times you want to transmit your file. You can transmit once, transmit multiple times, or send the file continuously. If you choose to transmit multiple times, type in the number of times you want to send the file in the box to the right of the Times to Transmit line. 3. Click on either the Capture to Buffer icon or Capture to Disk icon . 4. Click on the Send button to transmit your file. The Send icon will gray out while the file is being transmitted, and become active once transmitting is finished. If you chose to transmit once or multiple times, FTS will send your file and then stop transmitting. If you chose to transmit continuously, FTS will send the file until you click on the Pause icon or the Stop icon . Pause and Stop affect transmission only; they have no effect on data capture.

If you want to transmit the data in a FTS capture file, you will need to convert the file to a generic format using the Export function. If you transmit a FTS capture file without converting it first, FTS will send the data, but it will also send all the other information stored in the capture file, such as timestamping information. See Transmitting FTS Capture Files for more information.

Transmitting FTS Capture Files To transmit the data in a FTS capture file, you will first need to export it to a binary format.

1. Open the capture file containing the data you want to transmit. 2. On the Control window, choose Export from the File menu. 3. Choose Binary Output. 4. In the Fields Available box, choose Char/Event Name, and Click the Add button to add it to the Displayed Fields box. Remove any other fields in the Displayed Fields box. 5. Choose a filename in the Export box. The default file name will be the name of your capture file with a .bin extension.

66 6. By default the file will be saved in the C:\Program Files\Frontline Test System II\[Product Name]\My Capture Files directory. Click on the Browse button to save your file to another location. 7. If you want to transmit just DTE data or DCE data, be sure to filter out the side you do not want. Also, you will probably want to filter out Special Events. 8. Click Export.

The result will be a .bin file, which you can transmit from the File tab of the Transmit window.

Pause Transmit

Pause temporarily halts data transmission. When transmission is resumed, FTS continues to send the rest of the data. Stop halts transmission completely, and any unsent bytes are thrown away. For example, if you are sending the ASCII string ABCD, and you paused transmission after AB had been sent, FTS would remember that it needed to send the CD. When transmission is resumed, FTS would send the CD. However, if you stop transmission after the AB has been sent, FTS will throw away the CD. If you start transmission again with the same string, FTS will transmit the string from the beginning.

Flow Control When Transmitting

Flow Control is enabled in the Set I/O Configuration window . When flow control is active, FTS will wait for a specified condition before sending data. This feature will typically be used for testing printers, stat muxes, and other devices which must throttle the data flowing to them. FTS has a flow control status line at the bottom of the transmit window which will tell you when flow control is active or inactive.

FTS supports both software and hardware flow control. Software flow control uses the Xon and Xoff values specified in the Set I/O Configuration window. This means that if FTS receives an Xoff character while in source mode it will stop sending data until an Xon character is received. DC1 and DC3 (hex 11 and hex 13 respectively) are most often used for software flow control. If you need to use other characters, simply enter the hex values that you want to use in the flow control boxes on the Set I/O Configuration screen.

FTS supports both RTS/CTS and DTR/DSR hardware flow control. Selecting RTS/CTS means that FTS will use the RTS/CTS control signals to control data transmission. When sourcing DTE FTS will automatically assert RTS and send data when CTS is asserted. While CTS is not asserted, FTS will NOT send data. When FTS is finished sending data, it will deassert RTS. In DCE mode FTS will reverse the meaning of RTS and CTS, responding to RTS as the flow control indicator even though this is a non-standard use of the signal.

Selecting DTR/DSR tells FTS to use the DTR/DSR control signals for flow control. When sourcing DCE FTS will automatically assert and deassert DSR and will respond to DTR. When sourcing DTE FTS will automatically assert and deassert DTR and respond to DSR.

Changing Control Signals Next to the Transmit String or File box are boxes for changing control signal states. You will be able to change control signals only for the device which you are emulating. For example, if you are a DTE source, you will only be able to change RTS and DTR. If you are a DCE source, you will be able to change CTS, DSR, CD and RI.

To change a control signal, click on the box. A check mark means that the signal is high, while an empty box means that the signal is low.

67 Delays and Max Burst Size When FTS transmits data, it first puts the data to be sent in a transmit buffer, and then sends the data out the serial port. There is a limit on the amount of data that can fit into the transmit buffer at one time. The Max Burst Size option allows you to control how many bytes are put into the transmit buffer before the data is transmitted, while the Delays allow you to control the timing of data bursts.

Max Burst Size

Max Burst Size allows you to control how many bytes are put into the transmit buffer at a time.

Example: Assume that the transmit buffer can hold up to 1000 bytes. If the Max Burst Size is set to 1000, FTS would fill up the buffer with 1000 bytes and then send the 1000 bytes. However, if you want to send only 500 bytes at one time, you would set the Max Burst Size to 500. FTS would put only 500 bytes into the transmit buffer before sending them, even though the buffer could hold up to 1000 bytes.

String and File Delays

String Delay inserts a delay between each transmission of a string. To set this type of delay, click on the radio button for String Delay. Type a value in the box to tell FTS how long to set the delay, and then click on the down arrow to choose a time increment of milliseconds, seconds or minutes. A delay of 0 (zero) means that FTS will not insert a delay.

Note for Windows NT users: Timing under NT is often dealt with in increments of 10 milliseconds. This means that if you request a delay that is not a multiple of 10, the actual delay will be rounded up to the nearest 10 milliseconds.

Example: A delay of 40 seconds will cause FTS to transmit the string, wait 40 seconds, and transmit the string again. This pattern will repeat until either the string has been transmitted the specified number of times, or the user chooses to stop transmitting.

File Delay works in exactly the same way as String Delay.

Burst Delay

Burst Delay will insert a delay between each transmission of the transmit buffer. Remember that the Max Burst Size option effectively sets the size of the transmit buffer. FTS will fill the buffer with data up to the Max Burst Size, and send the data. If a Burst Delay is set, FTS will pause the length of the delay, before filling up the transmit buffer again and repeating the process.

To set the size of the burst, type how many bytes to send in the Max Burst Size box. Set the delay by typing in the length of the delay in the Burst Delay box, and then choose a time increment of Milliseconds, Seconds or Minutes from the pulldown menu.

Example: You want to send 1000 bytes, wait 2 minutes, and repeat the pattern. Type in 1000 in the Burst Size box, and set the delay to 2 minutes. FTS will send 1000 bytes, using as many repetitions of the string or file as necessary to achieve the correct number of bytes, wait 2 minutes and send the string again.

Example: You want to send a 1000 byte file continuously, and insert a five second delay between each transmission of the file. However, you also want to send the file in increments of 400 bytes each, with a ten second delay between each group of 400 bytes. To set this up, you would set your Max Burst Size to 400, your File Delay to five seconds, and your Burst Delay to ten seconds.

68 FTS would send 400 bytes, wait ten seconds, send 400 bytes, wait ten seconds, send 200 bytes, wait five seconds (because the end of the file has been reached), and repeat the process until transmission was paused or stopped.

Transmit Options To open this window: Click the Transmit icon on the Control window toolbar. On the Transmit window, click the Options icon .

The Transmit Priority determines how much of a priority the system places on transmitting data versus updating the screen. On slower PC's, so much processor time can be taken up transmitting data, especially at higher data rates, that the screen never updates, making it appear that the PC has locked up. The Transmit Priority slider bar determines how much time to take transmitting data. When the Transmit Priority is high, FTS will ensure that data gets transmitted before it updates the user interface. If the Transmit Priority is low, FTS will allow the user interface more time.

The length of your transmit string plays a role in the amount of throughput achieved. Longer strings are more efficient and will result in higher throughputs than shorter strings.

The Transmit Toolbar

Capture to Buffer - Begins data capture to the buffer. You must begin capture to either the buffer or a file before you can transmit. Capture to Disk - Begins data capture to a file. You must begin capture to either the buffer or a file before you can transmit. Send - Tells FTS to begin transmitting. Pause Transmitter - Pauses transmission. While transmitting is paused, FTS does not send data but it will continue to capture data coming from the other device. Stop Transmitting - Stops data transmission. FTS will continue to capture data. Transmit Options - Brings up the options window, which lets you change the transmit priority.

69 Searching

Searching You can search your data in several different ways. Some types of searches are relevant only for framed data and will not be offered if the data is not framed.

Types of Searches String or Pattern in the Data String or Pattern in the Protocol Decode (framed data only) Byte Error (such as parity or framing errors) Frame Error (such as an FCS Error or error in the decode - framed data only) Control Signal Changes Time (move to data captured at a specific time or move through the data by time interval) Special Event Go To a Specific Byte or Frame Number

To Begin a Search 1. Capture some data to the buffer, or open a capture file to search. 2. Open the Event Display or Frame Display window. 3. Click on the Find icon or choose Find from the Edit Menu. 4. The Find window has a tab for each type of search. Click on the appropriate tab for the type of search you want to do. 5. Select the parameters for your search, and click Find Next. Find Next will look for the next occurrence of the search criteria, while Find Previous will look for an earlier occurrence of the search criteria. 6. Press F3 to repeat the last search.

Search results are highlighted in the Event or Frame Displays, or both if appropriate. The selection in the Event Display appears on the third line down from the top of the window by default: this value can be changed.

Go To This type of search allows you to go to a particular frame or event, or to move through the data X number of events or frames at a time. You can move either forward or backwards through the data.

To go to a particular frame, select the Frame Number radio button and type the frame number in the box. Then click the Go To button. To move forward or backward a set number of frames, type in the number of frames you want to move, and then click the Move Forward or Move Backward button.

To go to a particular event, select the Data Event Number or All Events Number radio button, type the number of event in the box, and click the Go To button. To move forward or backwards through the data, type in the number of events that you want to move each time, and then click on the Move Forward or Move Backward button. For example, to move forward 10 events, type the number 10 in the box, and then click on Move Forward. Each time you click on Move Forward, FTS will move forward 10 events.

See Event Numbering for why the Data Event Number and All Events Number may be different. As a general rule, if you have the Show All Events icon pressed down on the Event Display

70 window or Frame Display Event pane, choose All Events Number. If the Show All Events button is up, choose Data Event Number.

Searching for Data Errors FTS can search for several types of data errors. You can choose which errors you want to search for, and you can choose whether to search just the DTE or DCE data, or both. Bytes with errors are shown in red in the Event Display window, making it easy to find errors visually when looking through the data.

Selecting Which Errors to Search

The section with the check boxes allows you to choose which errors FTS should look for. If you want to search only for overrun errors, you would check the overrun box, and uncheck the other boxes. To search for all types of errors, check all boxes. Click on a box to check or uncheck it.

Searching for Error Conditions

The first three options are all fairly similar, and are described together. These options are searching for an event where:

• one or more error conditions changed • one or more error conditions occurred • one or more error conditions were off (i.e. no errors occurred).

The most common search is looking for a few scattered errors in otherwise clean data. To do this type of search, choose to search for an event where one or more error conditions occurred, and then choose which errors to look for. By default, FTS will look for all types of errors. In contrast, searching for an event where one or more error conditions were off means that FTS will look for an event where the error(s) were not present.

For example, if you have data that is full of framing errors, and you know that somewhere in your 20 megabyte capture file the framing got straightened out, you could choose to search for an event where one or more error conditions were off, and choose to search only for framing. FTS would search the file, and find the point at which framing errors stopped occurring.

Searching for an event where the error conditions changed means that FTS will search the data and stop at every point where the error condition changed from on to off, or off to on.

For example, if you have data where sometimes the framing is wrong and sometimes right, you would choose to search framing errors where the error condition changed. This would first take you to the point where the framing errors stopped occurring. When you click Find Next, FTS will stop at the point when the errors began occurring again.

FTS takes the current selected byte as its initial condition when running searches that rely on finding events where error conditions changed. FTS will search until it finds an event where error conditions changed or it reaches the end of the buffer, at which point FTS will tell you that there are no more events found in the buffer. If you are searching for an exact match, FTS will ask you if you want to continue searching from the beginning of the buffer.

Searching for Exact Error Conditions

To search for an exact state means that FTS will find events that exactly match the error conditions that you specify. First select the "This exactly describes the state" radio button.

71 This will change the normal check boxes to a series of radio buttons labeled On, Off and Don’t Care for each error. On means that the error occurred, Off means that the error did not occur, and Don’t Care means that FTS will ignore that error condition. Select the appropriate state for each type of error.

Example:

If you need to find an event where just an overrun error occurred, but not any other type of error, you would choose overrun error to be On, and set all other errors to Off. This will cause FTS to look for an event where only an overrun error occurred.

If you want to look for events where overrun errors occurred, and other errors may have also occurred but it really doesn’t matter if they did or not, choose overrun to be On, and set the others to Don’t Care. FTS will ignore any other type of error, and find events where overrun errors occurred.

To find the next error, click the Find Next button. To find an error that occurred earlier in the buffer to where you are, click the Find Previous button.

Searching for Control Signal Changes Control signal searching allows you to search for changes in control signal states for one or more control signals. You can also search for a specific state involving one or more control signals, with the option to ignore those control signals whose states you don’t care about.

FTS takes the current selected byte as its initial condition when running searches that rely on finding events where control signals changed.

Selecting Control Signals to Search

The section with the check boxes allows you to specify which control signals FTS should pay attention to when doing the search. FTS will pay attention to any control signal with a check mark. Click on a box to place a check mark next to a control signal, and click again to uncheck the box. By default, FTS will search all control signals, which means all boxes start out checked.

For example, if you are only interested in finding changes in RTS and CTS, you would check those two boxes and uncheck all the other boxes. This will tell FTS to look only at the RTS and CTS lines when running the search. The other signals will be ignored.

Searching for On, Off, or Changed States

The first three options are all fairly similar, and are described together. These options are searching for an event where:

• one or more control signals changed • one or more control signals changed from off to on • one or more control signals changed from on to off.

Searching for an event where one or more signals changed means that FTS will look at every control signal that you checked, and see if any one of those signals changed state at any time. If you want to look at just one control signal, you would check the box for that signal and uncheck all the other boxes, and then choose to search for an event where one or more signals changed. FTS will note the state of the selected signal at the point in the buffer where the cursor is, search the buffer, and stop when it finds an event where RTS changed state. If the end of the buffer is reached before an event is found, FTS will tell you that no matches were found.

72 Searching for events where control signals changed state from off to on, or vice versa, is most useful if the signals are usually in one state, and you want to search for occasions where they changed state. For example, if DTR is supposed to be on all the time but you suspect that DTR is being dropped, you would tell FTS to look only at DTR by checking the DTR box and unchecking the others, and then do a search for where one or more control signals changed from on to off. FTS would search the DTR signal and stop at the first event where DTR dropped from on to off.

Searching for an Exact State

To search for an exact state means that FTS will find events that match exactly the state of the control signals that you specify. First choose to search for an event where your choices exactly describe the state.

This will change the normal check boxes to a series of radio buttons labeled On, Off and Don’t Care for each control signal. Choose which state you want each control signal to be in. Choose Don’t Care to have FTS ignore the state of a control signal.

When you click Find Next, FTS will search for an event that exactly matches the conditions selected, beginning from the currently selected event. If the end of the buffer is reached before a match is found, FTS will ask you if you want to continue searching from the beginning. If you want to be sure to search the entire buffer, place your cursor on the first event in the buffer.

Example

If you need to find an event where RTS, DSR and DTR are on, CTS is off and you don’t care about the state of CD and RI, you would set the buttons as illustrated.

73 Searching within Decodes Search For String in Decode lets you to do a string search on the data in the Decode Pane of the Frame Display window. You can search one or both sides of the circuit, and your search can include wildcards. You can use characters, hex or binary digits, wildcards or a combination of any of the formats when entering your string.

Searching for Frame Errors There are two options for error searching. Click the appropriate radio button for the type of search you want to perform, and then click Find Next.

Search for All Errors will find frame errors as well as frames with byte-level errors (such as parity or CRC errors).

Search for Frame Errors will find Frame specific errors, such as Frame Check errors.

Searching for Special Events FTS inserts or marks events other than data bytes in the data stream. For example, FTS will insert start-of-frame and end-of-frame markers into framed data, marking where each frame begins and ends. If a hardware error occurs, FTS will show this using a special event marker.

To search for a special event, check the event or events you want to look for in the list of special events. Then click Find Next. Not all special events are relevant to all types of data. For example, control signal changes are relevant only to serial data and not to Ethernet data.

Side Restriction Side Restriction means that FTS will look for a pattern coming wholly from the DTE or DCE side. If you choose to search without regard for data origin, FTS will look for a pattern coming from one or both sides.

For example, if you choose to search for the pattern ABC and you choose to search without regard for data origin, FTS will find all three instances of ABC shown below.

The first pattern, with the A and the C coming from the DTE device and the B coming from the DCE is a good example of how using a side restriction differs from searching without regard to data origin. While searching without regard for data origin will find all three patterns, searching using a side restriction will never find the first pattern, because it does not come wholly from one side or the other.

74 If you choose to search for the pattern ABC, and you restrict the search to just the DTE side, FTS will find the following pattern:

In this example, FTS will find only the second pattern (highlighted above) because we restricted the search to just the DTE side. The first pattern doesn't qualify because it is split between the DTE and DCE sides, and the third pattern, though whole, comes from just the DCE side.

If we were to choose both the DTE and the DCE sides in the above example, FTS would find the second pattern followed by the third pattern, but not the first pattern. This is because each side has one instance in which the whole pattern can be found. FTS will completely search the DTE side first, followed by the DCE side.

Side Restriction is available for pattern and error searching.

Changing Where the Search Lands When you do a search in FTS, the byte or bytes matching the search criteria are highlighted in the Event Display, with the first selected byte appearing on the third line of the display. To change the line on which the first selected byte appears, open fts.ini (located in the root directory FTS was installed to), go to the [CVEventDisplay] section and change the value for SelectionOffset. If you want the selection to land on the top line of the display, change the SelectionOffset to 0 (zero).

String Searches

SEARCH BY PATTERN Search by Pattern lets you to do a traditional string search. You can search one or both sides of the circuit, and your search can include wildcards. You can combine any of the formats when entering your string.

ENTERING CHARACTERS Place the cursor in the Pattern box and type in your string. Click Find Next in order to find the next occurrence of the string. You can click on Find Next as many times as necessary until FTS has searched all the data. Clicking on Find Previous will search the buffer backwards.

You can enter any character from a character set, with the following exceptions: \$&^?. These characters are used as prefixes to let you to enter hex, binary, control or wildcard characters. The escape character is the backslash \. Use this character when you want to search for one of

75 the above restricted characters. For example, to search for a $, you would enter \$. To search for a \, enter \\.

Check Ignore Case to do a case-insensitive search.

ENTERING HEX OR BINARY To enter a hex value, enter a $ followed by two hex digits. For example, to search for hex 00 01, enter $00$01.

If you need to specify the $ as a character, use \$.

Just as the $ symbol tells FTS that the following characters are hex digits, the & symbol tells FTS that a binary number comes next. For example, to search for binary 00001111, you would use &00001111.

If you need to specify the & as a character, use \&.

ENTERING CONTROL CHARACTERS The ^ (caret) is used to enter the control characters Ctrl-A through Ctrl-Z and Ctrl-@,[,\,],- when using the ASCII character set. For example, ^A specifies Ctrl-A ($01) and ^@ specifies ASCII NUL ($00).

If you need to specify the ^ as a character, use \^.

Note that neither the ^ character nor control characters exist in Baudot, so attempts to search for the ^ character will result in an error message. The ^ character exists in EBCDIC, but control characters do not. A search for ^A in EBCDIC will match any occurrence of ^A ($5F$C1). You do not need to use the escape character to search for a ^ character in EBCDIC.

USING WILDCARDS The wildcard character is the question mark (?).

FTS supports wildcard searching at the byte, nibble and bit level. Wildcards can be used in place of characters, hex digits, and binary digits.

If you need to search for a ?, you can use \?.

EXAMPLES OF SEARCH STRINGS To search for any single byte in the range of hex $10 through $1F, type $1?.

&111111?? will search for binary numbers beginning with 111111 and ending with any combination of 1 and 0. 11111100, 11111101, 11111110, and 11111111 are all strings that match the search criteria.

To search for any four character string which starts with an L and ends with an ES, type L?ES.

You can combine formats in one string. For example, another way to specify a search for the string L?ES is $4C&????????&01000101S.

Searching by Time

SEARCHING BY TIME FTS can search by time in two different ways.

76 An absolute timestamp search means that FTS will search for an event at the exact date and time specified. If no event is found at that time, FTS will go to the nearest event either before or after the selected time, based on the "Go to the timestamp" selection.

A relative search means that FTS will begin searching from whatever event you are currently on, and search for the next event a specific amount of time away. Use the radio buttons to indicate which type of search you would like to do.

Note that some special events like frame markers do not have timestamps and so will be skipped in the search. Data events that do not have timestamps because timestamping was turned off either before or during capture will likewise be skipped.

ABSOLUTE TIMESTAMP SEARCH Specify the time to search for using the counters in the middle of the window. Click on the arrows next to each item to increase or decrease the value of each counter. By default, the counters are filled in with the timestamp of the first event in the buffer. When you have finished selecting the time to search for, click on the Go To button to start the search.

Sometimes there can be more than one event with the same timestamp. FTS will highlight all events with the same timestamp.

RELATIVE TIMESTAMP SEARCH Click on the event in the Event Display window that you want to begin the search from. The event must have a timestamp in order for relative timestamp search to work. In the Find window, use the counters in the middle of the window to specify the time interval you want to jump. You can specify intervals in days, hours, minutes, seconds, and fractions of a second, or any combination of these. When you have specified the time interval you want to use, click on the Move Forward or Move Backward buttons to start the search from the current event.

For example, to search for an event occurring 10 seconds after the currently selected event, choose to do a relative timestamp search, use 10 seconds for your time interval, and click on Move Forward.

As with absolute timestamping, FTS will highlight all events with the same timestamp.

CHOOSING "ON OR BEFORE" OR "ON OR AFTER" FTS will search for an event that matches the time specified. If no event is found at that time, FTS will go to the nearest event either before or after the specified time. Choose whether to have FTS go to the nearest event before the specified time or after the specified time by clicking the appropriate radio button in the "Go to the timestamp" box.

If you are searching forward in the buffer, you will usually want to choose the "On or After" button. If you choose the "On or Before" option, it may be that FTS will finish the search and not move from the current byte, if that byte happens to be the closest match.

SUBTLETIES OF TIMESTAMP SEARCHING Timestamping can be turned on and off while data is being captured. As a result, the capture buffer may have some data with a timestamp, and some data without. When doing a search by timestamp, FTS will ignore data without a timestamp.

77 Filtering

How To Create and Use a Filter There are two steps to using a filter. First a filter condition must be defined, and then it must be applied. FTS combines both filter definition and application on one window.

1. Click the Filters icon on either the Control or Frame Display window.

2. Click the Define Conditions tab.

3. FTS supports four different types of filters. Click on the links below for more information about defining each type of filter. Node and Conversation Protocol Pattern or Offset Custom Filter made using BPF Strings

4. After your filter is defined, click the Display Filters tab. Display filters look at the frames in the capture buffer and display only those frames that match the criteria.

5. Choose the filter or filters to apply. Here's how to apply a display filter.

6. Click OK. The Filters window will close and the filter will be applied.

How to Apply a Display Filter

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Display Filter tab at the top of the window. 3. In the tree view on the left, click the condition you want to apply, and then click the arrow buttons to move the condition to the Conditions Selected in Filter box. You may choose more than one condition to filter on. 4. The Filter Representation box at the bottom of the window shows an English version of what the filter will do. Click the checkbox to see the TCPDump syntax. 5. [Optional] Click the Name button to create a name for your condition or group of conditions. This name will appear in the Named Filters box. In the future, you will be able to select the same condition(s) by selecting the name from the box. 6. If you opened the Filters dialog from a Frame Display, you have the choice of applying the filter to the same Frame Display or to a new one. At the top of the window, choose whether to apply the filter to a new Frame Display window or to the current Frame Display. (If you opened the Filters dialog from the Control window, the filter will automatically be applied to a new window.) 7. Click OK. The Filters window will close and FTS will apply the filter.

When a display filter is being used, the Frame Display window will show the name of the filter on the toolbar to the far right. If the filter was not named, "no name" will appear in the Filter box. To view the display filters in use, open the Filters window and click the Filters In Use tab.

78 How To Know What Filter Is Being Used

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Filters in Use tab at the top of the window. 3. The left side of the window will show what filters are currently in use.

How to Remove a Filter 1. To remove a display filter, close the Frame Display window that uses the filter. 2. To remove a capture filter, click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 3. Click on the Capture Filters tab at the top of the window. 4. The capture filter currently in use will be shown in the Select Filters to Use box. Click the condition(s) you want to remove. Use the arrow buttons to move the conditions to the Available Filters box on the left, OR click the Un-Apply Filters button to remove all conditions.

Filtering Serial Data When filtering on serial data, you may not be able to filter on data in every layer. For example, in an Async PPP stack carrying VJC, you can filter on the IP or TCP layers, but not on the Async PPP layer. The layer that filtering will start on is marked in the Frame Display Decode pane with the label "[Filter Layer]". If no label is present, that means filtering will start on the lowest layer (the top one in the list on the Decode pane).

Check which layer filtering will be applied to before creating your filter. How? If you are creating a BPF filter using tcpdump syntax, see the topic Creating BPF Filters for Serial Data.

Naming Filters Naming filters means putting a name to a condition or group of conditions. It's a convenient way of grouping conditions into one filter set and remembering what the filter does. Named filters can be selected from a list on the Apply Filter tabs, making it very easy to reuse groups of conditions.

To name a filter, move the conditions to the Select Filters to Apply box, and click the Name Filters button. Give the filter a name.

To delete a named filter, select the filter from the list box, and click the Delete Filter button. This will delete the filter only. It will not delete the conditions used in the filter.

Showing Named Filters The Show Named Filters tab displays a list of all named filters and their conditions. Double-click on a filter name to expand it and show the conditions for each named filter.

Naming filters is a good way to group conditions together. Named filters can be selected from the Apply Filter tabs, making it easy to reuse groups of conditions.

How To Know What Layer Filtering Will Be Applied To Capture some data. On the Frame Display window Decode pane, check for the label "Filter Layer" next to the name of each protocol layer. It the label appears next to a protocol, this is the layer filtering will be applied to. If no label appears next to any protocol, then filtering will be applied to the entire frame.

If you are capturing data which has frames using different protocol stacks, you will need to check a frame with each type of protocol stack to find out what layer filtering will be applied to.

79 Why Serial Filtering Works The Way It Does Protocol filtering in FTS can be broken down to "go to this offset and look for this value." When data doesn't include escape characters or isn't compressed, it is easy to go to a specific position and look for a value, because the field at that position is always the same field.

Filtering of serial data is complicated by the fact that the physical frame is not always the same as the logical frame. This makes it impossible to accurately specify a filter using offsets because the field at the offset will be different in every frame. For example, in Async PPP, the data has escape characters in it which must be removed before the frame is decoded. FTS strips out the escape characters, transforms the byte after it accordingly, and the resulting logical frame is sent through the filter. A similar procedure is necessary for some types of compression, such as Van Jacobsen Compression (VJC). This process is called "frame transformation".

The result is that sometimes FTS can't filter starting from the lowest layer. In these situations, FTS puts a label next to the name of the lowest protocol layer it can filter on.

If you choose to filter by specifying an offset, you will need to add 14 to your offset value. This is because FTS adds that many characters to the beginning of serial data frames to make them correspond to what the filtering function expects.

Defining Filters

DEFINING NODE AND CONVERSATION FILTERS

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Define Conditions tab at the top of the window. 3. In the tree view on the left, click the words Node and Conversation. The right side of the window will change to show the Node and Conversation definition pane. 4. If you want to include all frames matching your filter, select the Include radio button at the center top of the pane. If you want to exclude all frames matching your filter (and therefore see everything but those frames), click the Exclude radio button. 5. In the Node A section, select the radio button for the type of address you want. All means to pass all frames. Type the MAC or IP address of the node you wish to filter on. 6. Choose a direction arrow from the Direction box. The left arrow will filter on all frames where Node A is the destination, the right arrow will filter on all frames where Node A is the source, and the double arrow will filter on all frames where Node A is either the source or the destination. 7. If you want to filter on just one node, stop right here. Click the Add button at the bottom of the pane to finish your filter and add it to the filter tree on the left side of the window. 8. If you want to filter on traffic going between two nodes (i.e. a conversation), select an address type and add the MAC or IP address of the second node in the Node B box. Click the Add button at the bottom of the pane to finish your filter and add it to the filter tree on the left side of the window.

DEFINING PROTOCOL FILTERS

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Define Conditions tab at the top of the window. 3. In the tree view on the left, click the word Protocol. The right side of the window will change to show the Protocol definition pane.

80 4. If you want to include all frames matching your filter, select the Include radio button at the top of the pane. If you want to exclude all frames matching your filter (and therefore see everything but those frames), click the Exclude radio button. 5. Select a protocol from the protocol list. 6. Click the Add button at the bottom of the pane to finish your filter and add it to the filter tree on the left side of the window.

DEFINING PATTERN OR OFFSET FILTERS

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Define Conditions tab at the top of the window. 3. In the tree view on the left, click the words Pattern Match. The right side of the window will change to show the Pattern Match definition pane. 4. If you want to include all frames matching your filter, select the Include radio button at the top of the pane. If you want to exclude all frames matching your filter (and therefore see everything but those frames), click the Exclude radio button. 5. Enter a pattern in the Look for this Pattern box. Use $ to specify a hex byte (e.g. $00 will look for a null character). 6. Enter the offset and where the offset should start in the Offset this many bytes from start of boxes. FTS can begin counting from the start of the frame or the start of a protocol header. An offset of 0 means to look at the first byte, an offset of 1 means to look at the second byte, etc. Note: when filtering serial data, FTS may not be able to filter from the start of the frame or from some protocol headers. For more information, see Filtering Serial Data. 7. Click the Add button at the bottom of the pane to finish your filter and add it to the filter tree on the left side of the window.

USING TCPDUMP TO CREATE A CUSTOM FILTER

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Define Conditions tab at the top of the window. 3. In the tree view on the left, click the words BPF Program (tcpdump syntax). The right side of the window will change to show the BPF definition pane. 4. If you want to include all frames matching your filter, select the Include radio button at the top of the pane. If you want to exclude all frames matching your filter (and therefore see everything but those frames), click the Exclude radio button. 5. Enter the BPF string in the Expression box. 6. Click the Add button at the bottom of the pane to finish your filter and add it to the filter tree on the left side of the window.

If you are filtering serial data, your tcpdump string must take into account the extra padding added to make serial filtering work with BPF. See Creating BPF Filters For Serial Data for more information.

Filtering functionality is based on Berkeley Packet Filtering (BPF), which is implemented in the UNIX program tcpdump. The Filter String Formats help topic describes how to write a filter string for the most common types of filters. For the full description of BPF syntax, click here for the instructions from the tcpdump man page.

CREATING BPF FILTERS FOR SERIAL DATA For serial data, the easiest way to create a BPF filter is to use the link keyword. The syntax is: link[offset:size]=expression

81 where offset is the offset from the start of the frame to the beginning of the field (the first byte is at offset zero), size is the size of the field in bytes and expression is the value to match.

To create a BPF string for serial, first check which protocol layer the filter will be applied to. How? Then figure out what offset you need from the start of the protocol layer to the field you want to filter on, and add 14 to it. Use this offset number in your link statement. For the full list of keywords, see the tcpdump man page.

Why does serial filtering work this way?

HOW TO MODIFY A CONDITION

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Define Conditions tab at the top of the window. 3. In the tree view on the left, click the condition you want to modify. The right side of the window will change to show the definition pane for the type of condition selected, and put the contents of the condition in the pane. 4. Change the condition to the desired state. 5. Click the Modify button at the bottom of the definition pane.

HOW TO DELETE A CONDITION

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Define Conditions tab at the top of the window. 3. In the tree view on the left, click the condition you want to delete. The right side of the window will change to show the definition pane for the type of condition selected, and put the contents of the condition in the pane. 4. Click the Delete button at the bottom of the definition pane.

FILTER FORMATS

Filter String Formats Filtering functionality in FTS is based on Berkeley Packet Filtering (BPF), which is implemented in the UNIX program tcpdump. The instructions that follow describe how to write the most common filter expressions when filtering Ethernet Type II data. There are some limitations when filtering other types of data, including asynchronous data. See Filtering Serial Data for more information. For the full description of BPF syntax, click here for an excerpt from the tcpdump man page.

The filter format consists of one or more "qualifiers", which may or may not be followed by an ID, which identifies the thing to be filtered on.

Qualifiers There are three kinds of qualifiers: type, direction and protocol.

Type qualifiers tell you what kind of thing the ID refers to. There are three possible types: host, net and port. If no type is given, host is assumed.

Direction qualifiers specify the direction of traffic to or from the ID. There are four possible directions: src - source. Filters on frames for which the ID is the source. dst - destination. Filters on frames for which the ID is the destination. src or dst - source or destination. Filters on frames for which the ID is either the source or the destination.

82 src and dst - source and destination. Filters on frames for which the ID is both the source and the destination

If no direction is given, src or dst is assumed.

Protocol qualifiers specify a particular protocol. Possible protocol qualifiers are: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp, where ether stands for Ethernet. If no protocol is given, all protocols consistent with the type are assumed.

IDs, or Identifiers Identifiers are usually a name or a number identifying a particular node, protocol, network, etc. Examples are Ethernet MAC addresses or IP addresses. To specify a hex value, use 0x before the value. Example: 0x50.

Expressions and Relational Operators You can combine identifiers using the following:

'and' or '&&' - concatenation. Filters on frames where both identifiers are true. 'or' or '||' - alternation. Filters on frames where one or both of the identifiers is true. 'not' or '!' - negation. Excludes a frame if the identifier is true.

Negation has highest precedence and will be evaluated first. Alternation and concatenation have equal precedence and are evaluated left to right.

Use parentheses to combine expressions. Example: to filter on all frames from Abel and either Baker or Charlie, use: host Abel and (Baker or Charlie)

Filter on MAC Address To filter on all frames to and from an Ethernet MAC Address, use the following syntax: ether host 00:01:02:03:04:05

To filter on all frames to and from two MAC Addresses: ether host 00:01:02:03:04:05 and 06:07:08:09:0a:0b

Filter on IP Address To filter on all frames to and from an IP address, use the following syntax: ip host 100.200.300.4

To filter on all frames to and from two IP addresses, use: ip host 100.200.300.4 and 100.200.300.5

Filter on Protocol To filter on a protocol, enter the protocol name in the string box. Possible protocols are: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp, where ether stands for Ethernet. You can also filter on protocols within protocols using the proto keyword.

Examples: ip - filters on all IP frames ip proto \tcp - filters on all TCP frames (tcp is a keyword and must be escaped using the '\' when used as an ID) port 80 - filters on all frames 'to and from' a TCP port, in this case port 80 (HTTP)

Filter at an Offset To specify an offset from a protocol, place the value in brackets.

83 ether[13]>5 - examines the 13th byte from Ethernet start of frame for a value greater than 5 (remember that the first byte is at offset zero).

Berkeley Packet Filtering Man Page The following text is taken from the tcpdump man page. References to CShell have been removed, along with some references to escape characters which are relevant only when running tcpdump under CShell and which are not relevant to filtering in FTS. expression selects which packets will be dumped. If no expression is given, all packets on the net will be dumped. Otherwise, only packets for which expression is `true' will be dumped. The expression consists of one or more primitives. Primitives usually consist of an id (name or number) preceded by one or more qualifiers. There are three different kinds of qualifier: type qualifiers say what kind of thing the id name or number refers to. Possible types are host, net and port. E.g., `host foo', `net 128.3', `port 20'. If there is no type qualifier, host is assumed. dir qualifiers specify a particular transfer direction to and/or from id. Possible directions are src, dst, src or dst and src and dst. E.g., `src foo', `dst net 128.3', `src or dst port ftp-data'. If there is no dir qualifier, src or dst is assumed. For `null' link layers (i.e. point to point protocols such as slip) the inbound and outbound qualifiers can be used to specify a desired direction. proto qualifiers restrict the match to a particular protocol. Possible protos are: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. E.g., `ether src foo', `arp net 128.3', `tcp port 21'. If there is no proto qualifier, all protocols consistent with the type are assumed. E.g., `src foo' means `(ip or arp or rarp) src foo' (except the latter is not legal syn- tax), `net bar' means `(ip or arp or rarp) net bar' and `port 53' means `(tcp or udp) port 53'. [`fddi' is actually an alias for `ether'; the parser treats them identically as meaning ``the data link level used on the specified network interface.'' FDDI headers contain Ethernet-like source and destination addresses, and often contain Ethernet-like packet types, so you can filter on these FDDI fields just as with the analogous Ethernet fields. FDDI headers also contain other fields, but you cannot name them explicitly in a filter expression.]

In addition to the above, there are some special `primitive' keywords that don't follow the pattern: gateway, broadcast, less, greater and arithmetic expressions. All of these are described below. More complex filter expressions are built up by using the words and, or and not to combine primitives. E.g., `host foo and not port ftp and not port ftp-data'. To save typing, identical qualifier lists can be omitted. E.g., `tcp dst port ftp or ftp-data or domain' is exactly the same as `tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain'. Allowable primitives are: dst host host True if the IP destination field of the packet is host, which may be either an address or a name. src host host True if the IP source field of the packet is host. host host True if either the IP source or destination of the packet is host. Any of the above host expressions can be prepended with the keywords, ip, arp, or rarp as in: ip host host which is equivalent to: ether proto \ip and host host If host is a name with multiple IP addresses, each address will be checked for a match. ether dst ehost True if the ethernet destination address is ehost. Ehost may be either a name from /etc/ethers or a number for numeric format.

84 ether src ehost True if the ethernet source address is ehost. ether host ehost True if either the ethernet source or destination address is ehost. gateway host True if the packet used host as a gateway. I.e., the ethernet source or destination address was host but neither the IP source nor the IP destination was host. Host must be a name and must be found in both /etc/hosts and /etc/ethers. (An equivalent expression is ether host ehost and not host host which can be used with either names or numbers for host / ehost.) dst net net True if the IP destination address of the packet has a network number of net. Net may be either a name from /etc/networks or a network number for details). src net net True if the IP source address of the packet has a network number of net. net net True if either the IP source or destination address of the packet has a network number of net. net net mask mask True if the IP address matches net with the specific netmask. May be qualified with src or dst. net net/len True if the IP address matches net a netmask len bits wide. May be qualified with src or dst. dst port port True if the packet is ip/tcp or ip/udp and has a destination port value of port. The port can be a number or a name used in /etc/services. If a name is used, both the port number and protocol are checked. If a number or ambiguous name is used, only the port number is checked (e.g., dst port 513 will print both tcp/login traffic and udp/who traffic, and port domain will print both tcp/domain and udp/domain traffic). src port port True if the packet has a source port value of port. port port True if either the source or destination port of the packet is port. Any of the above port expressions can be prepended with the keywords, tcp or udp, as in: tcp src port port which matches only tcp packets whose source port is port. less length True if the packet has a length less than or equal to length. This is equivalent to: len <= length. greater length True if the packet has a length greater than or equal to length. This is equivalent to: len >= length. ip proto protocol True if the packet is an ip packet of protocol type protocol. Protocol can be a number or one of the names icmp, igrp, udp, nd, or tcp. Note that the identifiers tcp, udp, and icmp are also keywords and must be escaped via backslash (\). ether broadcast True if the packet is an ethernet broadcast packet. The ether keyword is optional. ip broadcast True if the packet is an IP broadcast packet. It checks for both the all-zeroes and all-ones broadcast conventions, and looks up the local subnet mask. ether multicast True if the packet is an ethernet multicast packet. The ether keyword is optional. This is shorthand for `ether[0] & 1 != 0'.

85 ip multicast True if the packet is an IP multicast packet. ether proto protocol True if the packet is of ether type protocol. Protocol can be a number or a name like ip, arp, or rarp. Note these identifiers are also keywords and must be escaped via backslash (\). [In the case of FDDI (e.g., `fddi protocol arp'), the protocol identification comes from the 802.2 Logical Link Control (LLC) header, which is usually layered on top of the FDDI header. Tcpdump assumes, when filtering on the protocol identifier, that all FDDI packets include an LLC header, and that the LLC header is in so-called SNAP format.] decnet src host True if the DECNET source address is host, which may be an address of the form ``10.123'', or a DECNET host name. [DECNET host name support is only available on Ultrix systems that are configured to run DECNET.] decnet dst host True if the DECNET destination address is host. decnet host host True if either the DECNET source or destination address is host. ip, arp, rarp, decnet Abbreviations for: ether proto p where p is one of the above protocols. lat, moprc, mopdl Abbreviations for: ether proto where p is one of the above protocols. Note that tcpdump does not currently know how to parse these protocols. tcp, udp, icmp Abbreviations for: ip proto p where p is one of the above protocols. expr relop expr True if the relation holds, where relop is one of >, <, >=, <=, =, !=, and expr is an arithmetic expression composed of integer constants (expressed in standard C syntax), the normal binary operators [+, -, *, /, &, |], a length operator, and special packet data accessors.

To access data inside the packet, use the following syntax: proto [ expr : size ] Proto is one of ether, fddi, ip, arp, rarp, tcp, udp, or icmp, and indicates the protocol layer for the index operation. The byte offset, relative to the indicated protocol layer, is given by expr. Size is optional and indicates the number of bytes in the field of interest; it can be either one, two, or four, and defaults to one. The length operator, indicated by the keyword len, gives the length of the packet. For example, `ether[0] & 1 != 0' catches all multicast traffic. The expression `ip[0] & 0xf != 5' catches all IP packets with options. The expression `ip[6:2] & 0x1fff = 0' catches only unfragmented datagrams and frag zero of fragmented datagrams. This check is implicitly applied to the tcp and udp index operations. For instance, tcp[0] always means the first byte of the TCP header, and never means the first byte of an intervening fragment. Primitives may be combined using a parenthesized group of primitives and operators.

Negation (`!' or `not'). Concatenation (`&&' or `and'). Alternation (`||' or `or').

Negation has highest precedence. Alternation and concatenation have equal precedence and associate left to right.

86 Note that explicit and tokens, not juxtaposition, are now required for concatenation. If an identifier is given without a keyword, the most recent keyword is assumed. For example, not host vs and ace is short for not host vs and host ace which should not be confused with not ( host vs or ace ).

EXAMPLES To print all packets arriving at or departing from sundown: host sundown

To print traffic between helios and either hot or ace: host helios and (hot or ace)

To print all IP packets between ace and any host except helios: ip host ace and not helios

To print all traffic between local hosts and hosts at Berkeley: net ucb-ether

To print all ftp traffic through internet gateway snup: gateway snup and (port ftp or ftp-data)

To print traffic neither sourced from nor destined for local hosts (if you gateway to one other net, this stuff should never make it onto your local net). ip and not net localnet

To print the start and end packets (the SYN and FIN packets) of each TCP conversation that involves a non-local host. tcp[13] & 3 != 0 and not src and dst net localnet

To print IP packets longer than 576 bytes sent through gateway snup: gateway snup and ip[2:2] > 576

To print IP broadcast or multicast packets that were not sent via ethernet broadcast or multicast: ether[0] & 1 = 0 and ip[16] >= 224

To print all ICMP packets that are not echo requests/replies (i.e., not ping packets): icmp[0] != 8 and icmp[0] != 0

AUTHORS Van Jacobson, Craig Leres and Steven McCanne, all of the Lawrence Berkeley National Laboratory, University of California, Berkeley, CA. Full Copyright notice.

Saving and Loading Filter Files

SAVING FILTERS TO FILE

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click on the Define Conditions tab at the top of the window. 3. Define one or more conditions. 4. Click the Save icon and give your filter file a name.

87 Saving a filter file saves the conditions you've created. You can combine these conditions in many ways to create different capture or display filters. If you create a condition set (a group of conditions to apply all at the same time) for a capture or display filter and want to save the condition set, name the filter, and then save the filter file. The named filter will be saved as part of the filter file, and will be available the next time the file is opened.

OPENING A FILTER FILE

1. Click on the Filter icon on the Control or Frame Display window toolbar to open the Filter window. 2. Click the Open icon and browse to the filter file.

Filter files have a .filter extension by default and are located in the My Configurations directory.

88 Saving Data

Saving Your Data You can save all or part of a capture buffer. You can also load a previously saved capture file, and save a portion of that file to another file. This feature is useful if someone else needs to see only a portion of the data in your capture file.

For example, you have a ten megabyte capture file and the home office needs to see only two megabytes of that file. You can save only the two megabytes they need to see in a new file.

The Save button and Save menu item are grayed out while data is being captured. You must pause capture before saving.

Saving the Entire Capture Buffer

1. If you are capturing data, click on the Pause icon to pause data capture. You cannot save data to file while it is being captured. 2. Open the Event Display or Frame Display window. 3. Click the Save icon . 4. Click on the radio button labeled Entire Buffer. 5. Type a filename in the Save As box at the bottom of the screen. Click the Browse icon to browse to a specific directory. Otherwise your file will be saved in the default capture file directory (usually C:\Program Files\Frontline Test System II\[Product Name]\My Capture Files). 6. When you are finished, click OK.

Saving a Portion of a Capture File or Buffer

1. If you are capturing data, click on the Pause icon to pause data capture. You cannot save data to file while it is being captured. 2. Open the Event Display or Frame Display window, depending on whether you want to specify a range in bytes or in frames. 3. Select the portion of the data that you want to save. Click and drag to select data, or click on the first item, move to the last item and Shift+Click to select the entire range. If the range you want to save is too large to select, note the numbers of the first and last item in the range. 4. Click the Save icon . 5. Click on the radio button labeled Selection. If you selected a range, make sure the starting and ending numbers are correct. To specify a range, type the numbers of the first and last items in the range in the boxes, and select either Events or Frames to indicate whether the numbers are event or frame numbers. 6. Type a filename in the Save As box at the bottom of the screen. Click the Browse icon to browse to a specific directory. Otherwise your file will be saved in the default capture file directory (usually C:\Program Files\Frontline Test System II\[Product Name]\My Capture Files). 7. Click OK when you are finished.

89 Loading and Importing Capture Files

Loading a Capture File 1. From the Control Window, go to the File menu. 2. Choose a file from the recently used file list, or choose Open to load a new file. 3. Capture files have a .cfa extension. Browse if necessary to find your capture file. Click on your file, and then click Open.

Importing Capture Files 1. From the Control Window, go to the File menu. 2. Choose a file from the recently used file list, or choose Open to load a new file. 3. Change the Files of Type box to All Importable File Types or All Supported File Types. Select the file and click Open.

FTS will automatically convert the file to FTS format while keeping the original file in its original format. You can save the file in FTS format, close the file without saving it in FTS format, or have FTS automatically save the file in FTS format (see the System Settings to set this option.) All of these options will keep your original file untouched.

When you first open the file, FTS will bring up the Protocol Stack window and ask you what protocol decodes, if any, you want to use. You must choose a protocol decode at this point for FTS to decode the data in the file. If you open a file without using any decodes, and decide later that you want to apply a decode, choose Reframe from the File menu on the Control window.

At present, FTS supports the following file types: Frontline Serialtest Async and Serialtest ComProbe for DOS – requires the .byt for data and the .tim for timestamps (see note on importing DOS timestamps) Greenleaf ViewComm 3.0 for DOS - requires the .byt for data and the .tim for timestamps (see note on importing DOS timestamps) Frontline Ethertest for DOS – requires 3 files: filename.cap, filename.ca0 and filename.ca1. Sniffer Type 1 – supports files with the .enc extension. Does not support Sniffer files with a .cap extension Snoop or Sun Snoop – files with a .cap extension based on RFC 1761. For file format, see http://www.faqs.org/rfcs/rfc1761.html. Shomiti Surveyor files in Snoop format – files with a .cap extension. For file format, see http://www.shomiti.com/support/TNCapFileFormat.htm.

Importing Timestamps Serialtest for DOS uses a timebase of Pacific Standard Time during non daylight savings time hours and Pacific Daylight Time during daylight savings time hours. FTS always uses Greenwich Mean Time (also known as Universal Time Coordinates.)

When importing a Serialtest for DOS file, FTS must determine if the file was recorded during daylight savings time or not before converting the timestamps. Because the rules for determining this can change, it is possible for FTS to convert the timestamps incorrectly, resulting in timestamps that are off by one hour.

90 Printing

Printing From The Event Display Printing from the Event Display prints exactly what is on the screen. If you need to see additional information, such as different radix (hex, decimal, etc.) or timestamps, use the Export feature.

1. Click on the Event Display icon on the Control window to open the Event Display window. 2. Make sure the data you want to print is displayed in the window. Load a capture fileIDH_Loading_a_Capture_File>Second if necessary. 3. From the File menu on the Event Display, choose Print. 4. Choose the correct printer and number of pages, and click OK to begin printing.

Print Preview Print Preview shows you how the data will look printed. You can scroll through the pages and zoom in on the data to get a closer look. The line of buttons across the top of the window controls the functions of the window.

To open the Print Preview window, choose Print Preview from the File menu in any window that supports printing. When Print Preview is chosen, the preview display replaces the regular data display in the window.

You can print directly from the Print Preview window. Click on the Print button to bring up the print window.

Use the Next Page and Prev Page buttons to navigate through the data. Next Page will show you the next page in your data will look, while Prev Page will take you back to the previous page.

Two Page will change the display to show two pages of data. When in the Two Page display, the button will read One Page. Click on the One Page button to return to viewing one page.

Zoom In and Zoom Out allow you to change the magnification of the pages. Click on the Zoom In to increase the magnification, and on Zoom Out to decrease the magnification. When you have reached the limit in either direction, the buttons will be grayed out.

You can also zoom in and out by clicking on the page itself. When the cursor looks like a magnifying glass, you can click on the page to increase the magnification. When you have reached the top level of magnification, the cursor will change back to an arrow. Click on the page to return to normal magnification.

Click on the Close button to return to the regular display.

Troubleshooting Printing Problems Some printer drivers may not be able to handle the FTS True Type fonts correctly in the default mode. When this happens, the printer driver substitutes other fonts for the FTS fonts, resulting in printed data that does not look like the data on the screen. Many printers have several options for handling True Type fonts.

Changing how your printer handles True Type fonts can often be done from the Printer Properties box. Printer Properties can be reached by choosing Printers from the Settings menu on the Start button, and then right-clicking on your printer and choosing Properties. It can also be reached

91 from the Print window within FTS. Click on the button labelled Properties next to the name of the printer in the Print window.

Every printer handles font substitution a little differently, and every printer puts the font settings in a different place. If you cannot easily find the font settings for your printer, please refer to your printer's documentation for help.

92 Exporting

Exporting Data

EXPORT The export feature allows you to export your capture files or capture buffer to text or binary format.

Text format is used to create readable text files, which can be printed as is or imported into database programs or spreadsheets. Binary format creates a binary file which can be transmitted by FTS or manipulated by a custom application. The file format for binary export files, along with sample C++ code, is available on our website.

1. To begin exporting, go to the Control or Event Display window, and choose Export from the File menu. 2. Select the Text Output radio button at the top of the window to create text files, and Binary Output to create binary files. 3. Select the fields you want included in the export file. Click on a field in the Available Fields box, and then click Add to add the field to the list of Displayed Fields. Note: When exporting to binary output, Decimal, Char/Event Name, Hexadecimal and Octal are the same. You only need to choose one. The Example box at the bottom of the window will show you what fields you have added and how they will look in the export file. The Example window uses dummy data, not actual data from your capture buffer. 4. Select a filename. The default filename for text files is export.txt for a capture buffer or capture_file_name.txt for a capture file. Similarly, default filenames for binary files end in a .bin extension. Underneath the file name, FTS will show you approximately how big the file will be, and what percentage of free disk space it will take up. 5. Click on the Export button to begin exporting. Depending on the amount of data to be exported, the export process may take some time.

By default, your export file will be saved in the My Capture Files directory. Click on the Browse icon if you want to save the export file to another location.

You can choose to export the entire capture buffer or just a portion of it. If you have the Event Display window open and have selected a range in it, the Export window will automatically fill in the range for you.

Export Fields Filter Out Options Templates Other Formatting Options Note on Exporting Baudot

EXPORT FIELDS Available fields are:

Byte Number number of the data byte Decimal decimal value of the data byte Char/Event Name character value of data bytes, or name of non-data bytes Errors includes any errors associated with bytes

93 Event Number number of the event (see Event Numbering for why Byte Number and Event Number may be different) Frame Number number of the frame the event is in Hexadecimal hexadecimal value of the data byte Octal octal value of the data byte Side shows which side the data byte originated from (valid only for serial data) Signals gives the state of the control signals (valid only for serial data) Timestamp shows the timestamp of the event Type shows whether event was Data or a Special Event (anything other than a data byte)

Note: When exporting to binary output, Decimal, Char/Event Name, Hexadecimal and Octal are the same. You only need to choose one.

EXPORTING BAUDOT When exporting Baudot, you need to be able to determine the state of the shift character. In a text export, the state of the shift bit can be determined by the data in the Character field. When letters is active, the character field will show letters and vice versa.

EXPORT FILTER OUT You can filter out data you don't want or need in your text file.

(This option is available only for serial data.) In the Filter Out box, choose which side to filter out: the DTE data, the DCE data or neither side (don't filter any data.) For example, if you choose the radio button for DTE data, the DTE data would be filtered out of your export file and the file would contain only the DCE data.

You can also filter out Special Events (which is everything that is not a data byte, such as control signal changes and Set I/O events), Nonprintable characters or both. If you choose to filter out Special Events, your export file would contain only the data bytes. Filtering out the nonprintable characters means that your export file would contain only special events and data bytes classified as printable. In ASCII, printable characters are those with hex values between $20 and $7e.

OTHER EXPORT OPTIONS Use Footer This option is valid only when doing a binary export. If you are exporting a capture file for the purpose of retransmitting the data, uncheck this box. If you will be manipulating the data using the sample export program, check this box. If the data is exported without the footer, the sample export program will not be able to read the export file.

Use Abbreviated Event Names Check this box to abbreviate the names of the Special Events. This is useful to conserve space in the text file.

Separate Records with CR/LF Specifies whether to separate each record with a carriage return/line feed. If this option is unchecked, the data will be output as a continuous stream.

Align Columns Check this box to have the columns be left-justified.

Put Fields in Double Quotes Check this box to put double quotes around the data in each field.

94 Output Header Includes a header at the top of the file with the date and time the file was exported, name of the original capture file or capture buffer, and the event numbers and timestamps for the range exported.

Output Field Name Record Includes a record at the top of the file with the field names.

Align Field Names with Data Aligns the field name column with the data columns.

Timestamp Format Sets the timestamp format. Native format is the month/day/year plus hour:minute:second:millisecond AM/PM in twelve hour format. For other formats, "D" stands for day, "H" stands for hour, "M" stands for minute, "S" stands for second and "m" stands for millisecond.

Character Set Choose ASCII, EBCDIC or Baudot. (See note on exporting Baudot.)

Signals Characters Defines how control signal states are indicated. Choose from 1/0, T/F, or X/space. "X", "1" and "T" indicate an "on" or "high" signal state.

Errors Characters Defines how error conditions are indicated. Choose from 1/0, T/F, or X/space. "X", "1" and "T" indicate that an error occurred.

Field Delimiter Defines how the fields will be separated. Choices are None (no delimiter will be used), Comma, Tab, Space, Bar and Semicolon. If a delimiter is chosen, FTS will include the delimiter between each field in the export file.

Exporting Frames

FRAME PRINT/EXPORT The Frame Print window allows you to print framed data and the Frame Export window allows you to export it to a text file suitable for importing into a spreadsheet or database program. These windows are very similar and so will be documented together.

Frame Print/Export has a number of formatting options. Some options are available only when exporting, others only when printing. Unavailable options will be grayed out.

The example space at the bottom of the window shows how the file will look. The example window uses dummy data instead of the data from your capture file.

• To export your data, open the Frame Display window and select Export from the File menu • To create a text file in an easily readable format, choose Print from the File menu, and select the Send to File option in the Output section. • To print your data, open the Frame Display window and choose Print from the File menu.

Make your selections from the range of options (for more info on each option, click on the links below), and then choose the range to output in the Output section. You can output the entire buffer or a smaller range of frames. If exporting to file, give the file a name. By default, exported

95 files are stored in the My Capture Files directory. Click the Browse icon to select a different directory location.

FRAME EXPORT FILE FORMAT The frame export file format is as follows, starting with the first column on the left:

Section marker By default, LSED, where L stands for Summary Label, S for Summary Data, E for Error and D for Decode. These markers can be changed in the General Formatting options.

Frame number The frame number assigned by FTS.

At this point, the columns vary depending on the section.

Summary Label - "L" marker

Label This is the same value as given in the column headers on the Summary pane of the Frame Display window. There is one label for each column.

Summary Data - "S" marker

Data For Summary Data, this is the value listed in the columns of the Summary pane. There is one value for every column given in the summary label section.

Error - "E" marker

Error Location Where the error occurred.

Error Type The type of the error (CRC, Framing, Parity, etc.)

Decode - "D" marker

Layer indent These numbers identify how far into the decode tree the field is. 0 (zero) is the top layer of the tree, 1 is one indentation to the right from the top layer, 2 is two indentations in from the top layer, etc.

Protocol Field The protocol name or protocol field name.

Field Value The value of the protocol field, if present.

Start of Field Offset [optional] The offset to the start of the field expressed in logical or physical bits.

Field Length [optional] The length of the field expressed in logical or physical bits.

Field Data [optional] The data bytes containing the field value.

GENERAL SECTION Begin with a file description - includes the capture file name at the start of the printout. This option is available only when printing.

96 Begin with all summary headers - includes the summary section header labels for every protocol at the start of the output.

GENERAL FORMATTING General formatting includes the field separator, line width and page height (used only when printing), and the marker to use for the summary header, summary data, errors and decode sections (used only when exporting).

SUMMARY SECTION First choose how many summary layers to include using the radio buttons. Choose All Layers means that the output will have a summary line for every protocol present in the frame. Visible Layer Only means that only the summary line currently selected in the Frame Display window will be included in the output, while No Summary Section means that no summary information will be included.

Check Per-frame header label section to include the header line from the summary pane above each frame.

Check Align Columns to align the summary columns (available only when printing).

SUMMARY FORMATTING The formatting option for the Summary section is the column width, used only when printing.

DECODE SECTION Choose All layers to output the decode for all layers present in the frame.

Choose Selected layers only if you want to output the decode for one or more specific layers and don't care about any other layers that may be present. Click the radio button for Selected layers only and then click each layer you want to include in the list box.

Choose No decode section if you don't want any decode information to be output.

DECODE FORMATTING Formatting options for the Decode section are the number of data bytes to display for each frame, and the number of data bytes per line. Decode formatting options are used only when printing, and not when exporting to file.

DECODE SECTION - DATA DISPLAY Append field linking info will include the start of each field as an offset from the start of the frame and its length in bits to the end of each line of the decode. The offset can be expressed in logical bits or physical bits (this may be the same depending on the protocol stack.)

Append field data bytes (available only when exporting) will include the data bytes for each layer of the decode at then end of the line. Change the radix used to represent the data in the Byte Display Radix box.

Show physical frame (available only when printing) will include all the physical data bytes for the frame at the start of the frame.

Show per-layer logical frame (available only when printing) will include the logical data bytes for each protocol layer in the decode.

97 ERROR SECTION Check Per-frame error section to include error information on each frame.

Check Show even if there are no errors to include the error section even if no errors are present (available only when printing).

Export Templates

EXPORT TEMPLATES Once you've set up an export format, you can save all your options as a template and use it for future exports.

• To create a template, set up all the options on the export window exactly as you want them to be in the template. • Type a name in the Apply Template box, and click Save Template. • To retrieve your template, click on the down arrow next to the Apply Template box, and choose your template from the list.

To delete a template, choose the template in the Apply Template box, and click the Delete Template button. There are several templates supplied with FTS that cannot be deleted.

98 Monitoring Internal Ports (Spy Mode)

Spy Mode Settings on the Set I/O Window Most of the settings on the Set I/O Configuration window are grayed out in Spy Mode because they will be determined by the application using the COM port. FTS will update these settings to reflect changes made by the application, allowing you to see the actual settings being used by the application.

If you are monitoring framed data, you will need to choose a protocol stack in order to ensure that the data is framed correctly. You can also choose whether to monitor both sides of the circuit, or just the DTE or DCE side.

You also have the option of choosing to monitor all incoming data, regardless of whether the application you are monitoring is running, or you can choose to monitor only when the application has opened the COM port and is actively communicating through the port. By default, FTS will monitor all data, all the time, which means that FTS may show captured data before you have opened your application. To monitor the port only when the application has opened it, check the Capture Only When Spied Port is Open box on the Set I/O Configuration window.

FIFOs and Spy The 8250 UART generates an interrupt every time a byte enters the UART. If the UART is receiving data at a high rate of speed, it will generate frequent interrupts which the central processor will have to deal with, leaving the central processor less time for other tasks. If the central processor cannot retrieve the bytes quickly enough, data will be lost as new data overwrites the information stored in the UART. The solution to this problem was the development of new UART chips that had buffers.

The 16550 UART, one of the most common UARTs currently in use, has a 16 byte buffer. The buffer operates on the First In, First Out (FIFO) principle. The first byte in the buffer will be the first byte to go out of the buffer. The buffer allows the UART to store bytes until a specified number of bytes have come in, at which point it generates an interrupt telling the central processor to retrieve the data. The ability to store bytes means that the UART is not generating as many interrupts, giving the central processor more time for other tasks.

There are two problems with the buffering system and Spy. One is that data may not be timestamped accurately, and the other is that control signal states may not be correct. FTS timestamps the byte and records the state of the control signals at the time it retrieves the byte from the UART. If the buffers are being used, an interrupt will not be generated until several bytes have already come in, possibly resulting in incorrect timestamps and signal states.

FTS solves the problem by telling the UART to generate an interrupt every time a byte comes in, but FTS cannot do this when operating in Spy. In Spy, the application being monitored has control of the UART and specifies how the buffers will be used. The result is that the captured data may not be completely accurate.

If you are using Spy, we recommend turning off the FIFOs on the UART if accurate recording of timestamps or control signal states is important.

99 System Settings and Program Options

System Settings Open the System Settings window by choosing System Settings from the Options menu on the Control window. To enable a setting, click in the box next to the setting to place a checkmark in the box. To disable a setting, click in the box to remove the checkmark. When viewing a capture file, settings related to data capture are grayed out.

Common Options

Wrap Buffer When enabled, FTS will wrap the buffer when it becomes full. The oldest events will be moved out of the buffer to make room for new events. Any events moved out of the buffer will be lost. This option also applies to capture files. When disabled, FTS will pause capture when the buffer becomes full. Either reset the buffer or close your capture file to continue.

Timestamping Options Opens the Timestamping Options window. Options include enabling or disabling timestamping and choosing capture and display resolutions.

Automatically Save Imported Capture Files in FTS Format When enabled, FTS will automatically save imported capture files in the FTS capture file format. See Loading Imported Files for more information.

Start up Opens the Start up Options window. Start up options let you choose whether to start data capture immediately on opening FTS.

Advanced Opens the Advanced System Options window. The Advanced Settings should only be changed on advice of technical support.

Buffer/File Tuning Options Capture Buffer Size (in K) Enter the maximum size of the capture buffer (data captured in memory). If you enter a number larger than the maximum allowable size, FTS will warn you and automatically set the size to the maximum allowable size.

File Size (in K) Enter the maximum size of the capture file. If you enter a number larger than the maximum allowable size, FTS will warn you and automatically set the size to the maximum allowable size.

Note: In both cases, FTS does not actually use 100% of available memory or disk space. By default, FTS will limit the maximum size of the buffer or file to 50% of the available resources. We strongly recommend not changing this percentage unless absolutely necessary. If you do need to use more resources, you can change the maximum percentage used in the Advanced Options window. Click on the Advanced button on the System Settings window. If you want to change the maximum percentage for the buffer, find the setting for Max Percent of Available Virtual Memory Used for Capture Buffer. If you want to change the maximum percentage for the file, find the setting for Max Percent of Free Disk Space for Capture File. Both of these settings are expressed as a percentage.

100 We strongly recommend not setting these options to 100%, as this will take all your system resources, leaving none for any other application.

Advanced System Options These parameters affect fundamental aspects of the software, and it is unlikely that you will ever have to change them. If you do change them and need to return them to their original values, the default value is listed in parentheses to the right of the value box. Most technical support problems are not related to these parameters, and as changing them could have serious consequences for the performance of FTS, we strongly recommend contacting technical support before changing any of these parameters.

To access the Advanced System Options, go to the Control window, and choose System Settings from the Options menu. On the System Settings window, click the Advanced button.

Max Percent Of Free Disk Space for Capture File This setting determines what percentage of free hard drive space can be used for the capture file. By default, FTS will limit the maximum size of the capture file to 50% of the available space on the hard drive. If you need to create a larger capture file than the current settings allow, increase this percentage. Then go back to the System Settings window and increase the maximum file size.

Max Percent Of Available Virtual Memory Used for Capture Buffer This setting determines what percentage of available virtual memory can be used for the capture buffer. By default, FTS will limit the maximum size of the buffer to 50% of the available virtual memory. Increasing this percentage will give you a larger capture buffer, but will leave less virtual memory available for other applications.

Driver Receive Buffer Size in Operating System Pages This is the size of the buffer used by the driver to store incoming data. This value is expressed in operating system pages. In Windows 95, an operating system page is 4K.

Driver Action Queue Size In Operating System Pages This is the size of the buffer used by the driver to store data to be transmitted. This value is expressed in operating system pages. In Windows 95, an operating system page is 4K.

Capture Buffer Read Cache Size In Kbytes Sets the size of the capture buffer cache. This setting is important when reading data. A larger buffer may mean faster read times.

Capture File Write-Through Cache Size In Pages Sets the size of the capture buffer write cache. This setting is important when writing data to disk.

Return Unused Space in Capture File When Closing (Yes/No answer) When FTS opens a capture file, it allocates as much disk space as it needs for the maximum capture file size. When the capture file is closed, FTS gives back any unused space. This process can take some time if the maximum capture file size is large. This setting is the threshold that determines if we give back unused space when the file is closed. The default value of "checked" means that FTS will always give back unused space. If unchecked, FTS will not return unused space, which may result in very large, mostly empty capture files.

101 Maximum Number of Bytes Decoded Per Frame This is the largest frame size that FTS will attempt to decode. This is used to prevent FTS from attempting to decode very large bad frames. This number should be large enough to ensure that the largest reasonable frame is handled completely.

Maximum Number of Bytes Used to Store Supplementary Capture File Information Sets the amount of space used to store supplementary information in the capture file. The default value is 100000 bytes.

Capture Buffer System Page Size Multiplier Data in a capture file is indexed by pages to allow for faster retrieval. The page size multiplier determines how often the file is indexed. The default value of 1 means that the capture file is indexed once every page, or once every 4K.

Non-Realtime Event Queue Size This is the queue for all non-realtime events.

Companion File Max Size Multiplier Protocol information is stored in a companion file. The amount of data to be stored may be more or less than the amount of data in the capture file. The companion file size multiplier specifies how large the companion file should be in relation to the capture file. A multiplier of two means that the amount of space allocated for the companion file will be twice the size of the capture file.

Changing Default File Locations FTS puts user files in specific locations by default. Capture files are placed in the My Capture Files directory and configurations are put in My Configurations. Follow the steps below to change the default locations.

1. Choose Directories from the Options menu on the Control window to open the File Locations window. 2. Select the default location you wish to change. 3. Click Modify. 4. Browse to a new location. Click OK. 5. Click OK when finished.

Start Up Options To open this window Choose System Settings from the Options menu on the Control window. On the System Settings window, click the Start Up button.

Choose one of the options to determine if FTS starts data capture immediately on starting up or not.

Don't start capturing immediately. This is the default setting. FTS begins monitoring data but does not begin capturing data until the Start Capture to Buffer or Start Capture to Disk icons on the Control, Event Display or Frame Display windows are clicked.

Start capturing to buffer immediately.

102 When FTS starts up, it will immediately begin data capture to the buffer. This is the equivalent of clicking the Start Capture to Buffer icon.

Start capturing to a unique file immediately. When FTS starts up, it will immediately open a capture file and begin data capture to it. This is the equivalent of clicking the Start Capture to Disk icon.

Prompt for a filename, then immediately start capturing. FTS will ask for a filename, then open a capture file with that name and begin capturing to it.

Start capturing immediately to the following file: Enter a filename in the box below this option. When FTS starts up, it will immediately begin data capture to that file. If the file already exists, the data in it will be overwritten.

Timestamping

TIMESTAMPING OPTIONS The Timestamping Options window lets you enable or disable timestamping, and change the resolution of the timestamps for both capture and display purposes.

To open this window Choose System Settings from the Options menu on the Control window, and click the Timestamping Options button, or click the click the Timestamping Options icon from either the Event Display or Frame Display window.

ENABLING/DISABLING TIMESTAMPING 1. Choose System Settings from the Options menu on the Control window, and click the Timestamping Options button, or click the click the Timestamping Options icon from either the Event Display or Frame Display window. 2. Check the Store Timestamps box to enable timestamping. Remove the check to disable timestamping. If you disable timestamping, you will not be able to do delta or rate calculations.

CHANGING THE TIMESTAMPING RESOLUTION 1. Choose System Settings from the Options menu on the Control window, and click the Timestamping Options button, or click the click the Timestamping Options icon from either the Event Display or Frame Display window. 2. Go to the Capture Options section of the window. 3. Change the resolution listed in the Storage Resolution box. Note that if you change the resolution, you will need to exit FTS and restart in order for the change to take effect.

This option affects the resolution of the timestamp stored in the capture buffer or capture file. The default timestamp is 10 milliseconds for Windows NT and Windows 2000 and 1 millisecond for Windows 95/98. These values are determined by the operating system and are the smallest "normal" resolutions possible for each operating system.

It is also possible to use "high resolution" timestamping. High resolution timestamp values are marked as high resolution in the drop down list. Note that high resolution timestamping may not be available on all Windows 9x systems.

103 SWITCHING BETWEEN RELATIVE AND ABSOLUTE TIME 1. Choose System Settings from the Options menu on the Control window, and click the Timestamping Options button, or click the click the Timestamping Options icon from either the Event Display or Frame Display window. 2. Go to the Display Options section at the bottom of the window and find the Display Relative Timestamps checkbox. 3. Check the box to switch the display to relative timestamps. Remove the check to return to absolute timestamps.

Display Relative Timestamps will show the timestamp as the amount of time that has passed since the first byte was captured. It works just like a stop watch in that the timestamp for the first byte is 0:00:00.0000 and all subsequent timestamps increment from there. The timestamp is recorded as the actual time, so you can flip back and forth between relative and actual time as needed.

The options in this section affect only how the timestamps are displayed on the screen, not how the timestamps are recorded in the capture file.

DISPLAYING FRACTIONS OF A SECOND 1. Choose System Settings from the Options menu on the Control window, and click the Timestamping Options button, or click the click the Timestamping Options icon from either the Event Display or Frame Display window. 2. Go to the Display Options section at the bottom of the window, and find the Number of Digits to Display box. 3. Click on the arrows to change the number. You can display between 0 and 6 digits to the right of the decimal point.

The options in this section affect only how the timestamps are displayed on the screen, not the resolution used to capture the data.

CLOCK DRIFT FTS uses a system call provided by Microsoft to determine the number of times that the PC's clock ticks per second. However, we have noticed that on the same machine, the number of clock ticks is different under Windows 9x than under Windows NT. On the system where we discovered this, the "tick delta" yields a clock drift between the two operating systems of 1 second every 11 days.

PERFORMANCE ISSUES FOR HIGH RESOLUTION TIMESTAMPS There are two things to be aware of when using high resolution timestamps. The first is that high resolution timestamps take up more space in the capture file because more bits are required to store the timestamp. Also, more timestamps need to be stored than at normal resolutions.

For example, if 10 bytes of data are captured in 10 milliseconds at a rate of 1 byte per millisecond, and the timestamp resolution is 10 milliseconds, then only one timestamp needs to be stored for the 10 bytes of data. If the resolution is 1 millisecond, then 10 timestamps will need to be stored, one for each byte of data. If you have two capture files, both of the same size, but one was captured using normal resolution timestamping and the other using high resolution, the normal resolution file will have more data events in it, because less room was used to store timestamps.

You can increase the size of your capture buffer or file in the System Settings.

104 The second issue is that using high resolution timestamping may affect performance on slower machines. Under Windows NT, FTS makes a system call to KeQueryPerformanceCounter to implement high resolution timestamping. The equivalent call in Windows 9x is VTD_Get_Real_Time. The note below is from Microsoft's Device Driver Kit (DDK) for Windows NT, but the same concept applies to Windows 9x.

Use this routine sparingly, calling it as infrequently as possible. Depending on the platform, KeQueryPerformanceCounter can disable system-wide interrupts for a minimal interval. Consequently, calling this routine frequently or repeatedly, as in an iteration, defeats its purpose of returning very fine-grained, running time- stamp information. Calling this routine too frequently can degrade I/O performance for the calling driver and for the system as a whole.

However, this note was written several years ago, and it does not define what is meant by frequently. No changes in performance have been noted in our tests as a result of using high resolution timestamping, but if you experience performance problems, try using a normal resolution for your timestamps.

105 Technical Info and Support

Contacting Technical Support

Technical support is available in several ways. The answers to many questions can be found in the online help. Frontline’s web site has documentation on common problems, as well as software upgrades and utilities to use with our products.

Web: http://www.fte.com, go to the Technical Support Area Email: [email protected] FTP: ftp.fte.com

If you need to talk to a technical support representative, support is available between 9am and 5pm, Eastern time, Monday through Friday. Technical support is not available on U.S. national holidays.

Phone: (434) 984-4500 Fax: (434) 984-4505

Performance Notes As a software-based product, the speed of your computer’s processor affects FTS’s performance. Overrun errors and buffer overflows are indicators that FTS is unable to keep up with the data. The information below describes what happens to the data as it comes in the port, what the two types of errors mean, and how various aspects of FTS affect performance. Also included are suggestions on how to improve performance.

Data captured by the serial port first goes into the buffer of the UART chip of the serial port. The UART generates an interrupt, which tells the FTS driver to check the port. The driver takes the data from the UART and counts each byte as they are put into the driver’s own buffer. The driver tells FTS that data is ready to be processed. FTS takes the data from the driver’s buffer and puts the data into the capture buffer.

Overrun errors occur when the data in the buffer of the UART is not retrieved before new data comes in. In this case, FTS knows that it has lost information but it does not know how much. FTS indicates overrun errors in the Event Display screen by marking a byte near the overrun in red. You can search for overrun errors using the Find feature.

Driver buffer overflow errors occur when the data in the buffer of the driver is not retrieved before new data comes in. Since the driver counts the bytes as it retrieves them from the UART, it not only knows that it has lost data, it also knows how much. Buffer overflows are indicated in the Event Display screen by a plus sign within a circle. Clicking on the buffer overflow symbol will show how many events have been lost. The Statistics window is an good place to check for buffer overflow errors.

Both overrun errors and buffer overflows indicate that data is coming in too quickly for FTS to process. There are several things that you can do to try and solve this problem.

1. In the Hardware Settings window, click on Enable UART FIFOs. This will increase performance at the cost of timestamp accuracy and possibly losing some control signal changes.

106 2. FTS’s number one priority is capturing data; updating windows is secondary. However, updating windows still takes a certain amount of processor time, and may cause FTS to lose data while the window is being updated. Some windows require more processing time than others, because the information being displayed in them is constantly changing. Refrain from displaying data live in the Event Display and Frame Display windows. Try closing the Breakout Box and Statistics windows. FTS can capture data with no windows other than the Control window open.

3. Increase the value of the window refresh rate for any windows you have open while capturing data. This will decrease the frequency of window updates, leaving more time for capturing data. Changing the refresh rate can be done from the Options screen in each window.

4. If you suspect or know that your circuit has control signals that are changing very rapidly, go to the Hardware Settings window and choose to Disable Control Signal Interrupts. This will prevent FTS from capturing control signal changes on an interrupt basis, giving more time for capturing byte data. (You can use the counters in the Breakout Box to help determine if a control signal is changing quickly.) FTS will still note the state of the control signals whenever a byte is captured. You must restart FTS for this change to take effect.

5. Close all other programs that are doing work while FTS is running. Refrain from doing searches in the Event Display window or other processor intensive activities while FTS is capturing data.

6. Timestamping takes up processor time, primarily not in timestamping the data, but in writing the timestamp to the buffer or file. Try turning off timestamping from the Timestamping Options window.

7. Capture to the buffer instead of capturing to disk. Writing data to the buffer is faster than writing to disk, allowing more time for capturing data.

8. Change the size of the driver buffer. This value is changed from the Advanced System Settings. Go to the Control Window and choose System Settings from the Options menu. Click on the Advanced button. Find the value labeled Driver Receive Buffer Size in Operating System Pages. Take the value listed there and double it.

NOTE: This procedure might help buffer overflow errors, but will not help overrun errors.

9. Slow down the speed of the communications circuit, if possible.

If you are still experiencing overruns and/or buffer overflows after trying all of the above options, then you may need to use a faster PC.

Note Concerning Ring Indicator The following information applies only if you are in Spy Mode or Source DTE, No Cables Mode. When using the cables supplied with FTS to capture or source data, Ring Indicator is routed to a different pin which generates interrupts normally.

There is a special case involving Ring Indicator (RI) and computers with 8250 UART s or UARTs from that family where the state of RI may not be captured accurately. Normally when a control signal changes state from high to low or low to high, an interrupt is generated by the UART, and FTS goes to see what has changed and record it. Ring Indicator works a little differently. An interrupt is generated when RI changes from high to low, but not when RI changes from low to high. If Ring Indicator changes from low to high, FTS will not know that RI has changed state

107 until another event occurs that generates an interrupt. This is simply the way the UART works, and is not a deficiency in the software.

To minimize the chance of missing a Ring Indicator change, FTS polls the UART every millisecond to see if RI has changed. It is still possible for FTS to miss a Ring Indicator change if RI and only RI changes state more than once per millisecond.

UARTs in the 8250 family include 8250s, 16450s, 16550s and 16550 variants. If you have any questions about the behavior of your UART and Ring Indicator, please contact technical support.

Event Numbering This section talks about how events are numbered when they are first captured and how this affects the display windows in FTS. The information in this section applies to frame numbering as well.

When FTS captures an event, it gives the event a number. If the event is a data byte event, it receives a byte number in addition to an event number. There are usually more events than bytes, with the result is that a byte might be listed as Event 10 of 16 when viewing all events, and Byte 8 of 11 when viewing only the data bytes.

The numbers assigned to events that are wrapped out of the buffer are not reassigned. In other words, when event number 1 is wrapped out of the buffer, event number 2 is not renumbered to event 1. This means that the first event in the buffer may be listed as event 11520 of 16334, because events 1-11519 have been wrapped out of the buffer. Since row numbers refer to the event numbers, they work the same way. In the above example, the first row would be listed as 2d00 (which is hex for 11520.)

The advantage of not renumbering events is that you can save a portion of a capture file, send it to a colleague, and tell your colleague to look at a particular event. Since the events are not renumbered, your colleague’s file will use the same event numbers that your file does.

How to Turn Off the FIFO Buffers in Windows 2000 1. Click on the Start button and choose Settings -> Control Panel. 2. Double-click on the System control panel icon. 3. Click on the Hardware tab, then click the Device Manager button (2nd button in the middle section). 4. Expand the Ports section, and double-click on the port you want to change to open the Port Properties. 5. Click on the Port Settings tab, followed by the Advanced button at the bottom of the screen. 6. Uncheck the box labeled Use FIFO buffers (requires 16550 compatible UART). 7. Click OK on all windows to close the windows. 8. Follow this same process to turn the FIFOs back on.

How to Turn Off the FIFO Buffers in Windows 95/98 1. Click on the Start button and choose Settings -> Control Panel. 2. Double-click on the System control panel icon. 3. Click on the Device Manager tab, and then double-click on the Ports listing. 4. You should now see a list of the COM ports on your machine. Click on the port you will be using Spy with, and then click on the Properties button at the bottom of the window. 5. Click on the Port Settings tab, followed by the Advanced button at the bottom of the screen. 6. Uncheck the box labeled Use FIFO buffers (requires 16550 compatible UART). 7. Click OK on all windows to close the windows. 8. Follow this same process to turn the FIFOs back on.

108 How to Turn Off the FIFO Buffers in Windows NT 1. Click on the Start button and choose Settings -> Control Panel. 2. Double-click on the Ports control panel icon. 3. Select the port you want to use Spy with, and then click the Settings button. 4. Click the Advanced button. 5. Uncheck the box labeled FIFO Enabled. 6. Click OK to close the windows. You will need to restart your computer for the changes to take effect. 7. Follow this same procedure to turn the FIFOs back on.

Troubleshooting the MLT and Serialtest Red bytes in FTS indicate errors. When using the MLT, the only errors should be overrun errors. These are not real overrun errors, but indicate a problem with the MLT, usually with the setup of the length parameter.

If you are receiving large numbers of errors that do not go away, check that the length selection on the Hardware Settings window matches the Length setting on the MLT. This occurs when the MLT is set for 7 bits and FTS is set for 8 bits.

If you are receiving clean data, but the data itself is not correct, check that the length selection on the Hardware Settings window matches the Length setting on the MLT. This problem occurs when FTS is set for 7 bits and the MLT is set for 8 bits. Also check that the data being monitored is not compressed or encoded.

If you are using a word length of 8 and the power to the MLT is cycled, you will see a group of errors right after the power is restored to the MLT. Subsequent data capture should appear normal. This occurs because the MLT sends out diagnostic messages on startup using a length of 7, and FTS interprets the data as errors when set for a length of 8.

If you start FTS while the MLT is already capturing data, you may see a small amount of data from one side that looks like garbage, followed by an overrun error and then correct data. This happens when the length on both FTS and the MLT is set to 8 bits, and FTS begins capturing in the middle of a byte. FTS usually solves this problem itself as soon as data is received from the second side of the circuit.

If the length on both FTS and the MLT are the same and are correct, and you see occasional overrun errors, this may indicate a bad MLT, a bad cable between the MLT and the computer, or a bad serial port. Contact Technical Support for assistance.

BPF Copyright Notice This copyright applies to code used in the filter feature. Filtering functionality in FTS is based on Berkeley Packet Filtering (BPF), which is implemented in the UNIX program tcpdump.

Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 The Regents of the University of California. All rights reserved.

This code is derived from the Stanford/CMU enet packet filter, (net/enet.c) distributed as part of 4.3BSD, and code contributed to Berkeley by Steven McCanne and Van Jacobson both of Lawrence Berkeley Laboratory.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

109 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

RS-232 Pin-outs

25-pin connector Pin Name Abbreviation 1 Frame Ground FG 2 Transmit Data TxD 3 Receive Data RxD 4 Request To Send RTS 5 Clear to Send CTS 6 Data Set Ready DSR 7 Signal Ground GND 8 Carrier Detect CD or DCD 20 Data Terminal Ready DTR 22 Ring Indicator RI 9-pin connector Pin Name Abbreviation 1 Carrier Detect CD or DCD 2 Receive Data RxD 3 Transmit Data TxD 4 Data Terminal Ready DTR 5 Signal Ground GND 6 Data Set Ready DSR 7 Request To Send RTS 8 Clear to Send CTS 9 Ring Indicator RI

110 The Serial Driver

THE FTS DRIVER FTS uses custom versions of the standard Windows serial drivers in order to capture data. How the drivers are loaded differs depending on the operating system. Click on the appropriate link below to find out more information for your operating system.

WINDOWS 95/98/ME DRIVER FTS uses a custom driver which is compatible with serial.vxd, the standard serial driver supplied with Windows 95/98/Me. The FTS driver is called serial9x.fts and is found in the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory.

When FTS starts, it checks the serial.vxd driver in the Windows\System directory to see if the driver is Frontline’s or not. If serial.vxd is not Frontline’s driver, FTS makes a backup copy of the driver called serialVXD.standard and puts it in the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory. It then copies serial9x.fts to the Windows\System directory and renames it serial.vxd.

If FTS finds that serial.vxd is actually Frontline’s driver, FTS displays a warning message explaining that Frontline’s driver is being used as the standard driver. The warning message lets you know that for one reason or another, Frontline’s driver was not removed from the Windows\System directory the last time FTS shut down.

To summarize, before FTS starts up, the driver in the Windows\System directory is called serial.vxd and usually is the standard driver supplied by Microsoft. This driver is approximately 19K in size. After FTS starts up, the driver in the Windows\System directory is still called serial.vxd, but is Frontline’s version of the driver, which is larger than Microsoft’s driver. In the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory are two files, serial9x.fts (another copy of the Frontline driver) and serialVXD.standard, which is the original driver.

When you exit FTS, this process is done in reverse, putting the original driver back into the Windows\System directory and removing Frontline’s driver. In this way, the Windows\System directory is kept clean. FTS keeps a copy of the original driver in the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory.

If the driver swap procedure does not complete normally, you might have to make sure that all drivers are back in the proper place. If the only problem is that the drivers never got switched on exiting, you can start FTS, note the warning message, and then exit normally. This will put your original driver back in the Windows\System directory.

If your original driver becomes corrupted, a copy of the driver is kept in the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory and is called serialVXD.standard. You can copy serialVXD.standard into your Windows\System directory and rename it serial.vxd. If your Frontline driver becomes corrupted, you can reinstall the software from the distribution disks, or call Frontline for assistance.

WINDOWS NT DRIVER FTS uses a custom driver which is compatible with serial.sys, the standard serial driver supplied with NT. The FTS driver is called serialnt.fts and is found in the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory.

In Windows NT, the serial driver is automatically started when NT starts. In order for Frontline's driver to be started, the standard driver must be "stopped" first. When FTS opens, it issues a

111 Stop command to the standard serial driver. If the stop is successful, FTS makes a backup copy of the standard driver, calls it serialsys.standard and puts it in the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory. It then copies serialnt.fts to the Winnt\System32\drivers directory and renames it serial.sys. Once Frontline's driver is in place, FTS issues the command to start the driver before bringing up the user interface.

When you exit FTS, this process is reversed. FTS stops Frontline's driver, puts the standard driver back into the Winnt\System32\drivers directory and starts the standard driver. In this way, the Winnt\System32\drivers directory is kept clean and the machine returned to its original state. FTS keeps a copy of your standard driver in the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory.

The above process is what occurs if no other applications are using the serial driver at the time FTS is opened or closed. However, if other applications are using the driver when FTS tries to stop it, things are more complicated.

If another application is using the serial driver when FTS issues the Stop command, NT will wait until the application using the driver is finished before executing the Stop. FTS checks to see if the driver has stopped before beginning the driver switch process. If FTS sees that the serial driver has not been stopped, it displays a message box saying that it was unable to stop the serial driver and then it will exit.

The complication is that once the Stop command is issued, there is no way to retract it. This means that when all applications are finished with the serial driver, NT will stop the driver. If you try to start FTS while another application is using the serial driver, FTS will issue the Stop command, see that the driver is still loaded and close itself, but the Stop command will still be executed when the other application is finished. In order to use any serial devices after this, you will have to manually restart the serial driver. Note that if you close the other application and restart FTS, it will recognize that there is no driver loaded, and go ahead and load its own.

Similarly, if you start FTS, and then start another application that uses the serial driver, both FTS and the other application will be using Frontline's driver. If you close FTS while the other application is still running, FTS will issue the Stop command to stop the Frontline driver and execute the driver switch. FTS checks to see if the Frontline driver has been stopped. If not, FTS displays a warning message. When the other application using the driver exits, NT will stop the serial driver. In order to use any serial devices after this, you will need to manually restart the serial driver. Note that if you restart FTS, it will recognize that there is no driver loaded, and go ahead and load its own.

Restarting the serial driver

1. Click on the Start button, and choose Settings -> Control Panel. 2. Double-click on the Devices icon. 3. Select the Device called "Serial" and then click the Start button.

If your original driver becomes corrupted, a copy of the driver is kept in the C:\Program Files\Frontline Test System II\[Product Name] directory and is called serialsys.standard. You can copy serialsys.standard into your Winnt\System32\drivers directory and rename it serial.sys. If your Frontline driver becomes corrupted, you can reinstall the software from the distribution disks, or call Frontline for assistance.

WINDOWS 2000 DRIVER FTS uses a custom driver which is compatible with serial.sys, the standard serial driver supplied with Windows 2000. The FTS driver is called serialnt.fts and is found in the C:\Program Files\Frontline Test System II\[Product Name]\Executables\Core directory.

112 Windows 2000 has a feature called System File Checker that prevents system critical files from being replaced. FTS uses a custom version of the standard serial driver in order to capture data with accurate timestamps and control signal information. In Windows 95/98 and NT, FTS swaps its driver in on startup and swaps it back out when exiting. The problem is that Windows 2000 considers the serial driver a system critical file, and will not allow FTS to replace it with the FTS serial driver. For Windows 2000, the solution is to make a backup copy of the Windows 2000 serial driver and then put the FTS driver in place and leave it there. The installation program for FTS knows how to do this. The FTS driver is compatible with the Windows 2000 driver and provides the same functionality, except for power management.

Installing Frontline's Driver

At the end of the FTS installation, a message box will appear saying that FTS has detected that it is being installed on a Windows 2000 system, and asking if you want to install the FTS serial driver. In order to run FTS serial products, you will need to choose Yes and allow FTS to install the FTS serial driver. You will need to reboot your computer twice before you can use FTS. The installation program will prompt you through the process.

If you need to install the serial driver after FTS has already been installed, go to the Start button and choose Programs -> [Product name or Name Selected by User at Installation] -> Windows 2000 Serial Driver Support -> Install FTS Serial Driver. This will install the serial driver and prompt you to reboot.

113 Handy Character Tables

ASCII CODES

EBCDIC CODES

114 BAUDOT CODES

COMMUNICATION CONTROL CHARACTERS Listed below in alphabetical order are the expanded text meanings for common ANSI communication control characters, and FTS’s two-character abbreviation for each one. Some abbreviations have forward slash characters between the two letters. This is to differentiate the abbreviations for a control character from a hex number. For example, the abbreviation for Form Feed is listed as F/F, to differentiate it from the hex number FF.

Abbreviation Control Text Character AK ACK Acknowledge BL BEL Bell BS BS Backspace CN CAN Cancel CR CR Carriage Return D/1-4 DC1-4 Device Control 1-4 D/E DEL Delete

115 DL DLE Data Link Escape EM EM End of Medium EQ ENQ Enquiry ET EOT End of Transmission E/C ESC Escape E/B ETB End of Transmission Block EX ETX End of Text F/F FF Form Feed FS FS File Separator GS GS Group Separator HT HT Horizontal Tabulation LF LF Line Feed NK NAK Negative Acknowledge NU NUL Null RS RS Record Separator SI SI Shift In SO SO Shift Out SH SOH Start of Heading SX STX Start of Text SB SUB Substitute SY SYN Synchronous Idle US US Unit Separator VT VT Vertical Tabulation

116 Glossary

BUFFER WRAPPING When the capture buffer becomes full, the oldest events captured are pushed out of the buffer to make room for new events. This is called buffer wrapping, and events are referred to as having been "wrapped" out of the buffer. Any events wrapped out of the buffer are lost and cannot be recovered. Capture files also wrap when they become full. Turn wrap off in the System Settings.

CAPTURE BUFFER FTS can capture data either to memory or to a file on disk. The capture buffer is where FTS stores data in memory. Capturing data to memory is faster than capturing to disk, but capture buffers tend to be smaller than files simply because there is usually more disk space than memory on most computers. Also, data captured to buffer will be lost if not saved to a file before FTS is exited.

CD - CARRIER DETECT Control signal most commonly used by the DCE device to indicate that it has carrier. On RS-232 circuits, CD is usually assigned to pin 8. CD is sometimes called DCD, which stands for Data Carrier Detect.

CRC ERROR A CRC error means that the CRC carried in the data did not match the CRC calculated by the hardware. CRC errors indicate that data was damaged in transmission.

CTS - CLEAR TO SEND Control signal most commonly used by the DCE device to indicate that it is ready to accept data. On RS-232 circuits, CTS is usually assigned to pin 5. CTS is often used in conjunction with RTS for hardware flow control.

DCE DEVICE DCE stands for Data Communications Equipment. A DCE device is any device that transmits data on pin 3 and receives data on pin 2 using a standard DB25 pin connector. On a 9 pin connector, data is transmitted on pin 2 and received on pin 3.

An example of a DCE device is a modem.

DRIVER BUFFER OVERFLOW Driver buffer overflows occur when the driver has retrieved data from the buffer of the hardware, but FTS cannot put the data in the capture buffer before the data in the driver buffer is overwritten by new data. In the case of a driver buffer overflow, FTS not only knows it has lost data but knows how much.

These errors do not indicate a problem on the circuit, but instead mean that the processing power of the PC is inadequate to keep up with the speed of the data. If you are seeing driver buffer overflow errors, the solution is to run on a faster PC, slow down the data rate, use a capture filter or a combination of these.

DSR - DATA SET READY Control signal most commonly used by the DCE device to indicate that it is on and ready. On RS-232 circuits, DSR is usually assigned to pin 6.

117 DTE DEVICE DTE stands for Data Terminal Equipment. A DTE device is any device that transmits data on pin 2 and receives data on pin 3 using a standard DB25 pin connector. On a 9 pin connector, data is transmitted on pin 3 and received on pin 2.

An example of a DTE device is a personal computer. Most devices, with the exception of modems, are DTE devices.

DTR - DATA TERMINAL READY Control signal most commonly used by the DTE device to signal that it is on and ready. On RS- 232 circuits, DTR is usually assigned to pin 20.

EVENT An event is anything that happens on the circuit or which affects data capture. Data bytes, control signal changes, and long and short breaks are all events, as are Set I/O Configuration changes and Data Capture Paused and Resumed. See List of All Event Symbols for a list of all the special events shown in FTS and what they mean.

FRAME RECOGNIZER The frame recognizer is the portion of the software that "recognizes" when a frame begins and when it ends. The frame recognizer inserts special markers in the capture file whenever it sees a Start of Frame or End of Frame byte sequence, and these markers allow the protocol decodes to correctly identify the frames. Data is run through the frame recognizer at the time it is captured and only if a protocol that frames data has been selected. In some cases it is possible to frame unframed data after it has been captured.

FRAME TRANSFORMATION Frame transformation is the process of adding, removing or altering the physical bytes in a frame as necessary to get the frame into a state where it can be decoded. For example, in Async PPP, frame transformation removes escape characters and alters the next byte appropriately. In frames carrying Van Jacobsen Compression (VJC), frame transformation reconstructs the IP header so that it may be decoded properly. The end result of frame transformation is the logical frame.

HARDWARE FLOW CONTROL Also called "Hardware Handshaking". Flow control is the process of controlling the amount of data received by a device. Usually it is the DCE device that must control the amount of data it receives from the DTE device. As an example, if the DCE is a modem and the DTE is a computer, the computer can transmit data at a much higher rate than the modem can send it out on the phone line. Hardware flow control uses a pair of wires to accomplish this. The two most frequently used pairs are RTS/CTS and DTR/DSR. This explanation will use RTS/CTS, but the principles apply to DTR/DSR as well. The DTE device raises RTS when it is ready to send data. The DCE device raises CTS when it is ready to receive data. The DTE sends data only when CTS is high. When the DCE device cannot accept any more data, it lowers CTS, and the DTE responds by halting data transmission.

FIFO BUFFERS FIFO stands for First In, First Out. Early UARTs did not have buffers, which means that as soon as a byte was received, the UART generated an interrupt and the central processor retrieved the byte. Most UARTs today have buffers which allow them to receive and store a set number of bytes before interrupting the central processor, giving the central processor more time for other

118 tasks. These buffers are usually First In, First Out, which means that the first byte stored in the buffer is the first one out of the buffer. A UART overrun error occurs when the central processor does not retrieve the data from the buffer in time, and the old data is overwritten with new data.

FRAMING ERROR Framing errors occur when the stop bit did not arrive at the expected time. These may indicate a problem on the circuit, or may indicate a problem with the configuration of FTS. If you are seeing a large number of framing errors, check the word length, baud, parity and stop bit settings in the Set I/O Configuration window.

LOGICAL FRAME The data in a frame after it has been transformed. The logical frame is displayed on the Frame Display window Logical Data panes, and is used when applying display filters. Usually the logical and the physical frames are the same. Cases where they are not include frames with escape characters or compressed headers.

OVERRUN ERROR An overrun error occurs when FTS is unable to retrieve data from the buffer on the chip controlling the port (the UART or USART) before it is overwritten by new data. In this situation, FTS knows it has lost data, but does not know how much.

These errors do not indicate a problem on the circuit, but instead mean that the processing power of the PC is inadequate to keep up with the speed of the data. If you are seeing overrun errors, the solution is to run on a faster PC, slow down the data rate, use a capture filter or a combination of these.

PARITY ERROR Parity errors occur when one or more bits have been damaged in transmission. On serial circuits using parity, a parity bit is added to the end of the byte, which is used in a simple form of error checking to verify that the byte is correct. Parity errors may indicate a problem on the circuit, or may indicate a problem with the configuration of FTS. If you are seeing a large number of parity errors, check the word length, baud, parity and stop bit settings in the Set I/O Configuration window.

PHYSICAL FRAME The data in a frame before it has been transformed. The physical frame is displayed on the Frame Display window Event Data pane and in the Event Display window, and is used when applying capture filters. Usually the logical and the physical frames are the same. Cases where they are not include frames with escape characters or compressed headers.

RADIX The base of a number system. Binary is base 2, octal is base 8, decimal is base 10 and hexadecimal is base 16.

RI - RING INDICATOR Control signal most commonly used by the DCE device to indicate a ringing condition on a phone line. On RS-232 circuits, RI is usually assigned to pin 22. RI is sometimes called CI, which stands for Call Indicator.

119 RS-232 RS-232 is shorthand for Recommended Standard #232. This is a widely used standard for serial communications defining the physical characteristics of the serial interface and cables.

RTS - REQUEST TO SEND Control signal most commonly used by the DTE device to indicate that it has data to send. On RS-232 circuits, RTS is usually assigned to pin 4. RTS is often used in conjunction with CTS for hardware flow control.

SNAPSHOT If you opened the Signal Display while capturing data, a snapshot consists of the events in the buffer at the time the Signal Display was opened. If you are viewing a capture file and are not actively capturing data, then a snapshot consists of all the events in the capture file.

SOFTWARE FLOW CONTROL Also called "Software Handshaking". Flow control is the process of controlling the amount of data received by a device. Usually it is the DCE device that must control the amount of data it receives from the DTE device. As an example, if the DCE is a modem and the DTE is a computer, the computer can transmit data at a much higher rate than the modem can send it out on the phone line. Software flow control uses a pair of characters sent as part of the data stream to accomplish this. The two most frequently used characters are 0x11 to indicate XON - Transmit On, and 0x13 to indicate XOFF - Transmit Off. One problem of using software flow control is that you must ensure that the XON/XOFF characters are never used in any other part of the data stream. The DCE device sends an XON when it is ready to receive data. The DTE sends data only after it has received an XON character. When the DCE device cannot accept any more data, it sends an XOFF character, and the DTE responds by halting data transmission.

UART Universal Asynchronous Receiver Transmitter. This is the chip that controls the serial port.

UNDERRUN ERROR An underrun error means that the software was not able to keep the output buffer full, resulting in an unwanted gap between bytes sent. This is a problem only when running in synchronous mode. Underrun errors occur when the processing load is too great for the processing power of the PC. If you are seeing underrun errors, the solution is to run on a faster PC, slow down the data rate, or both.

120 Index $ $ Hex Character in Searching: ...... 76 & & Binary Character in Searching: ...... 76 ? ? Wildcard Character in Searching:...... 76 ^ ^ Control Character in Searching: ...... 76 A Absolute Time Search: ...... 76 Absolute Timestamp Search: ...... 77 Absolute Timestamps: ...... 104 Adding a New Predefined Stack...... 38 Advanced System Settings:...... 101 Aggregate Graphs: ...... 44 Apply Display Filter:...... 78 Arrow Symbol: ...... 48 ASCII character set ...... 114 removing the numbers on the Event Display...... 51 searching for ASCII strings...... 75 transmitting in ...... 64 viewing data in ...... 50 ASCII Pane: ...... 56 ASCII: ...... 50, 51, 75, 114 Auto Detect Now:...... 14 Automatically Save Imported Capture Files in FTS Format: ...... 100 Auto-Sizing Column Widths:...... 58 Auto-traversal ...... 36 B Bar Charts:...... 44 Baud defining a custom baud ...... 33 Baud: ...... 33 Baudot character set ...... 115 exporting ...... 94 removing the numbers on the Event Display...... 51 transmitting in ...... 64 viewing data in ...... 50 Baudot: ...... 50, 51, 115 Binary removing the characters on the Event Display...... 51 searching for...... 75, 76 transmitting in ...... 64

121 viewing data in binary ...... 50 Binary Export: ...... 93 Binary Pane: ...... 56 Binary:...... 50, 51, 75, 76 Bit Order: ...... 33 Bit Reversal: ...... 33 Blue Dots in Summary Pane: ...... 58 BPF Filter copyright notice...... 109 filter string definition...... 84 BPF Filter Strings for Serial Data: ...... 81 BPF Filter:...... 81, 84, 109 BPF Format: ...... 82 Breakout Box changing the window refresh rate...... 61 choosing indicators...... 61 choosing which signals to display...... 61 control signals monitored...... 60 freezing the display...... 60 options ...... 61 reading the display...... 60 resetting the display...... 60 toolbar...... 60 Breakout Box: ...... 60, 61 Buffer changing capture buffer size ...... 100 saving a portion of ...... 89 wrap setting ...... 100 Buffer Information Table: ...... 44 Buffer Tab: ...... 42 Buffer: ...... 89, 100 Burst Delay: ...... 68 Burst Size: ...... 68 Byte Colors: ...... 59 Byte Errors:...... 55 Byte Number Export Field: ...... 93 Bytes calculating CRC for...... 48 go to byte number...... 70 numbers...... 108 show bytes in frames...... 57 switching number sets ...... 50 Bytes:...... 48, 50, 57, 108 C Cable Configuration dual port monitor mode...... 26 dual port source DCE mode ...... 27 dual port source DTE mode...... 27 single port monitor DCE mode ...... 28 single port monitor DTE mode...... 29 single port source DCE mode...... 29 single port source DTE mode ...... 30 Cable Configuration:...... 26, 27, 28, 29, 30 Cables auto detection of ...... 14

122 connecting to your computer ...... 26 included with FTS ...... 26 notify of cable detection failure ...... 14 Cables:...... 14, 26 Calculating Data Rates:...... 48 Calculating Delta Times:...... 48 Capture Buffer advanced settings...... 101 changing size of...... 100 saving a portion of the buffer to file ...... 89 saving to file...... 89 starting capture ...... 40 turn off clear buffer warning...... 41 Capture Buffer Size: ...... 100 Capture Buffer: ...... 40, 89, 100, 101 Capture Files auto-save imported files in FTS format ...... 100 changing default location of...... 102 changing max size of...... 100 changing maximum size of ...... 101 export to a binary format...... 93 export to text format...... 93 framing captured data...... 37 importing DOS timestamps...... 90 loading ...... 90 loading Serialtest for DOS files...... 90 reframing...... 37 removing framing markers...... 37 saving a portion of a file to another file...... 89 starting capture to file ...... 41 transmitting ...... 66 Capture Files: ...... 41, 66, 89, 90, 93, 100, 101, 102 Capture Filters remove...... 79 Capture Filters: ...... 79 Capturing Data how to ...... 17 Capturing Data To Buffer:...... 40 Capturing Data To Disk: ...... 41 Capturing Data:...... 17 Changing Default File Locations:...... 102 Char/Event Name Export Field:...... 93 Character control character abbreviations ...... 115 searching for...... 75 Character Pane:...... 56 Character Set ASCII ...... 114 Baudot ...... 115 EBCDIC ...... 114 removing the numbers on the Event Display...... 51 setting for export files...... 94 switching in the Event Display...... 50 Character Set:...... 50, 51, 94, 114, 115 Character Strings in Searching:...... 75 Character: ...... 75

123 Chars Per Second Table: ...... 44 Charts: ...... 44 Clear Capture Buffer Warning: ...... 41 Clock Drift: ...... 104 Color of Data Bytes:...... 59 Colors: ...... 59 Column Width: ...... 58 Com Ports configuration of ...... 11 spying on ...... 12 Com Ports:...... 11, 12 Communication Control Character Abbreviations: ...... 115 Conditions conversation ...... 80 custom filter strings...... 81 deleting ...... 82 modifying ...... 82 naming condition sets...... 79 node...... 80 offset ...... 81 open filter file ...... 88 pattern...... 81 protocol ...... 80 saving ...... 88 Conditions:...... 79, 80, 81, 82, 87, 88 Configuration cable configuration...... 26 com ports ...... 11, 12 export templates ...... 98 open...... 35 save ...... 35 Configuration: ...... 26, 35, 98 Configuring FTS to Monitor Internal Ports:...... 24 Connecting Without Using The Cable Set...... 30 Control Character Abbreviations: ...... 115 Control Characters searching for...... 76 transmitting ...... 65 Control Characters:...... 64, 76 Control Signal Interrupts disabling...... 11, 14 Control Signal Interrupts:...... 11, 14 Control Signal Symbols: ...... 48 Control Signals changing in transmit mode ...... 67 changing names of ...... 34 changing signals shown in Signal Display window...... 63 disabling capture of ...... 11 disabling interrupts...... 14 displaying captured signals ...... 61 monitoring live in the Breakout Box...... 60 searching for changes ...... 72 setting export format for...... 94 signals export field...... 93 viewing signal states...... 61 Control Signals: ...... 14, 15, 34, 60, 61, 67, 72

124 Control Window minimizing...... 9 System Settings...... 100 toolbar...... 39 Control Window: ...... 9, 39, 100 Conversation Filters:...... 80 Converter to RS-232...... 30 Converting Files to FTS Format: ...... 90 Copying DTE Parameters to DCE: ...... 33 Copying Statistics to Clipboard:...... 42 CRC calculating...... 48 calculating in MSB bit order mode...... 33 seed value ...... 48 CRC Errors searching for...... 71 CRC Errors: ...... 71 CRC: ...... 48 CRC16: ...... 48 Create Conversation Filter:...... 80 Create Custom Filter tcpdump string format...... 82 Create Custom Filter:...... 81, 82 Create Custom Protocol Stack ...... 36 Create Node Filter: ...... 80 Create Offset Filter: ...... 81 Create Pattern Filter: ...... 81 Create Protocol Filter:...... 80 Custom Baud: ...... 33 Custom Filter tcpdump string format...... 82 Custom Filter: ...... 81, 82 Custom Protocol Stack ...... 36 Custom Protocol Stack Setup...... 36 Customizing Fields in the Summary Pane: ...... 58 D D/1 ...... 115 D/2 ...... 115 D/3 ...... 115 D/4 ...... 115 D/E...... 115 data how to begin capturing ...... 17 Data ...... 116 calculating data rates...... 48 capturing in Spy...... 12 exporting to generic format...... 93 filtering out data when exporting...... 94 go to byte number...... 70 printing ...... 91 reframing...... 37 removing framing markers...... 37 saving ...... 89 saving the capture buffer ...... 89 switching number sets ...... 50

125 Data Capture how to capture data to buffer...... 40 starting capture to disk ...... 41 when to start capture ...... 102 Data Capture: ...... 40, 41, 102 Data Rates:...... 48 Data Table: ...... 43 Data: ...... 12, 17, 37, 48, 50, 70, 89, 91 Datadifferent ...... 115 DCE Data filtering out of an export file ...... 94 DCE Data:...... 94 DCEdifferent ...... 115 Decimal decimal export field...... 93 removing the characters on the Event Display...... 51 viewing data in ...... 50 Decimal:...... 50, 51, 93 Decode ...... 115 Decode Formatting ...... 97 Decode Pane: ...... 55 Decodes choosing ...... 34 searching for strings ...... 74 viewing protocol decodes ...... 52, 55 Decodes:...... 34, 52, 55, 74 Default File Locations: ...... 102 Define Conversation Filter: ...... 80 Define Custom Filter:...... 81 Define Node Filter:...... 80 Define Offset Filter:...... 81 Define Pattern Filter:...... 81 Define Protocol Filter: ...... 80 Delays:...... 68 Delete Conditions: ...... 82 Delta Times:...... 48 Detect Cables: ...... 14 Detect Now: ...... 14 Direct Connect to Serial Ports ...... 30 Directories:...... 102 Display Entire Buffer:...... 61 Display Filters applying ...... 78 remove...... 79 Display Filters: ...... 78, 79 Displaying Named Filters:...... 79 Dots: ...... 58 Double Arrow Symbol:...... 48 Driver Windows 2000 ...... 112, 113 Windows 95/98 ...... 111 Windows NT ...... 111 Driver: ...... 111, 112 DTE Data filtering out of an export file ...... 94 DTE Data: ...... 94

126 DTR/DSR Flow Control:...... 33 Duplicate View Event Display...... 48 Frame Display...... 54 Duplicate View: ...... 46, 48, 54 E E/B ...... 116 E/C...... 116 EBCDIC character set ...... 114 removing the numbers on the Event Display...... 51 searching for EBCDIC strings...... 75 viewing data in ...... 50 EBCDIC: ...... 50, 51, 75, 114 Enable UART FIFOs:...... 15 Enabling/Disabling Timestamping: ...... 103 Errors buffer overflow ...... 106, 107 changing names of ...... 34 errors export field...... 93 red color used for...... 55 searching for...... 71 setting export format for...... 94 when monitoring an MLT ...... 109 Errors Graph: ...... 44 Errors Table: ...... 43 Errors: ...... 34, 55, 71, 106 Escape Character in Searching:...... 75 Ethernet MAC Address Filter:...... 80 Event Display calculating data rates...... 48 calculating delta times ...... 48 changing the default position of the selection ...... 75 changing the font size...... 51 control character abbreviations ...... 115 CRC ...... 48 duplicating...... 46 event numbers...... 108 event symbols...... 48 Find function ...... 70 freeze/resume...... 47 freezing ...... 46 opening multiple Event Displays...... 48 overview...... 46 printing ...... 91 removing symbol characters...... 51 saving data ...... 89 searching ...... 70 switching character set ...... 50 switching number set...... 50 synchronization with Frame Display...... 55 toolbar...... 46 viewing only characters ...... 51 viewing only numbers ...... 51 Event Display:...... 46, 47, 48, 50, 51, 55, 70, 75, 89, 91, 108

127 Event Pane: ...... 57 Events event number export field ...... 93 filtering out of an export file ...... 94 go to event ...... 70 numbers...... 108 printing ...... 91 save selection ...... 89 saving ...... 89 searching for...... 74 Events:...... 70, 74, 89, 91, 108 Expand All/Collapse All: ...... 55 Expand Decode Pane:...... 54 Export export fields ...... 93 filtering ...... 94 format options ...... 94 frame export file format...... 96 frames...... 95 templates ...... 98 Export Fields:...... 93 Export Records separating ...... 94 Export Records:...... 94 Export: ...... 93, 95, 96 F F/F ...... 115, 116 FCS calculating...... 48 FCS Errors searching for...... 74 FCS Errors:...... 74 FCS:...... 48 Field Delimiter:...... 94 Field Names aligning with export data...... 94 exporting ...... 94, 95 Field Names:...... 94 Field Width:...... 58 FIFO Buffer Info:...... 15 FIFO Buffers Enable UART FIFOs option...... 15 turning off in Win 2000...... 108 turning off in Win 95/98...... 108 turning off in Win NT...... 109 use in Spy...... 99 FIFO Buffers: ...... 15, 99, 108, 109 File changing capture file size ...... 100 open filter file ...... 88 opening a capture file ...... 90 save filters...... 87 saving a portion of a capture file to another file...... 89 transmitting ...... 66 transmitting FTS files...... 66

128 File Locations changing defaults...... 102 File Locations:...... 102 File Types Supported:...... 90 File: ...... 66, 87, 88, 89, 90, 100 Filter Definition:...... 78 Filter Layer Label:...... 79 Filter String Formats: ...... 82 Filter String: ...... 78 Filtering from the Frame Display: ...... 54 Filters conversation ...... 80 creating ...... 78 custom ...... 81 deleting conditions...... 82 display filters ...... 78 export...... 94 filter string definitions...... 84 filters and multiple Frame Displays...... 54 how filtering on serial data works ...... 80 modifying conditions ...... 82 naming ...... 79 node...... 80 offset ...... 81 open filter file ...... 88 overview...... 78 pattern...... 81 protocol ...... 80, 81 removing ...... 79 save to file...... 87 serial data filters...... 79 show filters in use ...... 79 tcpdump ...... 81 Filters: ...... 54, 78, 79, 80, 81, 82, 84, 87, 88, 94 Find binary value ...... 75 character string ...... 75 control signal change...... 72 CRC errors...... 74 data errors ...... 71 errors ...... 71, 72 event ...... 74 event number...... 70 FCS errors ...... 74 frame errors ...... 74 framing errors ...... 71 go to frame number ...... 70 hex value ...... 75 how to ...... 70 overrun errors ...... 71, 72 overview...... 70 parity errors...... 71 pattern...... 75 special event...... 74 string ...... 75 strings in decodes...... 74

129 timestamp ...... 76 underrun errors...... 71 using wildcards ...... 75 Find:...... 70, 71, 72, 74, 75, 76 Flag Symbol:...... 48 Flow Control when transmitting...... 67 Flow Control:...... 33, 67 Font Size changing ...... 51 Font Size:...... 51 Fonts troubleshooting printing of ...... 91 Fonts:...... 91 Fractions Of A Second changing number of digits to display ...... 104 Fractions Of A Second: ...... 104 Frame Check Sequence Errors searching for...... 74 Frame Check Sequence Errors: ...... 74 Frame Display Binary Pane ...... 56 changing column widths ...... 58 changing protocol layer colors...... 59 Character Pane...... 56 color of the data bytes ...... 59 Decode Pane ...... 55, 56 difference between the Event Pane and other panes ...... 55 display filters ...... 78 duplicating...... 54 Event Pane ...... 57 Filter Layer label ...... 79 filtering ...... 78 filtering from ...... 54 Find function ...... 70 freeze/resume...... 47 Hex Pane ...... 56 Radix Pane ...... 56 removing columns ...... 58 saving data ...... 89 searching ...... 70 sorting ...... 53 Summary Pane ...... 57 synchronization with Event Display ...... 55 working with panes ...... 54 Frame Display:...... 47, 52, 54, 55, 57, 59, 70, 78, 79, 89 Frame Errors searching for...... 74 Frame Errors:...... 55, 74 Frame Export File Format...... 96 Frame Export: ...... 95 Frame Number Go To...... 70 Frame Number:...... 70 Frame Print/Export:...... 95 Frame Size Ranges:...... 42

130 Frame Sizes Graph:...... 44 Frame Sizes Table:...... 43 Frame Symbols in the Summary Pane:...... 58 Frames calculating FCS...... 48 displaying frame information...... 52 frame number export field...... 93 go to frame number ...... 70 numbers...... 108 offset filter ...... 81 save selection ...... 89 saving ...... 89 searching for frame errors ...... 74 sorting ...... 53 Frames Per Second Table:...... 44 Frames:...... 48, 52, 70, 74, 81, 89, 108 Framing reframing data...... 37 removing framing markers...... 37 Framing Error:...... 43 Framing Errors searching for...... 71 Framing Errors:...... 71 Framing:...... 37 Freeze Event Display...... 47 Frame Display...... 47, 48 Freeze:...... 47 Frontline Technical Support...... 106 Frontline:...... 106 FTS Control: ...... 39 FTS Driver: ...... 111 G General Formatting...... 97 Go To byte number...... 70 event number...... 70 frame number ...... 70 timestamp ...... 77 Go To Event:...... 70 Go To Frame: ...... 70 Go To:...... 70, 76 Graph Options: ...... 45 Graph Printing:...... 45 Graphing errors ...... 44 frame sizes ...... 44 Graphing: ...... 44 Graphs view actual value ...... 44 view as percentage...... 44 view legend...... 44 Graphs: ...... 44 Green Dots in Summary Pane:...... 58

131 H Handshaking:...... 33 Hardware connecting cables...... 26 Hardware Settings window ...... 11 Hardware Flow Control:...... 33 Hardware Handshaking: ...... 33 Hardware Settings auto cable detection...... 14 Hardware Settings window ...... 11 Info button...... 16 notify if auto cable detect fails ...... 14 Serialtest Async + Spy Settings ...... 11 Source DTE No Cables mode...... 13 Spy...... 12, 13 Hardware Settings: ...... 11, 13, 14 Hardware: ...... 26 Hex removing the characters on the Event Display...... 51 searching for...... 75, 76 transmitting in ...... 64 viewing data in hex ...... 50 Hex: ...... 50, 51, 75, 76 Hexadecimal Export Field:...... 93 Hexadecimal Pane:...... 56 High resolution timestamping performance issues ...... 104 High Resolution Timestamping:...... 103 I Icons in Data on Event Display:...... 48 Importable File Types: ...... 90 Info Button: ...... 15 Internal Modems monitoring ...... 12, 13 testing using Source DTE No Cables Mode...... 13 Internal Modems:...... 13 Interrupts disabling control signal interrupts ...... 14 Interrupts:...... 14 Introduction: ...... 9 IP Address Filter: ...... 80 L Layer Colors: ...... 59 Least Significant Bit First: ...... 33 Link Keyword in Filtering: ...... 81 Live Update:...... 47 Load Filter File: ...... 88 Logical Bytes: ...... 55 LSB First: ...... 33

132 M MAC Address Filter:...... 80 Main Window: ...... 39 Max Burst Size:...... 68 Minimize Control Minimizes All:...... 9 Minimizing Windows: ...... 9 Mixed Sides: ...... 51 MLT setup ...... 13, 14 troubleshooting ...... 109 MLT:...... 13 Modem Lead Names: ...... 34 Modem Leads changing while transmitting ...... 67 disabling modem lead interrupts...... 14 monitoring modem lead states ...... 60 searching for signal changes...... 72 viewing modem leads ...... 61 Modem Leads: ...... 14, 60, 61, 67, 72 Modem Line Tap Device:...... 13 Modify Filters: ...... 82 Monitor Mode:...... 32 Monitoring cable configuration for dual-port monitoring ...... 26 cable configuration for single-port monitoring of DCE device ...... 28 cable configuration for single-port monitoring of DTE device...... 29 Monitoring: ...... 26, 28, 29 Most Significant Bit First: ...... 33 MSB First: ...... 33 Multiple Event Displays: ...... 48 Multiple Frame Displays: ...... 54 N N ...... 115 n/a:...... 42 Name Filters viewing a list of named filters...... 79 Name Filters: ...... 79 Names: ...... 34 New Snapshot: ...... 61 Node Filters: ...... 80 Nonprintables filtering out of an export file ...... 94 Nonprintables:...... 94 Notify if Auto Cable Detection Fails:...... 14 Number Set removing the characters on the Event Display...... 51 switching in the Event Display...... 50 Number Set:...... 50, 51 Numbers: ...... 108 O Octal octal export field...... 93 Octal: ...... 93

133 Offset Filter: ...... 81 Open 2nd Event Display...... 48 capture file ...... 90 files in other formats ...... 90 Set I/O configuration...... 35 Open Filter File: ...... 88 Open: ...... 35, 48, 90 Operating Mode:...... 32 Options Advanced System Settings...... 101 Breakout Box ...... 61 Data Capture ...... 102, 103 Frame Size Ranges...... 42 Graphs ...... 45 Signal Display options ...... 63 Start Up...... 102 System...... 100, 101 Timestamping ...... 103 Transmit...... 69 Options: ...... 42, 45, 61, 63, 69, 100, 102, 103 Overrun Errors searching for...... 71 troubleshooting ...... 106 UART overrun...... 15 when monitoring an MLT ...... 109 Overrun Errors:...... 15, 71 Overview:...... 17 P Panes closing...... 54 resizing ...... 54 Panes:...... 54 Parity setting in MSB mode...... 33 Parity Error:...... 43 Parity Errors searching for...... 71 Parity Errors:...... 71 Parity:...... 33 Pattern transmitting ...... 64 transmitting Hex ASCII or Baudot...... 64 Pattern Filter: ...... 81 Pattern: ...... 64 Percentages:...... 44 Performance Notes:...... 106 Physical Bytes: ...... 55 Physical Errors:...... 55 Physical vs. Logical Byte Values: ...... 55 Pie Charts: ...... 44 Pink Dots in Summary Pane:...... 58 Pin-outs...... 110 Predefined Protocol Stacks ...... 38

134 adding ...... 38 Print Preview:...... 91 Printing data...... 91 events ...... 91 exporting data ...... 93 graphs...... 45 Help topics ...... 9 Print Preview...... 91 troubleshooting ...... 91 Printing:...... 45, 91 Protocol filter ...... 80, 81 searching for strings in decodes...... 74 Protocol Filter:...... 80 Protocol Stack...... 36 choosing stacks ...... 36 creating a custom stack...... 36 creating a new predefined stack...... 38 reframing data...... 37 setting in Spy Mode ...... 99 unframing data...... 37 Protocol Stack:...... 34 Protocol:...... 74, 80 Protocols...... 36 changing layer colors...... 59 changing protocol stack...... 36 choosing ...... 34 creating a custom stack...... 36 filtering on protocols...... 81 viewing protocol information ...... 52 Protocols:...... 34, 52, 59 Q Quick Start Guide: ...... 17 R R ...... 115 Radix switching in the Event Display...... 50 Radix Pane: ...... 56 Radix:...... 50 Red Bytes: ...... 55 Reframe Function: ...... 37 Relative Time Search: ...... 76 Relative Timestamp Search: ...... 77 Relative Timestamps: ...... 104 Remove Filter: ...... 79 Removing a Custom Stack ...... 36 Removing Columns: ...... 58 Removing Framing Markers: ...... 37 Reports saving export formats ...... 98 Reports: ...... 98 Reset Panes: ...... 54

135 Resetable Tab: ...... 42 Resolution changing timestamp resolution...... 103 Resolution:...... 103 Reverse Bits: ...... 33 Ring Indicator note concerning detection of ...... 107 Ring Indicator:...... 107 RS-232 Connector Pin-outs...... 110 RS-422/485 Converter...... 30 RTS/CTS Flow Control: ...... 33 S Save a portion of a capture file or buffer...... 89 capture buffer to file...... 89 export formats...... 98 overview...... 89 Set I/O configuration...... 35 Save Buffer Warning:...... 41 Save Filters:...... 87 Save Imported Capture Files in FTS Format:...... 100 Save Selection:...... 89 Save:...... 35, 89 Scrolling how to stop automatic scrolling ...... 47 Scrolling: ...... 47 Search String Examples: ...... 76 Searching both the DTE and DCE sides ...... 74 by timestamp ...... 76 control signal changes...... 72 entering character strings ...... 75 event number...... 70, 71 examples of search strings...... 76 for a binary value ...... 75 for a character string...... 75 for a hex pattern...... 75 for a pattern ...... 75 for a special event...... 74 for control characters...... 76 for errors ...... 71 for FCS errors...... 74 for frame errors...... 74 for hex or binary characters...... 76 for strings in decodes...... 74 frame number ...... 70 how to ...... 70 only the DTE or DCE sides...... 74 overview...... 70 side restrictions...... 74 using wildcards ...... 76 wildcards...... 75 Searching:...... 70, 71, 72, 74, 75, 76 Seed Value: ...... 48 Selection

136 default position of selection on Event Display...... 75 Selection Offset: ...... 75 Selection: ...... 75 Send overview...... 64 sending a file...... 66 sending a string ...... 64 Send: ...... 64, 66 Serial BPF Filter Strings: ...... 81 Serial Data Filtering and How It Works: ...... 80 Serial Data Filters: ...... 79 Serial Ports configuration of ...... 11 Serial Ports: ...... 11 Serial.vxd: ...... 111 Serial9x.fts: ...... 111 Serialvxd.standard:...... 111 Session Tab:...... 42 Set Display Filter:...... 78 Set I/O Configuration baud...... 33 monitor mode...... 32 Names ...... 34 opening a saved configuration...... 35 operating mode...... 32 overview...... 32 parity ...... 33 saving a configuration...... 35 source mode...... 33 Spy Mode settings ...... 99 stop bits ...... 33 word length ...... 33 Set I/O Configuration: ...... 32, 33, 34, 35 Setting Up Spy:...... 25 Shift Characters:...... 94 Show All Events:...... 51 Show All Panes:...... 54 Show Data Grid: ...... 44 Show Named Filters: ...... 79 Side Export Field: ...... 93 Side Restriction:...... 74 Signal Display Options: ...... 63 Signal Display Window options ...... 63 reading the Signal Display window...... 61 Signal Display Window: ...... 61, 63 Signal Names: ...... 34 Signal Symbols:...... 48 Signals searching for signal changes...... 72 Signals Export Field:...... 93 Signals: ...... 72 Size capture buffer size ...... 100 capture file size...... 100 Size:...... 100

137 Smiley Face Symbol:...... 48 Snap To: ...... 61 Sniffer Files importing ...... 90 Snoop Files...... 90 Sniffer Files:...... 90 Snoop Files importing ...... 90 Snoop Files:...... 90 Software Flow Control: ...... 33 Sorting Frames: ...... 53, 57 Source transmitting a file...... 66 transmitting a string ...... 64 Source DTE No Cables: ...... 11 Source DTE: ...... 13 Source Mode: ...... 32 Source: ...... 64, 66 Sourcing cable configuration for dual-port sourcing to DCE device ...... 27 cable configuration for dual-port sourcing to DTE device...... 27 cable configuration for single-port sourcing to DCE device...... 30 cable configuration for single-port sourcing to DTE device...... 29 overview...... 64 sourcing with no cables ...... 13 Sourcing:...... 13, 27, 29, 30, 64 Spy capture options ...... 99 changing com ports ...... 11 how to run Spy...... 12 use of FIFOs in Spy...... 99 Spy:...... 11, 12, 99 Stack Colors: ...... 59 Start Capture To Buffer immediately on startup...... 102 Start Capture To Buffer: ...... 102 Start Capture to Disk immediately on startup...... 102 Start Capture to Disk: ...... 102 Start Up Options: ...... 102 Statistics buffer tab...... 42 changing the font size...... 51 copying to clipboard...... 42 frame size ranges ...... 42 freezing the display...... 42 graphing errors ...... 44 graphing frame sizes ...... 44 reading the display...... 43 resetable tab ...... 42 session tab...... 42 Statistics Graphs:...... 44 Statistics Window:...... 42 Statistics: ...... 42, 43, 51 Stop Bits: ...... 33

138 Store Timestamps: ...... 103 String transmitting ...... 64 transmitting in Hex ASCII or Baudot...... 64 String Delay: ...... 68 String Filter Format:...... 82 String Formats: ...... 64 String: ...... 64 Summary Formatting ...... 97 Summary Pane changing column widths ...... 58 removing columns ...... 58 sorting ...... 53 toolbar...... 58 Summary Pane Toolbar:...... 58 Summary Pane: ...... 57 Supported File Types:...... 90 Symbols removing from Event Display...... 51 Symbols in Data on Event Display: ...... 48 Symbols: ...... 48, 51 System Options: ...... 100 System Settings advanced ...... 101 System Settings:...... 100 T Tcpdump copyright notice...... 109, 110 Tcpdump Filter Strings for Serial Data: ...... 81 Tcpdump Man Page: ...... 84 Tcpdump String Format:...... 82 Tcpdump:...... 81, 109 Technical Support:...... 106 Templates deleting ...... 98 saving ...... 98 Templates: ...... 98 Text Files export capture files to text files ...... 93 Text Files: ...... 93 Time go to time ...... 76 Time:...... 76 Timestamping clock drift...... 104 disabling...... 103 enabling ...... 103 high resolution performance ...... 104 number of digits to display...... 104 performance issues ...... 104 resolution ...... 103 searching by timestamp...... 76 viewing absolute timestamps...... 104 viewing relative timestamps...... 104

139 Timestamping Options:...... 103 Timestamping: ...... 76, 103, 104 Timestamps format in export files ...... 94 importing from DOS...... 90 timestamp export field...... 93 Timestamps: ...... 15, 93 Toolbars Breakout Box ...... 60 Control Window ...... 40 Event Display...... 47 Frame Display...... 53 Signal Display...... 63 Summary Pane ...... 58 Transmit...... 69 Toolbars:...... 39, 46, 53, 58, 60, 63, 69 Transmit binary characters ...... 64 changing control signals ...... 67 character string ...... 64 delays ...... 68 entering a range...... 64 files ...... 66 flow control...... 67 FTS capture files...... 66 hex characters ...... 64 overview...... 64 string formats...... 64 toolbar...... 69 wildcard characters...... 64 Transmit Options: ...... 69 Transmit Priority:...... 69 Transmit:...... 64, 66, 67, 68, 69 Transmitting cable configuration for dual-port sourcing to DCE device ...... 27 cable configuration for dual-port sourcing to DTE device...... 27 cable configuration for single-port sourcing to DCE device...... 30 cable configuration for single-port sourcing to DTE device...... 29 setting up for source mode ...... 32 Transmitting: ...... 27, 29, 30, 32 Troubleshooting buffer overflows & overrun errors ...... 106 cable connections...... 26 overrun errors ...... 15 printing problems ...... 91 serial.vxd driver...... 111 when monitoring an MLT ...... 109 Troubleshooting:...... 91, 106, 111 Tutorial:...... 17 Type Export Field:...... 93 U UART Overrun: ...... 15, 43 UARTs FIFO use when in Spy Mode ...... 99 UARTs: ...... 107

140 Un-apply Filter: ...... 79 Underrun Errors searching for...... 71 Underrun Errors:...... 71 Unframe Function: ...... 37 Use FTS Cables: ...... 11 Utilization Table: ...... 44 W What's New:...... 9 Wildcards:...... 75, 76 Window Refresh Rate changing in Breakout Box...... 61 effect on performance...... 106 Window Refresh Rate:...... 45, 106 Window Synchronization: ...... 55 Windows minimizing...... 9 Windows 2000 driver...... 112, 113 turning off the FIFO Buffers...... 108 Windows 2000: ...... 108 Windows 95/98 driver...... 111 turning off FIFO buffers ...... 108 Windows 95/98: ...... 108 Windows NT driver...... 111, 112 turning off FIFO buffers ...... 109 Windows NT: ...... 109 Windows: ...... 9 Word Length: ...... 33 Working with Panes in the Frame Display:...... 54 Wrap Buffer Setting: ...... 100 X Xon/Xoff Flow Control:...... 33 Z Zoom In:...... 61 Zoom Out:...... 61 Zoom:...... 61

141