home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / snpdmp.zip / SNAPDUMP.DOC < prev    next >
Text File  |  1992-05-21  |  108KB  |  2,773 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                    IBM SNAPDUMP/2
  8.                    Data Collector and
  9.                    Formatter
  10.  
  11.  
  12.                    C. W. (Bill) Rogers
  13.                    Austin, Texas
  14.  
  15.                    May 22, 1991
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22. ────────────────────────────────────────────────────────────────────────────
  23. Introduction
  24.  
  25.     SnapDump is a set of tools which assists with problem determination
  26.     in the OS/2 environment.  SnapDump provides the ability to capture
  27.     a wide variety of system data into a single, easily transportable file.
  28.     The collection of data is controlled by the contents of a tailorable
  29.     flat ASCII file.  Although a sample version of this file is shipped
  30.     with SnapDump (SNAPDUMP.DAT), this ASCII file can be easily modified
  31.     by support personnel to customize the collection of data.
  32.  
  33.     In addition, SnapDump provides an easy-to-use menu interface for
  34.     displaying the contents of the output file that contains the
  35.     system data collected by SnapDump.
  36.  
  37. Data Collection
  38.     SnapDump includes a program (SNAPDUMP.EXE) that provides the ability
  39.     to collect many types of data.  The data collected falls into four
  40.     categories:
  41.  
  42.     * Files (binary and ASCII)
  43.  
  44.     * Data areas contained in named shared segments
  45.  
  46.     * Standard output and standard error from programs invoked by SnapDump
  47.  
  48.     * Environmental information automatically collected by the
  49.       SnapDump data collection program.
  50.  
  51.     * The system trace buffer (if the system trace is active)
  52.  
  53. Formatting the Data
  54.     SnapDump includes a program (SNAPDF.EXE) which provides a PM interface
  55.     useful for viewing and formatting the contents of a file that contains
  56.     the data collected by SnapDump.
  57.  
  58.     The formatting program provides three views of the data:
  59.        * Hexadecimal plus ASCII
  60.        * Hexadecimal plus EBCDIC
  61.        * ASCII only
  62.     The view of the data is toggled with the PF12 key.
  63.  
  64.     The SnapDump formatter can also be used to extract data from the
  65.     SnapDump output file, returning it to its original binary format.
  66.     This is particularly useful for binary files that require specialized
  67.     tools or programs to view them in a meaningful way (for example, the
  68.     Communications Manager configuration file).
  69.  
  70.  
  71.  Utilities
  72.     A set of utility programs are provided with SnapDump, to assist in
  73.     the collection of data helpful when performing problem determination.
  74.  
  75.          QMC.EXE      Provides hardware specific information
  76.          FINDSEG.EXE  Displays segment information
  77.          NETSESS2.EXE Local LAN session information
  78.          DIRSTAT.EXE  Exhibits adapter information
  79.          NCBSTAT.EXE  Displays Netbios information
  80.          TRADUMP.EXE  Shared Ram dump from Token-Ring
  81.          LAPSDUMP.EXE LAPS information (to be included by 6/1/92)
  82.  
  83.     See SnapDump Utility Prgrams on page 12 for more information on
  84.     the utilities.
  85.  
  86. ─────────────────────────────────────────────────────────────────────────────
  87. Operating Environment
  88.  
  89.     There are no special requirements, other than OS/2.  SnapDump will
  90.     operate in the following environments:
  91.        * SE 1.2 through SE 2.0
  92.        * EE 1.2 through EE 1.30.2
  93.        * SE 1.30.1 (including Extended Services)
  94.        * SE 1.30.2 (including Extended Services and LAN Server 2.0)
  95.  
  96. ─────────────────────────────────────────────────────────────────────────────
  97. The SnapDump Package
  98.     SnapDump consists of the following files:
  99.  
  100.       SNAPDUMP.EXE   The data collection program
  101.       SNAPDF.EXE     The data formatter program
  102.       SNAPDUMP.DAT   Sample ASCII input file for the collection program
  103.       SNAPDUMP.INF   On-line documentation for SnapDump
  104.       SNPNL001.HLP   Help file for SnapDump
  105.       QMC.EXE        Qsystem program to display hardware information
  106.       FINDSEG.EXE    Program to display segment information
  107.       NETSESS2.EXE   Local LAN session statistical and status
  108.       DIRSTAT.EXE    802.2 adapter level information
  109.       NCBSTAT.EXE    Netbios status information
  110.       TRADUMP.EXE    Shared Ram dump from Token-Ring
  111.       TRADUMP.SYS    Driver for Shared Ram dump
  112.       LAPSDUMP.EXE   LAPS information   (this included before 6/1/92)
  113.  
  114. ─────────────────────────────────────────────────────────────────────────────
  115. Installing SnapDump
  116.     These installation instructions assume that you are familiar with using
  117.     the OS/2 full screen session command line and that you wish to create a
  118.     separate directory on the C drive for SnapDump. You may substitute a
  119.     different drive letter and directory name and/or omit steps where
  120.     appropriate.
  121.  
  122.       * Download the SNAPDRIV EXEBIN file.
  123.       * Install with either:
  124.         - Create a directory for SNAPDUMP (e.g. 'mkdir SNAPDUMP').
  125.         - Execute the following: 'SNAPDRIV -d -o C:\XXXXXXXX',
  126.           this will place executable into directory 'XXXXXXXX'.
  127.       * Or
  128.         - As an option, place SNAPDUMP in directory OS2\SYSTEM.
  129.         - Execute the following: 'SNAPDRIV -d -o c:\OS2\SYSTEM'.
  130.           this will place executable into directory 'OS2\SYSTEM'.
  131.  
  132.  
  133. ─────────────────────────────────────────────────────────────────────────────
  134. Collecting Data with SnapDump
  135.     The SnapDump data collection program (SNAPDUMP.EXE)
  136.     utilizes a flat ASCII file as input.  This file contains the
  137.     instructions that specify what data is to be collected (e.g. files,
  138.     memory areas), and what data gathering programs are to be invoked.
  139.     This flat file approach makes data collection with SnapDump very
  140.     flexible in that it can be easily tailored to add or remove
  141.     items to be collected.  When run, SnapDump will produce a single
  142.     output file that contains all collected data.
  143.  
  144.     SnapDump is invoked from the command line.  There are three forms
  145.     of the command:
  146.  
  147.        SNAPDUMP
  148.  
  149.     This form of the command assumes that the input file, snapdump.dat,
  150.     exists, and that it contains a list of files, data and programs to
  151.     be processed by SnapDump.  The output file defaults to, snapdump.dmp.
  152.  
  153.          SNAPDUMP {input-fname}
  154.  
  155.     The {input-fname} parameter is the name of the flat ASCII file that
  156.     contains the list of items to be captured.  The output file defaults
  157.     to snapdump.dmp.
  158.  
  159.          SNAPDUMP {input-fname dump-fname}
  160.  
  161.     The {input-fname} parameter is the name of the
  162.     flat ASCII file that contains the list of items to be captured.
  163.  
  164.     The {dump-fname} parameter is the name of the file into which
  165.     SnapDump will write all the captured data.  In this document,
  166.     it is also called the SnapDump output file.
  167.  
  168.  
  169. SnapDump Input File
  170.     The SnapDump input file controls the information to be captured in
  171.     the SnapDump output file.  The SnapDump input file may be edited with
  172.     any ASCII editor, including the OS/2 system editor.  The following
  173.     describes the types of information that can be captured and how it
  174.     is to be specified in the flat file.
  175.  
  176.  
  177.         * A 'f/' in column 1 indicates that a file is to be captured.
  178.           For example:
  179.  
  180.               f/config.sys
  181.  
  182.           When a file is captured, the contents of the file are appended to
  183.           the SnapDump output file.  Wildcards may be specified, but be
  184.           aware that the SnapDump output file may become very large
  185.           if the wildcard specification is too broad.  Note that files
  186.           that are "in-use", such as the Communications Manager
  187.           'MESSAGE.DAT' and 'ERROR.DAT' files are collected by SnapDump.
  188.  
  189.         * A 'p/' in column 1 indicates that the specified program is to
  190.           be invoked.  For example:
  191.  
  192.               p/c:\qmc.exe -d
  193.  
  194.           Any programs (including .CMD files) that can be run from the
  195.           OS/2 command prompt and that write to standard output and/or
  196.           standard error may be specified.  The standard output and/or
  197.           standard error output of the program is appended to the
  198.           SnapDump output file.  The output of programs that use other
  199.           techniques of writing to the screen, such as Presentation
  200.           Manager "Win" calls or "VIO" calls, cannot be captured by
  201.           SnapDump.
  202.  
  203.  
  204.         * A 'm/' in column 1 indicates that a named shared memory
  205.           segment ("\SHAREMEM\...") is to be captured.  For example:
  206.  
  207.               m/\SHAREMEM\ACS\RAS_SEG
  208.  
  209.           The contents of the named shared segment are appended to the
  210.           SnapDump output file.  Wildcards for named shared memory are
  211.           not allowed. Certain named shared memory segments are protected
  212.           and cannot be dumped. The names of the named shared memory files
  213.           in the system may be obtained by issuing the following
  214.           command at the command prompt:
  215.  
  216.               pstat /m
  217.  
  218.         * Any other value in column one causes the line to be treated
  219.           as a comment.
  220.  
  221.     If the system trace is active, the system trace buffer is automatically
  222.     captured by SnapDump and appended to the SnapDump output file.
  223.  
  224.  
  225. Searching for Files
  226.     When SnapDump scans for files, it will search all accessible drives,
  227.     including shared drives on servers and diskette drives.  Multiple
  228.     instances of a file will be collected, if they exist.
  229.  
  230. Sample SnapDump Input File
  231.     The following SnapDump input file is shipped with SnapDump, and can
  232.     be modified as required:
  233.  
  234.  
  235. *This is a sample file to show SNAPDUMP/2 Capability.  Most
  236. *of the entries have been deactivated (* in first column) to
  237. *reduce size of the output file.
  238. *File names and paths will differ with OS/2 release level.
  239. *The user may customize as needed.
  240. *
  241. *  OS/2 information
  242. *
  243. f/config.*
  244. f/syslevel.*
  245. f/startup.cmd
  246. f/*.ini
  247. *f/os20001.dat
  248. *f/log0001.dat
  249. *
  250. *  FFST/2 files
  251. *
  252. *f/epw.ini
  253. *f/snapdump.dat
  254. *f/os2mlog.dat
  255. *p/dir c:\os2\system\*.dmp
  256. *
  257. *  Communication Manager
  258. *
  259. *p/display.exe
  260. *f/*.cfg
  261. *f/*.ndf
  262. *f/*.sec
  263. *f/*.cf2
  264. *f/error.dat
  265. *f/message.dat
  266. *f/esinst.hst
  267. *f/acs.pro
  268. f/acslan.log
  269. f/lantran.log
  270. *f/c2instal.log
  271. *f/install.log
  272. *f/message.log
  273. *f/custbld.hst
  274. *f/cmfeater.dat
  275. *m/\sharemem\acs\ras_seg
  276.  
  277. *
  278. * Database Manager
  279. *
  280. *f/sqldbdir
  281. *f/sqlsystm
  282. *f/sqldbcon
  283. *f/sqluif.*
  284. *f/sqlnodir
  285. *f/sqlgwdir
  286. *f/sqlogctl.lfh
  287. *f/dbdrqlib.cfg
  288. *
  289. * LAN Server 2.0
  290. *
  291. *f/net.err
  292. p/net error
  293. *f/net.acc
  294. *f/net.aud
  295. *
  296. * LAN status command
  297. *
  298. *p/net statistics requester
  299. *p/net statistics server
  300. *p/net config requester
  301. *p/net config server
  302. *p/net files
  303. *p/net sessions
  304. *p/net share
  305. *p/net status
  306. *p/net view
  307. *p/net who
  308. *
  309. * Workstation Status Programs
  310. *
  311. *p/netsess2.exe
  312. *p/ncbstat.exe *
  313. p/dirstat.exe
  314. *p/findseg -S C:\
  315. p/qmc.exe -d
  316. p/pstat.exe
  317. *
  318. *Adapter Shared Ram Dump for OS/2  Extended Edition
  319. *Version 1.3 (device driver TRADUMP.SYS required)
  320. *
  321. *p/tradump /f
  322. *
  323. *Adapter Shared Ram and Netbios Dump for OS/2 version 2.0
  324. *with LAPS (Lan Adapter and Protocol Support)
  325. *
  326. *p/lapsdump /f  (will be provided by 5/1/92)
  327. *
  328.  
  329.  
  330. ─────────────────────────────────────────────────────────────────────────────
  331. Formatting Data Collected with SnapDump
  332.     The SnapDump Format Utility provides an easy to use menu interface
  333.     to select and display the contents of the SnapDump output file.
  334.     Because each data item collected in the dump file is tagged with an
  335.     "entry title", it is very easy to select a specific data item for
  336.     display.  It is not necessary to display the entire dump file.
  337.  
  338.     In addition, the SnapDump Format Utility can be used to extract
  339.     a specified data item, returning it to its original binary format.
  340.     This is particular useful for binary files that require specialized
  341.     formatters. The binary file can be extracted from the dump file
  342.     and stored as an individual file in its original binary format.
  343.  
  344.     The SnapDump Format utility can be accessed directly from
  345.     the command line by entering the following command:
  346.  
  347.       SNAPDF {dump-fname}
  348.  
  349.     The {dump-fname} parameter is the name of the dump file containing
  350.     data previously captured with an invocation of SNAPDUMP.
  351.  
  352.     If the {dump-fname} parameter is supplied, or 'snapdump.dmp' exists,
  353.     the 'Dump Formatter' window will be displayed.
  354.  
  355.     If no dump file name is specified and a file named 'snapdump.dmp'
  356.     does not exist, the following standard file 'Open' dialog box will
  357.     appear to assist the user in selecting a dump file name.
  358.  
  359.  
  360.     The file 'open' dialog will appear as follows:
  361.  
  362.   ┌──┬───────────────────────────────────────────────────────────┐
  363.   │==│                      OPEN                                 │
  364.   ├──┴───────────────────────────────────────────────────────────┤
  365.   │                                                              │
  366.   │  ┌───────────┬──────────────────────────────────────┐        │
  367.   │  │File name: │ *.dmp                                │        │
  368.   │  └───────────┴──────────────────────────────────────┘        │
  369.   │                                                              │
  370.   │  ┌──────────────┬──────────────────────────────┐             │
  371.   │  │Directory is: │ C:\SNAPDUMP\                 │             │
  372.   │  └──────────────┴──────────────────────────────┘             │
  373.   │     ┌──────────────┐                 ┌──────────────┐        │
  374.   │     │    Files:    │                 │ Directories: │        │
  375.   │     └──────────────┘                 └──────────────┘        │
  376.   │  ┌────────────────────┬──┐       ┌────────────────────┬──┐   │
  377.   │  │   SNAPDUMP.DMP     │  │       │ ..                 │  │   │
  378.   │  │                    ├──┤       │ [A:]               ├──┤   │
  379.   │  │                    │  │       │ [C:]               │  │   │
  380.   │  │                    │  │       │                    │  │   │
  381.   │  │                    │  │       │                    │  │   │
  382.   │  │                    │  │       │                    │  │   │
  383.   │  │                    │  │       │                    │  │   │
  384.   │  │                    │  │       │                    │  │   │
  385.   │  ├──┬─────────────────┼──┤       ├──┬─────────────────┼──┤   │
  386.   │  │<-│                 │->│       │  │                 │  │   │
  387.   │  └──┴─────────────────┴──┘       └──┴─────────────────┴──┘   │
  388.   │                                                              │
  389.   │    ┌────────┐           ┌────────┐           ┌────────┐      │
  390.   │    │  Open  │           │ Cancel │           │  Help  │      │
  391.   │    └────────┘           └────────┘           └────────┘      │
  392.   │                                                              │
  393.   └──────────────────────────────────────────────────────────────┘
  394.  
  395.     The Tab and Shift+Tab keys, as well as the mouse, may
  396.     be used to move between controls in the dialog box. The Left Arrow
  397.     and Right Arrow keys may be used to move between the 'Open', 'Cancel',
  398.     and 'Help' buttons.  The user may press the F1 key, or click on the
  399.     'Help' button to obtain context-sensitive help on the current
  400.     (focus) control of the dialog box. The 'Directory is:' field is
  401.     read-only; it allows the user to see long subdirectory names.
  402.  
  403.     Only files identified as SnapDump or First Failure Support Technology/2
  404.     (FFST/2) dump files will appear in the 'Files:' listbox.  The user may
  405.     enter any file name in the 'File Name:' entry field.  The dump
  406.     formatter  will ensure the file is a SnapDump or FFST/2 dump file.
  407.  
  408.  
  409.     Once a dump file and the 'Open' button are selected: the
  410.     'Dump Formatter' window will display the formatted SnapDump
  411.     data as well as a list of the data items captured by Snapdump.
  412.     SnapDump Dump Format on page 10 illustrates what this display
  413.     may look like ('after maximizing the window'):
  414.  
  415.  ┌──┬────────────────────────────────────────────────────────────────┬───┬───┐
  416.  │==│                                Dump Formatter                  │   │   │
  417.  ├──┴────────────────────────────────────────────────────────────────┴───┴───┤
  418.  │  File   Options   Help                                                    │
  419.  ├───────────────────────────────────────────────────────────────────────────┤
  420.  │                            SNAPDUMP.DMP [1]                               │
  421.  │    ┌───────────────────────────────────────────────────────────────┬───┐  │
  422.  │    │IBM SNAPDUMP/2 [2]                                             │ V │  │
  423.  │    └───────────────────────────────────────────────────────────────┴───┘  │
  424.  │                                                                           │
  425.  │  [3] 09-04-1991      16:10:36.75                SNAPDUMP                  │
  426.  │                                                                           │
  427.  │    ┌───────────────────────────────────────────────────────────────┬───┐  │
  428.  │    │Process Environment [4]                                     [5]│ V │  │
  429.  │    └───────────────────────────────────────────────────────────────┴───┘  │
  430.  │                                                                           │
  431.  ├───────────────────────────────────────────────────────────────────────────┤
  432.  │                                                                           │
  433.  ├─────────────────────────────────────────────────────────────────────────┬─┤
  434.  │COMSPEC=C:\OS2\CMD.EXE                                                   │ │
  435.  │PATH=C:\OS2;C:\MUGLIB;C:\OS2\SYSTEM;C:\CMLIB;C:\CMLIB\APPN;C:\OS2\INSTALL├─┤
  436.  │DPATH=C:\OS2;C:\MUGLIB\DLL;C:\CMLIB;C:\CMLIB\APPN;C:\OS2\SYSTEM;C:\OS2\IN│ │
  437.  │PROMPT=$i[$p]                                                            │ │
  438.  │KEYS=ON                  [6]                                             │ │
  439.  │BOOKSHELF=C:\OS2\BOOK;                                                   │ │
  440.  │HELP=C:\OS2\HELP;                                                        │ │
  441.  │                                                                         │ │
  442.  │C:\snapdump\SNAPDUMP.EXE                                                 │ │
  443.  │snapdump                                                                 │ │
  444.  │ snapdump.dat                                                            │ │
  445.  │                                                                         │ │
  446.  │                                                                         │ │
  447.  │                                                                         │ │
  448.  │                                                                         │ │
  449.  │                                                                         ├─┤
  450.  │                                                                         │ │
  451.  └─────────────────────────────────────────────────────────────────────────┴─┘
  452.                   Initial SnapDump Format Screen
  453.  
  454.     The SnapDump Dump Formatter screen needs to be maximized to
  455.     view all the data.
  456.  
  457.     The first field in the window (see [1]) is the dump
  458.     file currently being displayed (for example:  SNAPDUMP.DMP).
  459.  
  460.  
  461.     The second field in the window (see [2]) contains a unique
  462.     dump segment identifier.  If the SnapDump file contains a
  463.     large number of data entries (where a data entry represents
  464.     a capture file, output from a program, or a shared segment),
  465.     the dump file will be segmented.  Each segment is identified
  466.     in this field, which can be scrolled by using the down-arrow
  467.     on the right.  Use the down-arrow at the right of this
  468.     field to see the complete list of segments, and to select the
  469.     desired segment.  Segmentation only occurs after approximately
  470.     300 data entries are collected.
  471.  
  472.     The third field in the window (see [3]) is the date and time of
  473.     the dump as well as an the identifier of the of the program
  474.     that created the dump file (in this case, the originator is "SNAPDUMP").
  475.  
  476.     The fourth field in the window (see [4]) contains the currently
  477.     selected data item.  When the Dump Formatter window is initially
  478.     displayed, 'Process Environment' is pre-selected and is displayed
  479.     in [6].  The environment information collected by SnapDump includes
  480.     'PATH:', 'DPATH:', etc..
  481.     The down arrow button (see [5]) can be clicked-on (or press [Enter:])
  482.     to get a complete list of data items captured in the SnapDump output
  483.     file.  See SnapDump Dump Format on page 10 for an example of a list of
  484.     data items.  [7] in SnapDump Dump Format on page 10 represents the
  485.     list of data items.
  486.  
  487.     When the Dump Formatter window is first displayed, the sixth
  488.     field in the window (see [6]) contains an ASCII representation
  489.     of the 'Process Environment'.  The data can be displayed in
  490.     three formats:
  491.  
  492.        * Hexadecimal plus ASCII
  493.        * Hexadecimal plus EBCDIC
  494.        * ASCII only
  495.  
  496.  
  497.    PF12 is used to change views of the data.
  498.  
  499.  ┌──┬────────────────────────────────────────────────────────────────────┬──┬──┐
  500.  │==│                                Dump Formatter                      │  │  │
  501.  ├──┴────────────────────────────────────────────────────────────────────┴──┴──┤
  502.  │  File   Options   Help                                                      │
  503.  ├─────────────────────────────────────────────────────────────────────────────┤
  504.  │                            SNAPDUMP.DMP [1]                                 │
  505.  │    ┌──────────────────────────────────────────────────────────────────┬──┐  │
  506.  │    │IBM SNAPDUMP/2 [2]                                                │V │  │
  507.  │    └──────────────────────────────────────────────────────────────────┴──┘  │
  508.  │                                                                             │
  509.  │  [3] 09-04-1991      16:10:36.75                SNAPDUMP                    │
  510.  │                                                                             │
  511.  │    ┌──────────────────────────────────────────────────────────────────┬──┐  │
  512.  │    │Process Environment [4]                                        [5]│V │  │
  513.  │    └──────────────────────────────────────────────────────────────────┴──┘  │
  514.  │                                                                             │
  515.  ├─────────────────────────────────────────────────────────────────────────┬───┤
  516.  │                                                                         │ V │
  517.  ├─────────────────────────────────────────────────────────────────────────┼───┤
  518.  │Process Environment                                                      │   │
  519.  │C:\CONFIG.SYS                                                            │   │
  520.  │C:\OS2\INSTALL\CONFIG.SYS                                                │   │
  521.  │C:\CMLIB\SYSLEVEL.ACS                                                    │   │
  522.  │C:\OS2\SYSLEVEL.EPW      [7]                                             │   │
  523.  │C:\MUGLIB\SYSLEVEL.MUG                                                   │   │
  524.  │\SHAREMEM\ACS\RAS_SEG                                                    │   │
  525.  │'NET STATISTICS REQUESTER'                                               │   │
  526.  │'PSTAT.EXE'                                                              │   │
  527.  │'QMC.EXE                                                                 │   │
  528.  │C:\OS2\EPW.INI                                                           │   │
  529.  │                                                                         │   │
  530.  │                                                                         ├───┤
  531.  │                                                                         │ A │
  532.  └─────────────────────────────────────────────────────────────────────────┴───┘
  533.             SnapDump Dump Format screen after dump file name selected
  534.  
  535.     In this example, the portion of the window with the list of collected
  536.     data items (see [7]) is used to select a data item for display.
  537.     To select an item for display, single click on the data item and then
  538.     press 'Enter:' (or then double click on the item in [4]).
  539.     The data can be displayed in three formats:
  540.  
  541.       * Hexadecimal plus ASCII
  542.       * Hexadecimal plus EBCDIC
  543.       * ASCII only
  544.  
  545.     PF12 is used to change views of the data.
  546.  
  547.  
  548.     The F4 key may be used to toggle the visibility of the list box
  549.     part of the prompted entry fields whenever the entry field (see
  550.     [4]) has the keyboard focus keyboard focus (clicking on the
  551.     down-arrow button (see [5]) is the equivalent).  To actually
  552.     select an item from the dump list or the entry list, use the
  553.     up- and down-arrow keys (or the mouse if the list box control
  554.     of the upper entry area is visible) and then either press Enter
  555.     or double-click on the entry field portion of [4] to complete the
  556.     selection. If a new entry is selected, it will be formatted
  557.     and displayed.
  558.  
  559.     Items in the list that are in quotes (for example, 'PSTAT.EXE', see
  560.     [7]) represent programs that were invoked by SnapDump.  Output
  561.     from these programs is selected for viewing in the same manner as files.
  562.  
  563.     Files that were captured in a SnapDump output file may be copied to
  564.     disk with the 'SAVE AS...' found under 'FILE:' from the action bar.
  565.     Select the data item, go to the action bar and select 'FILE:',
  566.     then select 'SAVE AS'.  On the 'SAVE AS' dialog box
  567.     set 'Select output type' to binary data and double click on
  568.     'SAVE'.  For example, files such as OS2.INI should be saved
  569.     as binary data to preserve their binary format.
  570.     The captured file will then be written to disk.  This function will
  571.     not write OS/2 Extended Attributes.
  572.  
  573.     A new SnapDump output file can be opened by selecting 'Open' found
  574.     under 'FILE' from the action bar.  This is useful when multiple
  575.     SnapDump output files are to be viewed.
  576.  
  577.  
  578. ─────────────────────────────────────────────────────────────────────────────
  579. Transporting SnapDump Output Files
  580.     If the SnapDump output file is too large to fit on a single diskette
  581.     (even after packing it), the 'Backup' function provided with OS/2
  582.     can be used to store a very large file on multiple diskettes.
  583.     Conversely, the 'Restore' function provided with OS/2 can be used to
  584.     restore the diskette-spanning information into a single file.
  585.  
  586.     The SnapDump output file can be sent to a central support location
  587.     for diagnostic assistance.  When using the file transfer capabilities
  588.     of OS/2 Communications Manager to send the output file to a host,
  589.     insure the that the record format and characteristics of the host
  590.     computer file is set to 'variable'.
  591.  
  592.       *  If you are using the OS/2 command line to enter the SEND
  593.          command for file transfer, use the RECFM V option.  For example:
  594.  
  595.            send c:output.dmp a:output dump a (recfm v
  596.  
  597.       *  If you are using OS/2 Communications Manager File Transfer
  598.          Profiles to send the output file; (1) under 'Modify host
  599.          file characteristics options', select - Yes; (2) under
  600.          'Record format of host file', select - Variable.
  601.  
  602.  
  603. ─────────────────────────────────────────────────────────────────────────────
  604. Support for SnapDump
  605.  
  606. Usage Support
  607.     Usage support, for Customers  and SEs, will be provided through
  608.     EQUAL/ASKQ.  Keyword for entries should be "SNAPDUMP".
  609.  
  610. Defect Support
  611.     Defect support for SnapDump will be handled through SNAPDUMP FORUM
  612.     on IBMPC which will be monitored.  Defect will be answered with in 2
  613.     weeks.
  614.  
  615.  
  616. ─────────────────────────────────────────────────────────────────────────────
  617. SnapDump Utility Programs
  618.     Any programs that provide useful problem determination information,
  619.     or status, are candidates for use with SnapDump.  The following
  620.     programs may be of use to you, and are installed with SnapDump:
  621.  
  622.         QMC.EXE       Displays hardware information
  623.         FINDSEG.EXE   Displays segments
  624.         NETSESS2.EXE  Displays session statistical and status
  625.         DIRSTAT.EXE  Exhibits adapter information
  626.         NCBSTAT.EXE  Displays Netbios information
  627.  
  628.     The following program is provided with Extended Services for OS/2.
  629.     To install this program, you must install the Communications Manager
  630.     Utilities found on the Additional Features panel during initial
  631.     installation (ESINST) or re-install (REINST).  See the Extended
  632.     Services Communications Manager Command Reference for more information
  633.     about using this program.
  634.  
  635.         DISPLAY.EXE   Displays the active SNA configuration
  636.  
  637.     The following program is provided with the base operating system.
  638.  
  639.         PSTAT.EXE     Displays system information
  640.  
  641.  
  642. QMC
  643.     The QMC program returns a wealth of useful information about the
  644.     the hardware installed on the machine on which it is run.
  645.     You must have the IOPL=YES in your CONFIG.SYS for QMC to function.
  646.     The following options are available when invoking QMC:
  647.  
  648.   Options
  649.   -------
  650.   -? or ?      lists options (help)
  651.  
  652.   -A           list all supported Microchannel adapters supported by QMC
  653.                (can be used with the -O option to redirect to file)
  654.  
  655.   -D           list more detailed QMC information
  656.                includes : adapter configuration for Microchannel
  657.                           model, submodel
  658.                           fixed disk sectors/heads/cylinders.
  659.  
  660.   -O           redirect output to QSYSTEM.OUT
  661.  
  662.   -Ofilename   redirect output to file
  663.  
  664.                For example:
  665.  
  666.                QMC -Ops2data.fil
  667.  
  668.                would redirect the output of QCONFIG to ps2data.fil.
  669.  
  670.   key=value    define key with value for machine information output
  671.                There is a limit of 10 keys.
  672.  
  673.                For example:
  674.  
  675.                QMC User="Jeff Muir" "Location Site"=Boca
  676.  
  677.                Output would include:
  678.  
  679.                User            : Jeff Muir
  680.                Location Site   : Boca
  681.  
  682.     There are a couple of methods to handle data scrolling off the screen:
  683.  
  684.       QMC | MORE   (pipes information from QMC into the MORE command)
  685.  
  686.       QMC -O       (re-directs the output to QSYSTEM.DAT)
  687.  
  688.     The first technique is good if you just want to view the info
  689.     one screen at a time.  The second technique works best for
  690.     keeping a permanent copy and being able to browse/edit the results.
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698. Findseg
  699.     This program searches for the specified segments within executable
  700.     files.  This version of Findseg operates only on 16-bit OS/2
  701.     operating systems.
  702.     The key word for this search is the length of a segment.  There
  703.     are two basic forms of the findseg command:
  704.  
  705.       Usage: findseg [switch] [drive:][path]
  706.       Usage: findseg [switch] [UNC name]
  707.  
  708.    switch:
  709.         1.Segment type
  710.             -c : Report code segments only.
  711.             -d : Report data segments only.
  712.             -b : Report code and data segments (default).
  713.  
  714.         2.Segment length
  715.             -l : The string after this switch is the length of the target
  716.                  segment. If the length is specified as HEX format, it must
  717.                  start with X (or x). Spaces aren't allowed between -l and
  718.                  the string. If the string is 0 (or x0) the length is 65536.
  719.                  If this switch isn't set, all segments will be reported.
  720.             -r : Report the segments whose length are between LENGTH - DELTA
  721.                  and LENGTH + DELTA. (LENGTH is the specified length by -l
  722.                  and DELTA is the specified length by this switch.)
  723.                  Default is -r1.
  724.  
  725.          3.File type
  726.             -E : Search EXE files only.
  727.             -D : Search DLL files only.
  728.             -S : Search SYS files only.
  729.             -B : Search EXE and DLL files.
  730.                  One or more switches may be set.  The default is -E -D -S.
  731.  
  732.         4.Access rights byte
  733.             -A : The string after this switch is the access right byte of
  734.                  the target segment. If it is specified as HEX format, it must
  735.                  start with X (or x). Spaces aren't allowed between -A and
  736.                  the string.  PRESENT, ACCESSED and EXPANSION DIRECTION (data
  737.                  segment) bits will not be tested.  This access rights byte is
  738.                  displayed as **ACC=?? in the TRAP-D popup panel.
  739.                  (**:CS, DS, SS, ES, ER, ??:Access rights byte)
  740.  
  741.         5.Disassemble
  742.             -I : Output disassembled code. The string after this switch is the
  743.                  IP value. If it is specified as HEX format, it must start with
  744.                  X (or x). Spaces aren't allowed between -I and the string.
  745.                  This switch is valid for CODE segments.  In the disassembled
  746.                  code, the relocation information is not resolved.
  747.                  resolved.
  748.  
  749.  
  750.         6.Miscellaneous
  751.             -p : Pause after a screen is full. This switch is ignored when
  752.                  OUTPUT is redirected to a file.
  753.             -s : Search from sub-directories.
  754.  
  755.    drive    : Drive name. Default is the current drive.
  756.    path     : Path name. Default is the current path.
  757.    UNC name : Universal naming convention name. \\server name\net work
  758.               name[\path]
  759.  
  760.    Example: findseg -lx6000 -rx1000 -s -D -Ix400 C:\
  761.             This searches DLL files from a root and its all sub-directories in
  762.             drive C. And it reports file names and length and attribute of
  763.             segments whose size are between 0x5000 and 0x7000 bytes.
  764.             They are output in the following format.
  765.  
  766.         Search path  : C:\ and its sub-directories
  767.         Search file  : *.DLL
  768.         Search range : 0x05000(20480)-0x07000(28672) bytes
  769.         Access rights: not specified
  770.  
  771.         C:\MYDLL\TEST.DLL
  772.             12610bytes    90-05-10    15:25:00
  773.         004 05200 DATA FIXED   NONSHARED PRELOAD   R-O NORELOC PL3 DISCARDABLE
  774.  
  775.         C:\OS2\DLL\PMGPI.DLL
  776.            265110bytes    90-03-30    01:20:00
  777.         002 05FCC CODE MOVABLE NONSHARED LOADONCALL E/R RELOC PL2 NONDISCARDABLE
  778.           Instruction: push     es:[bx+si]
  779.  
  780.         C:\OS2\DLL\OS2SM.DLL
  781.              64512bytes    90-03-30    01:20:00
  782.         001 05789 CODE MOVABLE NONSHARED PRELOAD  E/R RELOC   PL3 NONDISCARDABLE
  783.           IP is invalid value.
  784.  
  785.         C:\OS2\DLL\DISPLAY.DLL
  786.             342016bytes    90-03-30    01:20:00
  787.         002 067DE CODE MOVABLE SHARED  PRELOAD   E/R RELOC   PL2 NONDISCARDABLE
  788.           IP is invalid value.
  789.         00A 050BE DATA MOVABLE SHARED  PRELOAD    R/W NORELOC PL2 NONDISCARDABLE
  790.  
  791.  
  792.         5 segments in 4 files
  793.  
  794.    Note : The meaning of each value is as follows:
  795.  
  796.        C:\OS2\DLL\PMGPI.DLL <--- File name
  797.           265110bytes    90-03-30    01:20:00   <--- File size and update time
  798.        001 05FCC CODE MOVABLE NONSHARED LOADONCALL E/R RELOC PL2 NONDISCARDABLE
  799.        (1)  (2)   (3)   (4)     (5)       (6)      (7)   (8) (9)       (10)
  800.          Instruction: push     es:[bx+si]  <-- Disassembled code at IP=0x400
  801.  
  802.        (1) : Entry id in segment table
  803.        (2) : Minimum allocation size for the segment
  804.        (3) : Segment type (CODE/DATA)
  805.        (4) : Fixed or Movable segment
  806.        (5) : Shared or Nonshared segment
  807.        (6) : Preload or Load on call segment
  808.        (7) : Execute/read or Execute-only if code,
  809.              Read/Write or Read-only if data
  810.        (8) : Relocation table present or not
  811.        (9) : Privilege level
  812.        (10): Discardable or Nondiscardable segment
  813.  
  814.   3. Hints to determine TRAP-D module
  815.  
  816.    To find the TRAP-D module, set the CSLIM value found in the TRAP-D
  817.    panel to segment length (-l switch), instead of DSLIM, ESLIM or SSLIM
  818.    since the data segments (DS, ES and SS) may have been allocated or
  819.    reallocated after the process started.
  820.    process started.
  821.  
  822.    You had better set IP value(by -I switch). When two or more modules are found,
  823.    you can determine TRAP-D module from disassembled code. For example, TRAP-D
  824.    may not occur on the following instructions
  825.          mov   ax, 0
  826.          inc   cx
  827.             :
  828.          etc.
  829.    and the following instructions have potential of TRAP-D (or TRAP-C).
  830.                                       TRAP-D occurs on the following condition.
  831.          pop   ax                <--- sp exceeds SSLIM (In this case TRAP-C
  832.                                       will occur).
  833.          les   bx, es:[bx+si]    <--- bx+si exceeds ESLIM or ES is invalid
  834.          rep   movs              <--- si exceeds DSLIM or di exceeds ESLIM
  835.             :
  836.          etc.
  837.  
  838.  
  839. NETSESS2 program operation
  840.     The NETSESS2 program obtains and prints session statistics which
  841.     are kept by the LAN adapter card (or NETBEUI in the case of the
  842.     Token Ring).  The session statistics may be obtained for the
  843.     local station only.
  844.  
  845.     The syntax of the NETSESS2 command line is as follows:
  846.  
  847.       netsess2 [-<lana>] [<session_name>]
  848.  
  849.     The optional flag -<lana> indicates use of the alternative LAN adapter
  850.     specified instead of the default which is LAN adapter 0.  Possible
  851.     values for <lana> are 1, 2, and 3.
  852.  
  853.     If the optional <session_name> is specified, only the statistics for
  854.     sessions with that local name will be printed.  Otherwise statistics
  855.     for all sessions will be printed.
  856.  
  857.     The session statistics printed appear as follows:
  858.  
  859. Session statistics for local station
  860.  
  861. Number of Sessions in progress = 03
  862.  
  863. LSN Status  Local Name       Remote Name      Rcv Send
  864. --- ------- ---------------- ---------------- --- ----
  865. 003 Session morbius          YKTLAN1          001 000
  866. 004 Session jeffat           robbi            001 001
  867. 005 Session morbius          altair           001 000
  868.  
  869. Receive Datagram commands outstanding 000
  870. Receive Any      commands outstanding 004
  871.  
  872.     The column labeled 'LSN' contains the Local Session Numbers which
  873.     are assigned to each session by the LAN adapter.
  874.  
  875.     The column labeled 'Status' contains keywords indicating the
  876.     status of the session. See the Tech. Ref. Manual for explanations
  877.     of these status conditions.
  878.  
  879.     The column labeled 'Local Name' contains the LAN adapter name
  880.     used at the local adapter in the CALL or LISTEN command that
  881.     established the session.
  882.  
  883.     The column labeled 'Remote Name' contains the LAN adapter name
  884.     used at the remote adapter in the CALL or LISTEN command that
  885.     established the session.
  886.  
  887.     The column labeled 'Rcv' contains the number of outstanding
  888.     RECEIVE commands for this session.
  889.  
  890.     The column labeled 'Send' contains the number of outstanding
  891.     SEND commands for this session.
  892.  
  893.     The two lines following the tabular information contain the
  894.     number of outstanding RECEIVE DATAGRAM commands, and the number
  895.     of outstanding RECEIVE ANY commands, respectively.
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.                   INTRODUCTION TO INSTALLING AND USING
  903.            TOKEN-RING NETWORK ADAPTER SHARED RAM DUMP (TRADUMP)
  904.  
  905.  
  906.  
  907.  
  908.      February 10, 1992
  909.  
  910.  
  911.      Mark B. Arslan     (ARSLAN @ RALYDPD)
  912.  
  913.  
  914.      Distributed Systems Management Technical Support
  915.      Networking & Systems Services & Support
  916.      Research Triangle Park, NC
  917.  
  918.  
  919.  
  920.                                 PREFACE
  921.  
  922.  
  923.  
  924.  
  925. In the complex area of distributed OS/2 local area networks, one of the
  926. most important elements of problem management is problem source
  927. identification.  It is the process of isolating a problem to its failing
  928. component or the system resource responsible for the problem.  Problem
  929. source identification (or PSI) is particularly difficult in this
  930. environment due to the large number of interrelated system components
  931. and the relative scarcity of adequate PSI facilities (tools, utilities,
  932. product functions) and documented PSI procedures.
  933.  
  934.  
  935. A class of LAN problems that can be especially challenging is that of
  936. LAN connectivity ("System A can't communicate with System B over the
  937. network").  Solving this type of problem often requires knowledge of the
  938. workings of the layers of the protocol stack (802.5, 802.2, NetBIOS,
  939. SNA, etc.) on each system, including APIs, resource requirements,
  940. contents of internal buffers, event logs, messages, and formats and
  941. protocols of frame exchange.  When connectivity problems occur, clues
  942. are often left behind.  Analyzing these elements of the protocol layers
  943. will usually lead to the solution of the problem, provided that the
  944. problem-solver has adequate tools and sufficient skills.
  945.  
  946.  
  947. One particularly useful component for PSI is the shared RAM in the IBM
  948. PS/2 Token-Ring Network adapter, an area of adapter memory (up to 64K
  949. bytes) containing buffers for the 802.5 and 802.2 layers of the protocol
  950. stack. There is a tool called TRADUMP that dumps this buffer area and
  951. formats the dump data into an ASCII text file or STDOUT.  The purpose of
  952. this manual is to introduce technically-knowledgeable SEs and
  953. specialists to using TRADUMP (in conjunction with other tools and
  954. facilities) to aid in the resolution of LAN connectivity problems.
  955.  
  956.  
  957. As of this writing, TRADUMP has been tested on OS/2 Extended Edition
  958. V1.3 only.  This document discusses the implementation of shared RAM and
  959. TRADUMP for OS/2 Extended Edition V1.3.  LAN Adapter and Protocol
  960. Support (LAPS) under OS/2 Extended Services V1.0 and OS/2 LAN Server
  961. V2.0 handles shared RAM and the NetBIOS/802.2 interface quite
  962. differently than V1.3.  It is a well-understood and accepted requirement
  963. that TRADUMP be enhanced to work under LAPS, as well.
  964.  
  965.  
  966.  
  967. Related Publications:
  968.  
  969.  
  970. A much more detailed discussion of interpreting TRADUMP output can be
  971. found in:
  972.  
  973.      Guidelines for Using Token-Ring Network Adapter Shared RAM Dump
  974.        (TRADUMP) for Debugging LAN Connectivity Problems
  975.  
  976.  
  977. No form number has been assigned yet, but a copy may be obtained by
  978. having your Systems Engineer contact this author (ARSLAN @ RALYDPD).
  979.  
  980.  
  981.  
  982.  
  983. The following publications contain information that may also be helpful:
  984.  
  985.      IBM Local Area Network Technical Reference, SC30-3383-03.
  986.      IBM Token-Ring Network Architecture Reference, SC30-3374-02.
  987.      Token-Ring Network Introduction and Planning Guide, GA27-3677.
  988.  
  989.  
  990.  
  991.  
  992.                          INSTALLING TRADUMP
  993.  
  994.  
  995.  
  996. TRADUMP consists of two modules:
  997.  
  998.  TRADUMP.SYS
  999.  
  1000. A device driver that determines the location of MMIO and shared RAM in
  1001. the PS/2 memory address space, reads the contents of each, and writes
  1002. the output to a program buffer.
  1003.  
  1004.  
  1005.  TRADUMP.EXE
  1006.  
  1007. A program that calls TRADUMP.SYS, formats the raw data from its program
  1008. buffer, and writes the formatted dump to STDOUT (i.e., text mode
  1009. standard output to the PS/2 screen).
  1010.  
  1011.  
  1012.  
  1013.  
  1014. To install TRADUMP, perform the following steps:
  1015.  
  1016.  
  1017. 1.  Copy both TRADUMP.SYS and TRADUMP.EXE to the local fixed disk.  A
  1018. recommended approach is to copy TRADUMP.EXE into a directory that is
  1019. pointed to by the PATH statement in CONFIG.SYS.  (Another alternative is
  1020. to put TRADUMP.EXE on a diskette or redirected drive.  TRADUMP.SYS must
  1021. be on a local disk, since it is a device driver.)
  1022.  
  1023.  
  1024. 2.  Add a statement to CONFIG.SYS to load the TRADUMP.SYS device driver
  1025. at IPL time:
  1026.  
  1027.         DEVICE=d:\path\TRADUMP.SYS
  1028.  
  1029.  
  1030. 3.  Re-IPL the system to allow this change to CONFIG.SYS to take effect.
  1031.  
  1032.  
  1033.  
  1034.  
  1035.                           RUNNING TRADUMP
  1036.  
  1037.  
  1038.  
  1039. TRADUMP can be run by issuing the TRADUMP command at an OS/2 command
  1040. prompt.  This command requires no additional user interaction, and
  1041. writes to STDOUT, so it can be entered manually by an operator, called
  1042. by another program (e.g., SnapDump/2), or issued remotely from a product
  1043. like LAN Management Utilities/2 (LMU/2) or Distributed Console Access
  1044. Facility (DCAF).
  1045.  
  1046.  
  1047. COMMAND FORMAT
  1048.  
  1049.  
  1050. The format of the TRADUMP command is as follows:
  1051.  
  1052.  
  1053.  
  1054.         ──────┬──────────┬───┬──────────┬──── TRADUMP ─────>
  1055.               └──drive───┘   └──path────┘
  1056.  
  1057.         ───┬─────────────────────────────────────┬───────┤
  1058.            ├───────────────── ? ─────────────────┤
  1059.            │     ┌─────────────────────────┐     │
  1060.            └─────V───┬─────────────────┬───┴─────┘
  1061.                      ├─── /f<m,s> ─────┤
  1062.                      ├─── /a<0|1> ─────┤
  1063.                      ├───── /d ────────┤
  1064.                      └─────────────────┘
  1065.  
  1066.   TRADUMP works in conjunction with device driver TRADUMP.SYS
  1067.   to dump and/or format the contents of the token ring
  1068.   adapter memory.
  1069.  
  1070.   /fm     format the MMIO region at 0x1E00(256) and 0x1F00(512).
  1071.   /fs     format control blocks from the SRAM memory.
  1072.   /f or /fms  format both areas indicated above.
  1073.   /a      specifies primary (0) or secondary (1) adapter.
  1074.   /d      dump the complete SRAM memory to STDOUT.
  1075.  
  1076.  
  1077.  
  1078. To display this format diagram, key "TRADUMP ?".
  1079.  
  1080.  
  1081.  
  1082. OPTIONS
  1083.  
  1084.  
  1085. TRADUMP can dump MMIO, shared RAM, or both.  To dump only MMIO, key
  1086. "TRADUMP /fm".  To dump only shared RAM, key "TRADUMP /fs".  To dump
  1087. both MMIO and shared RAM, key "TRADUMP /fms", "TRADUMP /fsm", "TRADUMP
  1088. /f", or just plain "TRADUMP".
  1089.  
  1090.  
  1091. TRADUMP can dump either the primary or alternate Token-Ring Network
  1092. adapter.  To dump the alternate adapter's shared RAM, key "TRADUMP /fs
  1093. /a1".  The primary adapter is the default, and it is not necessary to
  1094. code "/a0", although it is permitted.
  1095.  
  1096.  
  1097. The "/d" parameter will create a minimally-formatted hexadecimal dump of
  1098. the entire contents of shared RAM and MMIO.  This will present the data
  1099. in the transmit and receive buffers (although the boundaries between the
  1100. various buffers and control blocks are not shown, making it difficult to
  1101. interpret).  This option was intended for use by IBM support personnel.
  1102.  
  1103.  
  1104. The options (/f, /a, and /d) and the values (m and s) can be entered in
  1105. either upper or lower case.  The value must immediately follow the
  1106. option, with no blank separating them.  If multiple options are entered,
  1107. such as "TRADUMP /fm /a1", a blank must separate the first option-value
  1108. from the second.  "TRADUMP /fm/a1" will result in an error.
  1109.  
  1110.  
  1111. Since TRADUMP.EXE writes to STDOUT, the dump will scroll up the PS/2
  1112. screen.  While this is necessary for use in certain products like
  1113. SnapDump/2, a more desirable approach may be to redirect STDOUT to
  1114. either a printer or a disk file:
  1115.  
  1116.  
  1117.          TRADUMP >lpt1:
  1118.  
  1119.            or
  1120.  
  1121.          TRADUMP >g:\dumps\srammmio.dmp
  1122.  
  1123.  
  1124.  
  1125. The resulting ASCII text file may then be shipped to a central site for
  1126. analysis, where it can be viewed with a standard text editor by
  1127. technical support personnel.
  1128.  
  1129.  
  1130.  
  1131.  
  1132. ERRORS
  1133.  
  1134.  
  1135.  
  1136. If TRADUMP detects an error that prevents it from dumping Token-Ring
  1137. Network adapter memory correctly, one of the following returns code will
  1138. be displayed:
  1139.  
  1140.  
  1141.  3
  1142.  
  1143. TRADUMP.SYS issued a programmed I/O (PIO) read to the port for the
  1144. indicated adapter, and invalid information was returned.  Check that the
  1145. adapter specification on the TRADUMP command is correct (/a0 or default
  1146. for the primary adapter, /a1 for the alternate adapter), and that the
  1147. particular adapter is actually installed and configured.
  1148.  
  1149.  
  1150.  4
  1151.  
  1152. The specified adapter is not one that is understood by this program.
  1153. Check that the adapter being dumped is one of the following:
  1154.  
  1155.      IBM Token-Ring Network Adapter for the PC I/O Bus
  1156.  
  1157.      IBM Token-Ring Network Adapter for the Micro Channel
  1158.  
  1159.  
  1160.  5
  1161.  
  1162. The specified adapter indicates that it uses a paging method that is not
  1163. understood by this program.
  1164.  
  1165.  
  1166.  
  1167. For RC= 4 or 5, the MMIO area of the adapter memory is automatically
  1168. dumped for analysis.  Have this information available when reporting
  1169. this as a problem.
  1170.  
  1171.  
  1172. A return code of 0 indicates successful completion of the dump.
  1173.  
  1174.  
  1175.  
  1176.  
  1177. PERFORMANCE
  1178.  
  1179.  
  1180.  
  1181. TRADUMP was designed to run on an active system without interrupting
  1182. normal operations.  TRADUMP.SYS will extract the MMIO and shared RAM
  1183. information from the adapter in a split-second, and write the data to a
  1184. program buffer.  Once this is done, the adapter is not "touched"
  1185. anymore.  TRADUMP.EXE will then format the data and write it to STDOUT
  1186. (i.e., the screen), which could be redirected to a disk file.
  1187.  
  1188.  
  1189. On a PS/2 Model 65SX, this whole operation takes less than three seconds
  1190. (most of that time loading TRADUMP.EXE from disk, and then writing the
  1191. redirected dump back to disk).
  1192.  
  1193.  
  1194. Dumping with the "/d" option (unformatted contents of the complete
  1195. shared RAM area) takes considerably longer (1 minute, 15 seconds on a
  1196. PS/2 Model 65SX).  Almost all of that time is spent writing to the disk
  1197. file. However, this option is not expected to be used very often.
  1198.  
  1199.  
  1200.  
  1201.  
  1202.                              SCENARIOS
  1203.  
  1204.  
  1205. What kinds of problems can TRADUMP be applied to in order to help
  1206. identify the problem source?  And how can it be used most effectively?
  1207. These questions can perhaps best be answered by describing some ways in
  1208. which shared RAM and MMIO dumps have been used by IBM support center
  1209. personnel to solve customer problems with LAN connectivity.
  1210.  
  1211.  
  1212.  
  1213.  
  1214. CONFIGURATION ERRORS
  1215.  
  1216.  
  1217. OS/2 provides the capability of running many LAN applications
  1218. concurrently.  To do this, the system needs to be configured properly.
  1219. Some of these configuration parameters include LAN resources, "pointers"
  1220. to other systems (e.g., partner LU definitions, gateway addresses,
  1221. server names), and various performance options.  The more LAN
  1222. applications that are installed on a single system, the more likely a
  1223. configuration error is likely to occur, since many of these parameters
  1224. are interdependent.
  1225.  
  1226.  
  1227. Configuration errors can be hard to track down.  With the complexity of
  1228. application programs, operating system components, and protocol layers
  1229. between the user and the actual cause of the error, it isn't uncommon
  1230. for the error message to be less than helpful in resolving the problem.
  1231. Sometimes the listings of configuration files provided to the help desk
  1232. are either out-of-date, or are of the wrong files.  A common example of
  1233. this is the Communications Manager .CFG file, where the TRNETDD.SYS and
  1234. NETBDD.SYS drivers are pointing to a different file than the one that is
  1235. active for the Communications Manager configuration process.  By showing
  1236. how the Token-Ring Network adapter was ACTUALLY opened and is currently
  1237. being used by the applications, TRADUMP makes it a lot easier to realize
  1238. that the wrong configuration file is being referenced.
  1239.  
  1240.  
  1241. Often, when a shared RAM dump is analyzed, you find that the adapter
  1242. isn't operating exactly as expected.  A SAP that should be opened isn't
  1243. there, or maybe a SAP that shouldn't be opened is there.  Perhaps a
  1244. destination address in a link station control block isn't the correct
  1245. one, or a Token-Ring Network adapter has been configured for 8K of
  1246. shared RAM, rather than 64K with 16K paging.  (This has been known to
  1247. happen occasionally when a PS/2 Reference Diskette is used to auto-
  1248. configure a system with a Token-Ring Network adapter.)  These types of
  1249. things aren't readily apparent when looking at configuration files, and
  1250. TRADUMP may actually lead you to a mis-configured parameter in a place
  1251. you wouldn't have thought of looking before.
  1252.  
  1253.  
  1254.  
  1255. INSUFFICIENT RESOURCES
  1256.  
  1257.  
  1258. Each LAN application has different requirements in terms of LAN
  1259. resources.  Sometimes these requirements are not spelled out adequately
  1260. in the application documentation, or the documentation is incorrect.
  1261. TRADUMP can show very clearly what adapter resources an application has
  1262. allocated, and how it is using the resources.
  1263.  
  1264.  
  1265.  
  1266. VERIFYING CONNECTIONS
  1267.  
  1268.  
  1269. Some PS/2's such as servers and gateways may connect to a large number
  1270. of other devices on the LAN.  Although the server and gateway
  1271. applications themselves have utilities to display or list connected
  1272. devices, the information is usually at a high level.  TRADUMP can
  1273. supplement this connectivity status by providing details about the link
  1274. connection between the systems (including error counts, MAC addresses,
  1275. timer values, and bridge path).
  1276.  
  1277.  
  1278.  
  1279. SOFTWARE DEFECTS
  1280.  
  1281.  
  1282. TRADUMP can be useful in disclosing a logic error in a software
  1283. component, in terms of its use of the LAN adapter.  This software might
  1284. either be a part of OS/2 or one of its subsystems, or an application
  1285. program written to the 802.2 API.  On one occasion, changing MAXOUT and
  1286. MAXIN on an application configuration panel for the purpose of improving
  1287. performance actually degraded performance drastically.  By looking at
  1288. the link station control block, it turned out that while MAXIN had been
  1289. changed to the expected value, MAXOUT had not changed.  With MAXIN on
  1290. one system exceeding MAXOUT on the partner system, a significant delay
  1291. was encountered every time a frame was sent, because the acknowledgement
  1292. didn't flow until the receiver acknowledgement timer (T2) expired.  A
  1293. simple correction to the logic of the 802.2 application corrected the
  1294. problem.
  1295.  
  1296.  
  1297.  
  1298.  
  1299.                        TRADUMP AND SNAPDUMP/2
  1300.  
  1301.  
  1302.  
  1303. TRADUMP may be run on-demand as a standalone tool, even remotely.
  1304. However, its greatest potential is realized when the dump is analyzed in
  1305. conjunction with other detailed information about the system.
  1306.  
  1307.  
  1308. SnapDump/2 is a problem management tool that makes it easy to collect
  1309. vital problem data from an OS/2 system.  It takes a "snapshot" of the
  1310. system, gathering a predefined list of files (e.g., IBMLAN.INI,
  1311. STARTUP.CMD, Communications Manager configuration file) and executing
  1312. status commands (e.g., NET ERROR, SYSLEVEL, PSTAT, NetBIOS resource and
  1313. session status, and TRADUMP).  All of this information is consolidated
  1314. into a single file, which can be shipped to a central site for problem
  1315. analysis by skilled personnel.
  1316.  
  1317.  
  1318. The format of the command to gather the data is:
  1319.  
  1320. SNAPDUMP d:\path\file.in d:\path\file.out
  1321.  
  1322.  
  1323.  
  1324. The value "file.in" is the name of the SnapDump/2 input file, a
  1325. "shopping list" designating the information that is vital for solving a
  1326. particular class of problem.  For example, the input file for gathering
  1327. the information described above would look like this:
  1328.  
  1329.  
  1330. f/IBMLAN.INI
  1331. f/STARTUP.CMD
  1332. f/*.CFG
  1333. p/NET ERROR /R
  1334. p/SYSLEVEL
  1335. p/PSTAT
  1336. p/NCBSTAT *
  1337. p/NETSESS2
  1338. p/TRADUMP
  1339.  
  1340.  
  1341. SnapDump/2 will search all directories for the files designated by "f/" and
  1342. copy any occurrences of the files to the SnapDump/2 output file ("file.out").
  1343. The commands indicated by "p/" will be executed, with STDOUT redirected to
  1344. "file.out".  Notice that the TRADUMP command needs no other redirection in
  1345. this case, since SnapDump/2 automatically redirects STDOUT to its output file.
  1346. In order for TRADUMP to run successfully, it must have been previously
  1347. installed on the system, as described in "Installing TRADUMP".
  1348.  
  1349.  
  1350. The SnapDump/2 output file can then be viewed by the SNAPDF program,
  1351. which is a Presentation Manager (PM) application:
  1352.  
  1353.  
  1354. SNAPDF d:\path\file.out
  1355.  
  1356.  
  1357.  
  1358.                          SAMPLE TRADUMP OUTPUT
  1359.  
  1360.  
  1361.  
  1362.  
  1363. Return code from TRADUMP.SYS          0
  1364. TR adapter type                       MARS
  1365. Adapter supports total SRAM           64 (K)
  1366. Page size                             16 (K)
  1367. Adapter paging supported              SRAM paging with 16K page.
  1368.  
  1369. Formatting of MMIO Attachment Control Area
  1370.  
  1371.     SRAM low  real address            0D0000
  1372.     Write window offset               00EEAE
  1373.     End write window offset           00F640
  1374.     Write region offset               00F646
  1375.     SRAM high real address            0D4000
  1376.     Other control registers available in MMIO - ACA dump.
  1377.  
  1378. Dump of MMIO - ACA
  1379. 1E00     D004F646 EEAEF640 C2000300 E840010A     ...F...@.....@..
  1380. 1E10     00000000 00000000 00000000 00000000     ................
  1381. 1E20     D004F646 EEAEF640 C2000300 E840010A     ...F...@.....@..
  1382. 1E30     00000000 00000000 00000000 00000000     ................
  1383. 1E40     D004F646 EEAEF640 C2000300 E840010A     ...F...@.....@..
  1384. 1E50     00000000 00000000 00000000 00000000     ................
  1385. 1E60     D004F646 EEAEF640 C2000300 E840010A     ...F...@.....@..
  1386. 1E70     00000000 00000000 00000000 00000000     ................
  1387.  
  1388. Formatting of MMIO Adapter Identification PROM
  1389.  
  1390.     Adapter encoded address           10005A8DA203
  1391.     Signature (channel ident)         MARS63X4518
  1392.     Adapter type                      0E
  1393.     Data rate                         16/4 Mbps
  1394.     Early token release               16 Mbps
  1395.     Total shared ram                  64 KB (top 512 reserved)
  1396.     Shared ram paging                 16 KB page
  1397.     Max DHB at   4 Mbps               4464 bytes
  1398.     Max DHB at  16 Mbps               17960 bytes
  1399.     Other PROM values available in MMIO - AIP dump.
  1400.  
  1401. Dump of MMIO - AIP
  1402. 1F00     01000000 00000000 05000A00 08000D00     ................
  1403. 1F10     0A000200 00000300 0E000F00 0F000F00     ................
  1404. 1F20     0A000500 07000200 05000D00 0F000C00     ................
  1405. 1F30     04000D00 04000100 05000200 05000300     ................
  1406. 1F40     03000600 03000300 05000800 03000400     ................
  1407. 1F50     03000500 03000100 03000800 02000000     ................
  1408. 1F60     0B000F00 0F000F00 0F000F00 0F000F00     ................
  1409. 1F70     0F000F00 0F000F00 0F000F00 0F000F00     ................
  1410. 1F80     01000300 05000700 09000B00 0D000F00     ................
  1411. 1F90     0E000C00 0A000800 06000400 00000200     ................
  1412. 1FA0     0E000D00 0D000B00 0E000D00 0B000F00     ................
  1413. 1FB0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  1414. 1FC0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  1415. 1FD0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  1416. 1FE0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  1417. 1FF0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423. Formatting of SRAM Node Control Block
  1424.  
  1425.     Universal address                 10005A8DA203
  1426.     Local administered address        10005A8DA203
  1427.     End of ram                        FE00
  1428.     SRB address                       FDD8
  1429.     Adapter open options              2000
  1430.     Group address                     00000000
  1431.     Functional address                00000080
  1432.     Minimum receive buffers           002F
  1433.     Receive buffer length             0060
  1434.     DHB length                        0798
  1435.     Number of DHBs                    02
  1436.     Maximum # SAPs                    05
  1437.     Maximum # link stations           20
  1438.     Maximum # group SAPs              00
  1439.     Maximum members/group SAP         00
  1440.     Product ID                        85654533712121 (ASCII)
  1441.     T1 timer Group 1                  0F
  1442.     T2 timer Group 1                  03
  1443.     Ti timer Group 1                  FF
  1444.     T1 timer Group 2                  19
  1445.     T2 timer Group 2                  0A
  1446.     Ti timer Group 2                  FF
  1447.  
  1448. Formatting of SAP and Link Station Control Blocks
  1449.  
  1450.     Free SAPCB queue                  DBE8
  1451.     Free SAPCB count                  03
  1452.     SAPCB base address                DB28
  1453.     Free LSCB  queue                  DEE8
  1454.     Free LSCB  count                  14
  1455.     LSCB  base address                DC18
  1456.  
  1457.  
  1458.  
  1459.  
  1460. Format of SAP for station ids 01xx - value 04 - SNA
  1461.  
  1462.     Default T1/T2/Ti values           05020A
  1463.     Default MAXOUT                    02
  1464.     Default MAXIN                     01
  1465.     Default MAXIN/OUT incremnt        01
  1466.     Default max retries               08
  1467.     Default max I-field length        0409
  1468.     LSCBs avail (not in use)          03
  1469.  
  1470. Format of LSCB for station id 0101
  1471.  
  1472.     MAC hdr - Destination addr        400020200212
  1473.     MAC hdr - Source      addr        90005A8DA203
  1474.     Routing information length        08
  1475.     MAC hdr - Routing control         0820
  1476.     MAC hdr - Route segment           C0D1
  1477.     MAC hdr - Route segment           B001
  1478.     MAC hdr - Route segment           C030
  1479.     LLC hdr - DSAP                    04
  1480.     LLC hdr - SSAP                    04
  1481.     LLC hdr - Control field           01A9 (Supervisory, RR)
  1482.     I-frames transmitted              019D
  1483.     I-frames received                 0154
  1484.     I-frame transmit errors           00
  1485.     I-frame receive  errors           00
  1486.     T1 expirations                    001A
  1487.     Last received cmd or rsp          01 (Supervisory, RR)
  1488.     T1/T2/Ti values                   05020A
  1489.     Link primary state                01 (Open)
  1490.     Link secondary state              00
  1491.     Vs - send state                   3A
  1492.     Vr - receive state                A8
  1493.     Va - acknowledge state            3A
  1494.     Vi - initialization state         00
  1495.     TW - max transmit window          07
  1496.     N3 - I-fmt LPDUs betw acks        01
  1497.     Nw - I-fmt LPDUs ack to Ww        01
  1498.     N2 - retries allowed              08
  1499.     N1 - max length I-field           0409
  1500.     Is_Ct - I-fmt retry count         08
  1501.     P_Ct  - Poll  retry count         08
  1502.     Ww - working window size          07
  1503.     Working MAXIN                     01
  1504.     Ia_Ct - I-fmt LPDUs acked         00
  1505.  
  1506.  
  1507.  
  1508.  
  1509. Format of SAP for station ids 02xx - value F0 - NETBIOS
  1510.  
  1511.     Default T1/T2/Ti values           050203
  1512.     Default MAXOUT                    02
  1513.     Default MAXIN                     01
  1514.     Default MAXIN/OUT incremnt        01
  1515.     Default max retries               08
  1516.     Default max I-field length        1170
  1517.     LSCBs avail (not in use)          05
  1518.  
  1519. Format of LSCB for station id 0202
  1520.  
  1521.     MAC hdr - Destination addr        10005A8DAA7C
  1522.     MAC hdr - Source      addr        90005A8DA203
  1523.     Routing information length        06
  1524.     MAC hdr - Routing control         06B0
  1525.     MAC hdr - Route segment           0891
  1526.     MAC hdr - Route segment           C0D0
  1527.     LLC hdr - DSAP                    F0
  1528.     LLC hdr - SSAP                    F1
  1529.     LLC hdr - Control field           0146 (Supervisory, RR)
  1530.     I-frames transmitted              0027
  1531.     I-frames received                 0023
  1532.     I-frame transmit errors           00
  1533.     I-frame receive  errors           00
  1534.     T1 expirations                    0000
  1535.     Last received cmd or rsp          44 (I-frame)
  1536.     T1/T2/Ti values                   060304
  1537.     Link primary state                01 (Open)
  1538.     Link secondary state              00
  1539.     Vs - send state                   4E
  1540.     Vr - receive state                46
  1541.     Va - acknowledge state            4E
  1542.     Vi - initialization state         00
  1543.     TW - max transmit window          02
  1544.     N3 - I-fmt LPDUs betw acks        01
  1545.     Nw - I-fmt LPDUs ack to Ww        01
  1546.     N2 - retries allowed              08
  1547.     N1 - max length I-field           1170
  1548.     Is_Ct - I-fmt retry count         08
  1549.     P_Ct  - Poll  retry count         08
  1550.     Ww - working window size          02
  1551.     Working MAXIN                     01
  1552.     Ia_Ct - I-fmt LPDUs acked         00
  1553.  
  1554.  
  1555.  
  1556.  
  1557. Format of LSCB for station id 0203
  1558.  
  1559.     MAC hdr - Destination addr        10005A8DFC27
  1560.     MAC hdr - Source      addr        90005A8DA203
  1561.     Routing information length        06
  1562.     MAC hdr - Routing control         06B0
  1563.     MAC hdr - Route segment           0891
  1564.     MAC hdr - Route segment           C0D0
  1565.     LLC hdr - DSAP                    F0
  1566.     LLC hdr - SSAP                    F1
  1567.     LLC hdr - Control field           0113 (Supervisory, RR)
  1568.     I-frames transmitted              0011
  1569.     I-frames received                 0009
  1570.     I-frame transmit errors           00
  1571.     I-frame receive  errors           00
  1572.     T1 expirations                    0000
  1573.     Last received cmd or rsp          01 (Supervisory, RR)
  1574.     T1/T2/Ti values                   060304
  1575.     Link primary state                01 (Open)
  1576.     Link secondary state              00
  1577.     Vs - send state                   22
  1578.     Vr - receive state                12
  1579.     Va - acknowledge state            22
  1580.     Vi - initialization state         00
  1581.     TW - max transmit window          02
  1582.     N3 - I-fmt LPDUs betw acks        01
  1583.     Nw - I-fmt LPDUs ack to Ww        01
  1584.     N2 - retries allowed              08
  1585.     N1 - max length I-field           1170
  1586.     Is_Ct - I-fmt retry count         08
  1587.     P_Ct  - Poll  retry count         08
  1588.     Ww - working window size          02
  1589.     Working MAXIN                     01
  1590.     Ia_Ct - I-fmt LPDUs acked         00
  1591.  
  1592.  
  1593.  
  1594.  
  1595. Format of LSCB for station id 0204
  1596.  
  1597.     MAC hdr - Destination addr        10005A8DF8A6
  1598.     MAC hdr - Source      addr        90005A8DA203
  1599.     Routing information length        06
  1600.     MAC hdr - Routing control         06B0
  1601.     MAC hdr - Route segment           0891
  1602.     MAC hdr - Route segment           C0D0
  1603.     LLC hdr - DSAP                    F0
  1604.     LLC hdr - SSAP                    F1
  1605.     LLC hdr - Control field           0108 (Supervisory, RR)
  1606.     I-frames transmitted              0005
  1607.     I-frames received                 0004
  1608.     I-frame transmit errors           00
  1609.     I-frame receive  errors           00
  1610.     T1 expirations                    0000
  1611.     Last received cmd or rsp          06 (I-frame)
  1612.     T1/T2/Ti values                   060304
  1613.     Link primary state                01 (Open)
  1614.     Link secondary state              00
  1615.     Vs - send state                   0A
  1616.     Vr - receive state                08
  1617.     Va - acknowledge state            0A
  1618.     Vi - initialization state         00
  1619.     TW - max transmit window          02
  1620.     N3 - I-fmt LPDUs betw acks        01
  1621.     Nw - I-fmt LPDUs ack to Ww        01
  1622.     N2 - retries allowed              08
  1623.     N1 - max length I-field           1170
  1624.     Is_Ct - I-fmt retry count         08
  1625.     P_Ct  - Poll  retry count         08
  1626.     Ww - working window size          02
  1627.     Working MAXIN                     01
  1628.     Ia_Ct - I-fmt LPDUs acked         00
  1629.  
  1630.  
  1631.  
  1632. SAP for station ids 03xx at DBE8 is not open.
  1633.  
  1634. SAP for station ids 04xx at DC28 is not open.
  1635.  
  1636. SAP for station ids 05xx at DC68 is not open.
  1637.  
  1638. LSCB for station id xx05 at DEE8 is unused.
  1639.  
  1640. LSCB for station id xx06 at DF78 is unused.
  1641.  
  1642. LSCB for station id xx07 at E008 is unused.
  1643.  
  1644. LSCB for station id xx08 at E098 is unused.
  1645.  
  1646. LSCB for station id xx09 at E128 is unused.
  1647.         .
  1648.         .
  1649.         .
  1650. LSCB for station id xx10 at E518 is unused.
  1651.  
  1652. LSCB for station id xx11 at E5A8 is unused.
  1653.  
  1654. LSCB for station id xx12 at E638 is unused.
  1655.  
  1656. LSCB for station id xx13 at E6C8 is unused.
  1657.  
  1658. LSCB for station id xx14 at E758 is unused.
  1659.  
  1660. LSCB for station id xx15 at E7E8 is unused.
  1661.  
  1662. LSCB for station id xx16 at E878 is unused.
  1663.  
  1664. LSCB for station id xx17 at E908 is unused.
  1665.  
  1666. LSCB for station id xx18 at E998 is unused.
  1667.  
  1668. LSCB for station id xx19 at EA28 is unused.
  1669.  
  1670. LSCB for station id xx1A at EAB8 is unused.
  1671.  
  1672. LSCB for station id xx1B at EB48 is unused.
  1673.  
  1674. LSCB for station id xx1C at EBD8 is unused.
  1675.  
  1676. LSCB for station id xx1D at EC68 is unused.
  1677.  
  1678. LSCB for station id xx1E at ECF8 is unused.
  1679.  
  1680. LSCB for station id xx1F at ED88 is unused.
  1681.  
  1682. LSCB for station id xx20 at EE18 is unused.
  1683.  
  1684.  
  1685.  
  1686.                   INTRODUCTION TO INSTALLING AND USING
  1687.         LAN ADAPTER AND PROTOCOL SUPPORT DUMP/FORMATTER (LAPSDUMP)
  1688.  
  1689.  
  1690.  
  1691.      May 19, 1992
  1692.  
  1693.  
  1694.      Mark B. Arslan     (ARSLAN @ DALVM41B)
  1695.  
  1696.  
  1697.      Systems/Networking Management Services
  1698.      Networking & Systems Services & Support
  1699.      Cary, NC
  1700.  
  1701.                                   (i)
  1702.  
  1703.  
  1704. NOTICES
  1705.  
  1706.  
  1707. The information contained in this document has not been submitted to any
  1708. formal IBM test and is distributed on an "as-is" basis without any
  1709. warranty either expressed or implied.  The use of this information or
  1710. the implementation of any of these techniques is a customer
  1711. responsibility and depends on the customer's ability to evaluate and
  1712. integrate them into the customer's operational environment. While each
  1713. item may have been reviewed by IBM for accuracy in a specific situation,
  1714. there is no guarantee that the same or similar results will be obtained
  1715. elsewhere. Customers attempting to adapt these techniques to their own
  1716. environments do so at their own risk.
  1717.  
  1718.  
  1719. Performance data contained in this document was determined in a
  1720. controlled environment; and therefore, the results which may be obtained
  1721. in other operating environments may vary significantly.  Users of this
  1722. document should verify the applicable data for their specific
  1723. environment.
  1724.  
  1725. References in this publication to IBM products, programs, or services do
  1726. not imply that IBM intends to make these available in all countries in
  1727. which IBM operates.  Any reference to an IBM licensed program in this
  1728. publication is not intended to state or imply that only IBM's program
  1729. may be used.  Any functionally equivalent program may be used instead.
  1730.  
  1731.                                   (ii)
  1732.  
  1733.                                 PREFACE
  1734.  
  1735.  
  1736. In the complex area of distributed OS/2 local area networks, one of the
  1737. most important elements of problem management is problem source
  1738. identification.  It is the process of isolating a problem to its failing
  1739. component or the system resource responsible for the problem.  Problem
  1740. source identification (or PSI) is particularly difficult in this
  1741. environment due to the large number of interrelated system components
  1742. and the relative scarcity of adequate PSI facilities (tools, utilities,
  1743. product functions) and documented PSI procedures.
  1744.  
  1745.  
  1746. A class of LAN problems that can be especially challenging is that of
  1747. LAN connectivity ("System A can't communicate with System B over the
  1748. network").  Solving this type of problem often requires knowledge of the
  1749. workings of the layers of the protocol stack (802.5, 802.2, NetBIOS,
  1750. SNA, etc.) on each system, including APIs, resource requirements,
  1751. contents of internal buffers, event logs, messages, and formats and
  1752. protocols of frame exchange.  When connectivity problems occur, clues
  1753. are often left behind.  Analyzing these elements of the protocol layers
  1754. will usually lead to the solution of the problem, provided that the
  1755. problem-solver has adequate tools and sufficient skills.
  1756.  
  1757.  
  1758. Some particularly useful components for PSI include the following:
  1759.  
  1760. - Shared RAM and memory-mapped I/O (MMIO) in the IBM PS/2 Token-Ring
  1761.     Network adapter
  1762.  
  1763. - Work area of the 802.2 protocol driver (LANDD.OS2)
  1764.  
  1765. - Work areas of the NetBIOS protocol driver (NETBEUI.OS2) and device
  1766.     driver for API support (NETBIOS.OS2)
  1767.  
  1768.  
  1769. There is a tool called LAPSDUMP that dumps these buffer areas and
  1770. formats the dump data into an ASCII text file or STDOUT.  The purpose of
  1771. this manual is to show technically-knowledgeable SEs and specialists how
  1772. to use LAPSDUMP effectively (in conjunction with other tools and
  1773. facilities) to aid in the resolution of LAN connectivity problems.
  1774.  
  1775.  
  1776. Note:  The supported adapters for the shared RAM and MMIO dumps include
  1777. the IBM Token-Ring Network adapters that operate as described in Chapter
  1778. 7 of the IBM LOCAL AREA NETWORK TECHNICAL REFERENCE (SC30-3383-03).
  1779. This does not include the IBM Token-Ring Network Busmaster Server
  1780. Adapter/A.  However, the 802.2 and NetBIOS protocol drivers can be
  1781. dumped regardless of the type of LAN adapters present.
  1782.  
  1783.  
  1784. LAN Adapter and Protocol Support (LAPS) ships with Extended Services for
  1785. OS/2 and LAN Server V2.0.  LAPS handles shared RAM and the NetBIOS/802.2
  1786. interface quite differently than OS/2 Extended Edition V1.3.  Under OS/2
  1787. EE V1.3, a dump of MMIO and shared RAM is provided by a tool called
  1788. Token-Ring Network Adapter Shared RAM Dump (TRADUMP).  Refer to the
  1789. manual GUIDELINES FOR USING TRADUMP FOR DEBUGGING LAN CONNECTIVITY
  1790. PROBLEMS (GG66-3227).
  1791.  
  1792.                                   (iii)
  1793.  
  1794.  
  1795. RELATED PUBLICATIONS
  1796.  
  1797.  
  1798. A much more detailed discussion of interpreting LAPSDUMP output can be
  1799. found in :
  1800.  
  1801.    GUIDELINES FOR USING LAN ADAPTER & PROTOCOL SUPPORT DUMP/FORMATTER
  1802.      (LAPSDUMP) FOR DEBUGGING LAN CONNECTIVITY PROBLEMS
  1803.  
  1804. No form number has been assigned yet, but a copy of this document may be
  1805. obtained by having your Systems Engineer contact this author (ARSLAN @
  1806. DALVM41B).
  1807.  
  1808.  
  1809. The following publications contain information that may also be helpful:
  1810.  
  1811.    IBM LOCAL AREA NETWORK TECHNICAL REFERENCE (SC30-3383-03)
  1812.  
  1813.    IBM TOKEN-RING NETWORK ARCHITECTURE REFERENCE (SC30-3374-02)
  1814.  
  1815.    IBM NDIS IMPLEMENTATION INFORMATION:  IBM OS2 LAN TECHNICAL REFERENCE
  1816.      EXTENSIONS, dated March 3, 1992, available from IBM Corporation, PS
  1817.      Programming Center, 11400 Burnet Road, Austin, TX  78758.
  1818.  
  1819.    IBM OS/2 LAN SERVER V2.0 NETWORK ADMINISTRATOR REFERENCE, Volume 2:
  1820.      Performance Tuning (S04G-1033)
  1821.  
  1822.                                    (1)
  1823.  
  1824.  
  1825.                           INSTALLING LAPSDUMP
  1826.  
  1827.  
  1828. LAPSDUMP consists of two modules:
  1829.  
  1830.  
  1831.   LAPSDUMP.EXE
  1832.  
  1833. A program that obtains the work areas from LANDD.0S2, NETBEUI.OS2, and
  1834. NETBIOS.OS2, and the TRADUMP.SYS program buffer, formats the raw data,
  1835. and writes the formatted dump to STDOUT (i.e., text mode standard output
  1836. to the PS/2 screen).
  1837.  
  1838.  
  1839.   TRADUMP.SYS
  1840.  
  1841. A device driver that determines the location of MMIO and shared RAM in
  1842. the PS/2 memory address space, reads the contents of each, and writes
  1843. the output to a program buffer.
  1844.  
  1845.  
  1846.  
  1847. To install LAPSDUMP, perform the following steps:
  1848.  
  1849.  
  1850. 1.  Copy both TRADUMP.SYS and LAPSDUMP.EXE to the local fixed disk.  A
  1851. recommended approach is to copy LAPSDUMP.EXE into a directory that is
  1852. pointed to by the PATH statement in CONFIG.SYS.  (Another alternative is
  1853. to put LAPSDUMP.EXE on a diskette or redirected drive.  TRADUMP.SYS must
  1854. be on a local disk, since it is a device driver.)
  1855.  
  1856. 2.  Add a statement to CONFIG.SYS to load the TRADUMP.SYS device driver
  1857. at IPL time:
  1858.  
  1859.         DEVICE=d:\path\TRADUMP.SYS
  1860.  
  1861.  
  1862. 3. Re-IPL the system to allow this change to CONFIG.SYS to take effect.
  1863.  
  1864.  
  1865.  
  1866. Note:  TRADUMP.SYS is optional, if you don't require the information
  1867. provided by shared RAM and MMIO.  LAPSDUMP will bypass the formatting of
  1868. those areas if it detects that TRADUMP.SYS has not been loaded.
  1869.  
  1870.  
  1871.                                    (2)
  1872.  
  1873.  
  1874.                             RUNNING LAPSDUMP
  1875.  
  1876.  
  1877.  
  1878. LAPSDUMP can be run by issuing the LAPSDUMP command at an OS/2 command
  1879. prompt.  This command requires no additional user interaction, and
  1880. writes to STDOUT, so it can be entered manually by an operator, called
  1881. by another program (e.g., SnapDump/2), or issued remotely from a product
  1882. like LAN Management Utilities/2 (LMU/2) or Distributed Console Access
  1883. Facility (DCAF).
  1884.  
  1885.  
  1886.  
  1887. COMMAND FORMAT
  1888.  
  1889.  
  1890. The format of the LAPSDUMP command is as follows:
  1891.  
  1892.  
  1893.         ------.----------.---.----------.---- LAPSDUMP ----->
  1894.               |--drive---|   |---path---|
  1895.  
  1896.         ---.-------------------------------------.-------Ü
  1897.            |----------------- ? -----------------|
  1898.            |     .-------------------------.     |
  1899.            |-----V---√-----------------√---|-----|
  1900.                      °- /f<m,s,l,n,y> -Ü
  1901.                      °-- /a<0|1|2|3> --Ü
  1902.                      ⁿ------ /d -------α
  1903.  
  1904.   LAPSDUMP extracts memory segments from the LAN Adapter & Protocol Support
  1905.   (LAPS) modules in OS/2, and format/dumps that memory. It also uses the
  1906.   TRADUMP.SYS device driver (if present) to format/dump the contents of the
  1907.   token ring adapter shared ram memory and/or the MMIO region.
  1908.   The /f option chooses the memory to format. Any combination of the choices
  1909.   <m,s,l,n,y> is allowed (no intervening blanks). The default is to format all.
  1910.  
  1911.   /fm     format the MMIO region at 0x1E00(256) and 0x1F00(512).
  1912.   /fs     format control blocks from the adapter SRAM memory.
  1913.   /fl     format the LANDD (802.2) memory segments.
  1914.   /fn     format the NETBEUI/NETBIOS memory segments.
  1915.   /fy     format only the NETBIOS memory segment.
  1916.   /a      specifies primary (0) or an alternate (1|2|3) adapter.
  1917.   /d      in addition to formatting, dump the specified memory areas.
  1918.   Note:   TRADUMP.SYS is only needed for the /fms memory options.
  1919.  
  1920.  
  1921.  
  1922. To display this format diagram, key "LAPSDUMP ?".
  1923.  
  1924.                                    (3)
  1925.  
  1926.  
  1927. OPTIONS
  1928.  
  1929.  
  1930.  
  1931.   "/f" (areas to format)
  1932.  
  1933.  
  1934. LAPSDUMP can dump and format several different areas of memory, either
  1935. separately, or as a whole.  The "/f" option allows you to specify which
  1936. area(s) you are interested in.
  1937.  
  1938.  
  1939. To dump all areas, key "LAPSDUMP /fsmlny", "LAPSDUMP /f", or just plain
  1940. "LAPSDUMP".  The default is to dump and format all areas.
  1941.  
  1942.  
  1943. To dump only a particular area, or areas, include the desired value(s)
  1944. after the "/f" option.  For example, to dump only the work area of the
  1945. 802.2 protocol driver (LANDD.OS2), key "LAPSDUMP /fl".  To dump both
  1946. 802.2 and NetBIOS, key "LAPSDUMP /fln".
  1947.  
  1948.  
  1949. The value "n" includes the work areas of both the NetBIOS protocol
  1950. driver (NETBEUI.OS2) and device driver for API support (NETBIOS.OS2).
  1951. NETBIOS.OS2's work area describes the "ring 3" NetBIOS applications.
  1952. The "y" option is used to dump only the NETBIOS.OS2 work area.  (That
  1953. is, "y" is a subset of the "n" option.)  To gather information about the
  1954. resource allocation and usage of ring 3 NetBIOS applications only, key
  1955. "LAPSDUMP /fy".
  1956.  
  1957.  
  1958.  
  1959.  
  1960.   "/a" (adapter number)
  1961.  
  1962.  
  1963. For the dump of shared RAM and/or MMIO, the "/a" option refers to the
  1964. physical number of the adapter being dumped, since these areas reside on
  1965. the adapter itself.  A value of "0" (the default) refers to the primary
  1966. Token-Ring Network adapter, while a "1" refers to the alternate adapter.
  1967. For example, the command "LAPSDUMP /fsm /a1" will dump and format the
  1968. shared RAM and MMIO for the alternate Token-Ring Network adapter. Values
  1969. of "2" or "3" have no meaning in this context and should not be used.
  1970.  
  1971.  
  1972. For the remaining areas to be dumped (802.2 and NetBIOS), the "/a"
  1973. option refers to the logical, not physical, adapter number that was
  1974. configured for the 802.2 and NetBIOS protocol drivers.  For example, the
  1975. command "LAPSDUMP /fln /a3" will dump the 802.2 and NetBIOS information
  1976. corresponding to logical adapter number 3 (which is, in turn, bound to a
  1977. network adapter (MAC) driver).
  1978.  
  1979.  
  1980. If the PS/2 has only a single Token-Ring Network adapter configured as
  1981. primary, and the 802.2 and NetBIOS protocol drivers are both configured
  1982. with logical adapter number 0, then it is not necessary to code the "/a"
  1983. option in the command.
  1984.  
  1985.                                    (4)
  1986.  
  1987.  
  1988.   "/d" (unformatted dump)
  1989.  
  1990.  
  1991. The "/d" option will create an unformatted hexadecimal dump of the
  1992. control blocks from each of the areas that are selected to be dumped.
  1993. Among other things, this can be used to present the data in the transmit
  1994. and receive buffers (although the boundaries between the various buffers
  1995. and control blocks are not shown, making it difficult to interpret).
  1996. This option was intended for use by IBM support personnel.
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002. The options (/f, /a, and /d) and the values (m, s, l, n, and y) can be
  2003. entered in either upper or lower case.  The value must immediately
  2004. follow the option, with no blank separating them.  If multiple options
  2005. are entered, such as "LAPSDUMP /fy /a1", a blank must separate the first
  2006. option-value from the second.  "LAPSDUMP /fy/a1" will result in an
  2007. error.
  2008.  
  2009.  
  2010. Since LAPSDUMP.EXE writes to STDOUT, the dump will scroll up the PS/2
  2011. screen.  While this is necessary for use in certain products like
  2012. SnapDump/2, a more desirable approach may be to redirect STDOUT to
  2013. either a printer or a disk file, or pipe it to MORE.
  2014.  
  2015.  
  2016.          LAPSDUMP >lpt1:
  2017.  
  2018.            or
  2019.  
  2020.          LAPSDUMP >g:\dumps\srammmio.dmp
  2021.  
  2022.            or
  2023.  
  2024.          LAPSDUMP |MORE
  2025.  
  2026.  
  2027. The resulting ASCII text file may then be shipped to a central site
  2028. for analysis, where it can be viewed with a standard text editor by
  2029. technical support personnel.
  2030.  
  2031.                                    (5)
  2032.  
  2033.  
  2034. ERRORS
  2035.  
  2036.  
  2037.  
  2038. LAPSDUMP calls TRADUMP.SYS, LANDD.OS2, and NETBEUI.OS2 to access the
  2039. requested information.  If it is unable to successfully obtain the
  2040. information from any of these modules, an error message will be sent to
  2041. STDOUT (along with the rest of the formatted output).
  2042.  
  2043.  
  2044.  
  2045.   TRADUMP.SYS
  2046.  
  2047.  
  2048. The following message indicates that the TRADUMP.SYS device driver has
  2049. not been loaded.  Check CONFIG.SYS to make sure that a
  2050. DEVICE=\path\TRADUMP.SYS statement is present.
  2051.  
  2052.  
  2053.    Error on DosOpen for TRADUMP device driver, rc = 110
  2054.    rc 110 indicates that TRADUMP.SYS is not installed.
  2055.  
  2056.  
  2057. If TRADUMP.SYS detects an error that prevents it from dumping Token-Ring
  2058. Network adapter memory correctly, one of the following return codes will
  2059. be displayed:
  2060.  
  2061.  
  2062. rc=3
  2063.  
  2064. TRADUMP.SYS issued a programmed I/O (PIO) read to the port for the
  2065. indicated adapter, and invalid information was returned.  Check that the
  2066. adapter specification on the LAPSDUMP command is correct (/a0 or default
  2067. for the primary adapter, /a1 for the alternate adapter), and that the
  2068. particular adapter is actually installed and configured.
  2069.  
  2070.  
  2071. rc=4
  2072.  
  2073. The specified adapter is not one that is understood by this program.
  2074. Check that the adapter being dumped is supported by LAPSDUMP.
  2075.  
  2076.  
  2077. rc=5
  2078.  
  2079. The specified adapter indicates that it uses a paging method that is not
  2080. understood by this program.
  2081.  
  2082.  
  2083.  
  2084. For RC= 4 or 5, the MMIO area of the adapter memory is automatically
  2085. dumped for analysis.  Have this information available when reporting
  2086. this as a problem.
  2087.  
  2088.  
  2089. A return code of 0 indicates successful completion of the shared RAM or
  2090. MMIO dump.
  2091.  
  2092.  
  2093.                                    (6)
  2094.  
  2095.  
  2096.   LANDD.OS2 and NETBEUI.OS2
  2097.  
  2098.  
  2099.  
  2100. If LAPSDUMP is not able to access these protocol drivers, then one or
  2101. both of the following messages will appear:
  2102.  
  2103.    Error 3 on Open of \dev\landd$   for V2 DD dump.
  2104.  
  2105.    Error 3 on Open of \dev\netbeui$ for V2 DD dump.
  2106.  
  2107.  
  2108. If this occurs, check the CONFIG.SYS file to make sure that the DEVICE=
  2109. statements reference these drivers.  Also, check LANTRAN.LOG for any
  2110. indications that they didn't load properly.  (If you have replaced these
  2111. drivers with other 802.2 or NetBIOS protocol drivers, then LAPSDUMP may
  2112. not function properly.)
  2113.  
  2114.  
  2115.                                    (7)
  2116.  
  2117.  
  2118.                               PERFORMANCE
  2119.  
  2120.  
  2121.  
  2122. LAPSDUMP was designed to run on an active system without interrupting
  2123. normal operations.  TRADUMP.SYS will extract the MMIO and shared RAM
  2124. information from the adapter in a split-second, and write the data to a
  2125. program buffer.  Once this is done, the adapter is not "touched"
  2126. anymore.  LAPSDUMP.EXE will then format the data and write it to STDOUT
  2127. (i.e., the screen), which could be redirected to a disk file.  (The
  2128. calls to the LANDD.OS2 and NETBEUI.OS2 protocol drivers are also
  2129. designed to be non-disruptive.)
  2130.  
  2131.  
  2132. On a PS/2 Model 65SX, this whole operation takes less than three seconds
  2133. (most of that time loading LAPSDUMP.EXE from disk, and then writing the
  2134. redirected dump back to disk).
  2135.  
  2136.  
  2137. Dumping with the "/d" option (unformatted contents of all the control
  2138. blocks) takes considerably longer (3 minutes, 20 seconds on a PS/2 Model
  2139. 65SX).  Almost all of that time is spent writing to the disk file.
  2140. However, this option is not expected to be used very often.
  2141.  
  2142.                                    (8)
  2143.  
  2144.  
  2145.                                SCENARIOS
  2146.  
  2147.  
  2148.  
  2149. What kinds of problems can LAPSDUMP be applied to in order to help
  2150. identify the problem source?  And how can it be used most effectively?
  2151. These questions can perhaps best be answered by describing some ways in
  2152. which this information has been used by IBM support center personnel to
  2153. solve customer problems with LAN connectivity.
  2154.  
  2155.  
  2156.  
  2157. CONFIGURATION ERRORS
  2158.  
  2159.  
  2160. OS/2 provides the capability of running many LAN applications
  2161. concurrently.  To do this, the system needs to be configured properly.
  2162. Some of these configuration parameters include LAN resources, "pointers"
  2163. to other systems (e.g., partner LU definitions, gateway addresses,
  2164. server names), and various performance options.  The more LAN
  2165. applications that are installed on a single system, the more likely a
  2166. configuration error is likely to occur, since many of these parameters
  2167. are interdependent.
  2168.  
  2169.  
  2170. Configuration errors can be hard to track down.  With the complexity of
  2171. application programs, operating system components, and protocol layers
  2172. between the user and the actual cause of the error, it isn't uncommon
  2173. for the error message to be less than helpful in resolving the problem.
  2174. Sometimes the listings of configuration files provided to the help desk
  2175. are either out-of-date, or are of the wrong files.
  2176.  
  2177.  
  2178. Often, when a dump is analyzed, you find that the adapter isn't
  2179. operating exactly as expected.  A SAP that should be opened isn't there,
  2180. or maybe a SAP that shouldn't be opened is there.  Perhaps a destination
  2181. address in an LTE isn't the correct one, or a Token-Ring Network adapter
  2182. has been configured for 8K of shared RAM, rather than 64K with 16K
  2183. paging.  (This has been known to happen occasionally when a PS/2
  2184. Reference Diskette is used to auto-configure a system with a Token-Ring
  2185. Network adapter.)  These types of things aren't readily apparent when
  2186. looking at configuration files, and LAPSDUMP may actually lead you to a
  2187. mis-configured parameter in a place you wouldn't have thought of looking
  2188. before.
  2189.  
  2190.  
  2191.  
  2192. INSUFFICIENT RESOURCES
  2193.  
  2194.  
  2195. Each LAN application has different requirements in terms of LAN
  2196. resources.  Sometimes these requirements are not spelled out adequately
  2197. in the application documentation, or the documentation is incorrect.
  2198. LAPSDUMP can show very clearly what adapter resources an application has
  2199. allocated, and how it is using the resources.
  2200.  
  2201.  
  2202.                                    (9)
  2203.  
  2204.  
  2205. VERIFYING CONNECTIONS
  2206.  
  2207.  
  2208. Some PS/2's such as servers and gateways may connect to a large number
  2209. of other devices on the LAN.  Although the server and gateway
  2210. applications themselves have utilities to display or list connected
  2211. devices, the information is usually at a high level.  LAPSDUMP can
  2212. supplement this connectivity status by providing details about the link
  2213. connection between the systems (including error and traffic counts,
  2214. NetBIOS names, MAC addresses, timer values, and bridge path).
  2215.  
  2216.  
  2217.  
  2218. SOFTWARE DEFECTS
  2219.  
  2220.  
  2221. LAPSDUMP can be useful in disclosing a logic error in a software
  2222. component, in terms of its use of the LAN adapter.  This software might
  2223. either be a part of OS/2 or one of its subsystems, or a user application
  2224. program written to the 802.2 or NetBIOS APIs.  On one occasion, changing
  2225. MAXOUT and MAXIN on an application configuration panel for the purpose
  2226. of improving performance actually degraded performance drastically.  By
  2227. looking at the LTE, it turned out that while MAXIN had been changed to
  2228. the expected value, MAXOUT had not changed.  With MAXIN on one system
  2229. exceeding MAXOUT on the partner system, a significant delay was
  2230. encountered every time a frame was sent, because the acknowledgement
  2231. didn't flow until the receiver acknowledgement timer (T2) expired.  A
  2232. simple correction to the logic of the 802.2 application corrected the
  2233. problem.
  2234.  
  2235.  
  2236.  
  2237. UNEXPECTED PROBLEMS
  2238.  
  2239.  
  2240. In one case, a requester was unable to logon to a server.  The server's
  2241. logon status utility (NET WHO) showed that the user was already logged
  2242. on.  A dump of the server's NetBIOS session and link tables showed that
  2243. someone was indeed logged on with the same ID as the requester.  The
  2244. routing information field in the LTE revealed the MAC address and
  2245. location (ring) of the "culprit".
  2246.  
  2247.                                   (10)
  2248.  
  2249.  
  2250.                          LAPSDUMP and SNAPDUMP/2
  2251.  
  2252.  
  2253.  
  2254. LAPSDUMP may be run on-demand as a standalone tool, even remotely.
  2255. However, its greatest potential is realized when the dump is analyzed in
  2256. conjunction with other detailed information about the system.
  2257.  
  2258.  
  2259. SnapDump/2 is a problem management tool that makes it easy to collect
  2260. vital problem data from an OS/2 system.  It takes a "snapshot" of the
  2261. system, gathering a predefined list of files (e.g., IBMLAN.INI,
  2262. STARTUP.CMD, Communications Manager configuration file, PROTOCOL.INI)
  2263. and executing status commands (e.g., NET ERROR, SYSLEVEL, PSTAT, NetBIOS
  2264. resource and session status, and LAPSDUMP).  All of this information is
  2265. consolidated into a single file, which can be shipped to a central site
  2266. for problem analysis by skilled personnel.
  2267.  
  2268.  
  2269. The format of the command to gather the data is:
  2270.  
  2271.      SNAPDUMP d:\path\file.in d:\path\file.out
  2272.  
  2273.  
  2274. The value "file.in" is the name of the SnapDump/2 input file, a
  2275. "shopping list" designating the information that is vital for solving a
  2276. particular class of problem.  For example, the input file for gathering
  2277. the information described above would look like this:
  2278.  
  2279.  
  2280. f/IBMLAN.INI
  2281. f/STARTUP.CMD
  2282. f/*.CFG
  2283. f/PROTOCOL.INI
  2284. p/NET ERROR /R
  2285. p/SYSLEVEL
  2286. p/PSTAT
  2287. p/NCBSTAT *
  2288. p/NETSESS2
  2289. p/LAPSDUMP
  2290.  
  2291.  
  2292. SnapDump/2 will search all directories for the files designated by "f/"
  2293. and copy any occurrences of the files to the SnapDump/2 output file
  2294. ("file.out").  The commands indicated by "p/" will be executed, with
  2295. STDOUT redirected to "file.out".  Notice that the LAPSDUMP command needs
  2296. no other redirection in this case, since SnapDump/2 automatically
  2297. redirects STDOUT to its output file.
  2298.  
  2299.  
  2300. The SnapDump/2 output file can then be viewed by the SNAPDF program,
  2301. which is a Presentation Manager (PM) application:
  2302.  
  2303.  
  2304.      SNAPDF d:\path\file.out
  2305.  
  2306.                                   (11)
  2307.  
  2308.  
  2309.                         SAMPLE LAPSDUMP OUTPUT
  2310.  
  2311.  
  2312.         ------------------------------------------------------------
  2313.        LAN Adapter & Protocol Support Dump/Formatter (LAPSDUMP) - V1.0
  2314.         ------------------------------------------------------------
  2315.  
  2316. Initiating adapter memory extraction.
  2317.  
  2318. Return code from TRADUMP.SYS          0
  2319. TR adapter type                       MARS
  2320. Adapter supports total SRAM           64 (K)
  2321. Page size                             16 (K)
  2322. Adapter paging supported              SRAM paging with 16K page.
  2323.  
  2324. Format of MMIO Attachment Control Area
  2325.  
  2326.     SRAM low  real address            x0D0000
  2327.     Write window offset               x00DAFE
  2328.     End write window offset           x00EC68
  2329.     Write region offset               x00EC6E
  2330.     SRAM high real address            x0D4000
  2331.     Other control registers available in MMIO - ACA dump.
  2332.  
  2333. Dump of MMIO - ACA
  2334. 1E00     D004EC6E DAFEEC68 C2000700 E840B5FF     ...n...h.....@..
  2335. 1E10     00000000 00000000 C0000000 00000000     ................
  2336. 1E20     D004EC6E DAFEEC68 C2000700 E840B5FF     ...n...h.....@..
  2337. 1E30     00000000 00000000 C0000000 00000000     ................
  2338. 1E40     D004EC6E DAFEEC68 C2000700 E840B5FF     ...n...h.....@..
  2339. 1E50     00000000 00000000 C0000000 00000000     ................
  2340. 1E60     D004EC6E DAFEEC68 C2000700 E840B5FF     ...n...h.....@..
  2341. 1E70     00000000 00000000 C0000000 00000000     ................
  2342.  
  2343. Format of MMIO Adapter Identification PROM
  2344.  
  2345.     Adapter encoded address           x10005A8DA203
  2346.     Signature (channel ident)         MARS63X4518
  2347.     Adapter type                      x0E
  2348.     Data rate                         16/4 Mbps
  2349.     Early token release               16 Mbps
  2350.     Total shared ram                  64 KB (top 512 reserved)
  2351.     Shared ram paging                 16 KB page
  2352.     Max DHB at   4 Mbps               4464  bytes
  2353.     Max DHB at  16 Mbps               17960 bytes
  2354.     Other PROM values available in MMIO - AIP dump.
  2355.  
  2356. Dump of MMIO - AIP
  2357. 1F00     01000000 00000000 05000A00 08000D00     ................
  2358. 1F10     0A000200 00000300 0E000F00 0F000F00     ................
  2359. 1F20     0A000500 07000200 05000D00 0F000C00     ................
  2360. 1F30     04000D00 04000100 05000200 05000300     ................
  2361. 1F40     03000600 03000300 05000800 03000400     ................
  2362. 1F50     03000500 03000100 03000800 02000000     ................
  2363. 1F60     0B000F00 0F000F00 0F000F00 0F000F00     ................
  2364. 1F70     0F000F00 0F000F00 0F000F00 0F000F00     ................
  2365.  
  2366.                                   (12)
  2367.  
  2368.  
  2369. Dump of MMIO - AIP (continued)
  2370. 1F80     01000300 05000700 09000B00 0D000F00     ................
  2371. 1F90     0E000C00 0A000800 06000400 00000200     ................
  2372. 1FA0     0E000D00 0D000B00 0E000D00 0B000F00     ................
  2373. 1FB0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  2374. 1FC0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  2375. 1FD0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  2376. 1FE0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  2377. 1FF0     0F000F00 0F000F00 0F000F00 0F000F00     ................
  2378.  
  2379.  
  2380. Format of SRAM Node Control Block
  2381.  
  2382.     Universal address                 x10005A8DA203
  2383.     Local administered address        x10005A8DA203
  2384.     End of ram                        xFE00
  2385.     SRB address                       xFDD8
  2386.     Adapter open options              x2000
  2387.     Group address                     x00000000
  2388.     Functional address                x00000080
  2389.     Minimum receive buffers           2
  2390.     Receive buffer length             264
  2391.     DHB length                        4464
  2392.     Number of DHBs                    2
  2393.     Maximum # SAPs                    0
  2394.     Maximum # link stations           0
  2395.     Maximum # group SAPs              0
  2396.     Maximum members/group SAP         0
  2397.  
  2398. Node Control Block indicates LAN Adapter & Protocol Support in use.
  2399.  
  2400.                                   (13)
  2401.  
  2402.  
  2403. Initiating LAPS memory extraction.
  2404.  
  2405. LANDD   memory obtained in 1 segment(s).
  2406.  
  2407. Format of LAN Control Block - Adapter 00
  2408.  
  2409.     MAC address                       x10005A8DA203
  2410.     LAN header type                   x0004 (Token Ring)
  2411.     Media bandwidth (bits/sec)        x003D0900 (4.0 Mbit)
  2412.     Max frame size (bytes)            4456
  2413.     Maximum   SAPs                    4
  2414.     Open      SAPs                    1
  2415.     Maximum   links (LTEs)            10
  2416.     Open      links (LTEs)            1
  2417.     Available links (LTEs)            6
  2418.     Microcode level                   x000008C1F7F8F0F6F440
  2419.     Last reported ring status         x0000
  2420.     Status report period              x016C0025 (364 min, 37 sec)
  2421.     FRMRs received on this LAN        0
  2422.     FRMRs xmitted  on this LAN        0
  2423.     I-frames received in error        0
  2424.     I-frames xmitted  in error        0
  2425.     Aborted transmissions             0
  2426.     Successful packets xmitted        2448
  2427.     Successful packets received       1102204
  2428.     Times buffer not available        0
  2429.     DLC T1 timer expirations          0
  2430.     DLC Ti timer expirations          426
  2431.  
  2432.                                   (14)
  2433.  
  2434.  
  2435. Format of active SAPs
  2436.  
  2437. SAP for station ids 04xx - value 04 - SNA
  2438.  
  2439.     Default T1 value                  x0065 (4.040 seconds)
  2440.     Default T2 value                  x0009 (0.360 seconds)
  2441.     Default Ti value                  xCC52 (52.306 seconds)
  2442.     Default MAXOUT                    8
  2443.     Default MAXIN                     1
  2444.     Default MAXIN/OUT incremnt        1
  2445.     Default max retries               8
  2446.     Default max I-field length        1929
  2447.     LTEs  avail (not in use)          3
  2448.     LTEs  in use                      1
  2449.     Count of buffers in pool          5
  2450.     Size  of buffers in pool          2032
  2451.     Frames xmitted                    1049
  2452.     Frames received                   1099
  2453.     Frames discarded                  0
  2454.     No. times data was lost           0
  2455.  
  2456. Format of Link Table Entries (LTEs) for this SAP
  2457.  
  2458.     Station id                        x0401
  2459.     MAC hdr - Destination addr        x400020200212
  2460.     MAC hdr - Source      addr        x90005A8DA203
  2461.     MAC hdr - Routing control         x0820
  2462.     MAC hdr - Route segment           xC0D1
  2463.     MAC hdr - Route segment           xB011
  2464.     MAC hdr - Route segment           xC030
  2465.     LLC hdr - DSAP                    x04
  2466.     LLC hdr - SSAP                    x05
  2467.     LLC hdr - Control field           x0187 (Supervisory, RR)
  2468.     I-frames xmitted                  1041
  2469.     I-frames received                 1091
  2470.     I-frame  xmit    errors           0
  2471.     I-frame  receive errors           0
  2472.     T1 expirations                    0
  2473.     Last received cmd or rsp          x01 (Supervisory, RR)
  2474.     Last sent     cmd or rsp          x01 (Supervisory, RR)
  2475.     T1 value                          x0065 (4.040 seconds)
  2476.     T2 value                          x0009 (0.360 seconds)
  2477.     Ti value                          xCC52 (52.306 seconds)
  2478.  
  2479.                                   (15)
  2480.  
  2481.  
  2482. Format of Link Table Entries (LTEs) for this SAP (continued)
  2483.  
  2484.     Link state                        x0001 (Open)
  2485.     Vs - send state                   x11
  2486.     Vr - receive state                x43
  2487.     Va - acknowledge state            x11
  2488.     TW - max xmit window              7
  2489.     N3 - I-fmt LPDUs betw acks        1
  2490.     Nw - I-fmt LPDUs ack to Ww        1
  2491.     N2 - retries allowed              8
  2492.     N1 - max length I-field           1929
  2493.     Ww - working window size          7
  2494.     Working MAXIN                     1
  2495.     Ia_Ct - I-fmt LPDUs acked         0
  2496.  
  2497.  
  2498. Format of Application Control Blocks a.k.a. Users
  2499.  
  2500.     Configured users                  4
  2501.     Free       users                  3
  2502.     Active     users                  1
  2503.  
  2504.     Application 802.2 id              2
  2505.     Application key                   xB3CF
  2506.     Device driver (name)              ACSLDLA$
  2507.  
  2508.                                   (16)
  2509.  
  2510.  
  2511. NETBEUI memory obtained in 1 segment(s).
  2512.  
  2513. Format of LAN Control Block - Adapter 00
  2514.  
  2515.     MAC address                       x10005A8DA203
  2516.     LAN header type                   x0003 (Token Ring)
  2517.     Media bandwidth (bits/sec)        x003D0900 (4.0 Mbit)
  2518.     Status report period              x01690011 (361 min, 17 sec)
  2519.     Max frame size (bytes)            4456
  2520.     FRMRs received on this LAN        0
  2521.     FRMRs xmitted  on this LAN        0
  2522.     I-frames received in error        0
  2523.     I-frames xmitted  in error        0
  2524.     Aborted transmissions             0
  2525.     Successful packets xmitted        5445
  2526.     Successful packets received       1768617
  2527.     Times buffer not available        0
  2528.     DLC T1 timer expirations          0
  2529.     DLC Ti timer expirations          3030
  2530.     NCBs for Rcv Bcast Datagram       1
  2531.     NCBs awaiting processing          0
  2532.     NCBs awaiting completion          0
  2533.     NCBs on free queue                81
  2534.     Names in use                      6
  2535.  
  2536.                                   (17)
  2537.  
  2538.  
  2539. Format of Name Table Entries (NTEs)
  2540.  
  2541.     NTE name                                       Z
  2542.     Name uninterpreted                x0000000000000000000003A28D5A0010
  2543.     NTE id number                     1 (x01)
  2544.     NTE use count                     0
  2545.     NTE current state                 x0002 (Registered)
  2546.     NTE flags                         x04   (Name number one)
  2547.     NCBs for Receive Datagram         0
  2548.     NCBs for Receive Any              0
  2549.  
  2550.     NTE name                          ARSLAN
  2551.     Name uninterpreted                x4152534C414E20202020202020202000
  2552.     NTE id number                     2 (x02)
  2553.     NTE use count                     2
  2554.     NTE current state                 x0002 (Registered)
  2555.     NTE flags                         x00   (Name is unique)
  2556.     NCBs for Receive Datagram         1
  2557.     NCBs for Receive Any              1
  2558.  
  2559.     NTE name                          ARSLAN
  2560.     Name uninterpreted                x4152534C414E20202020202020202003
  2561.     NTE id number                     3 (x03)
  2562.     NTE use count                     1
  2563.     NTE current state                 x0002 (Registered)
  2564.     NTE flags                         x00   (Name is unique)
  2565.     NTE listen-any  STE w/ LSN        5 (x05)
  2566.     NCBs for Receive Datagram         0
  2567.     NCBs for Receive Any              0
  2568.  
  2569.     NTE name                          DSMDOM13
  2570.     Name uninterpreted                x44534D444F4D31332020202020202000
  2571.     NTE id number                     4 (x04)
  2572.     NTE use count                     0
  2573.     NTE current state                 x0002 (Registered)
  2574.     NTE flags                         x01   (Name is group name)
  2575.     NCBs for Receive Datagram         1
  2576.     NCBs for Receive Any              0
  2577.  
  2578.     NTE name                          MARKO   DSMDOM13
  2579.     Name uninterpreted                x4D41524B4F20202044534D444F4D3133
  2580.     NTE id number                     5 (x05)
  2581.     NTE use count                     0
  2582.     NTE current state                 x0002 (Registered)
  2583.     NTE flags                         x00   (Name is unique)
  2584.     NCBs for Receive Datagram         0
  2585.     NCBs for Receive Any              0
  2586.  
  2587.     NTE name                          MARKO
  2588.     Name uninterpreted                x4D41524B4F2020202020202020202003
  2589.     NTE id number                     6 (x06)
  2590.     NTE use count                     1
  2591.     NTE current state                 x0002 (Registered)
  2592.     NTE flags                         x00   (Name is unique)
  2593.     NTE listen-any  STE w/ LSN        11 (x0B)
  2594.     NCBs for Receive Datagram         0
  2595.     NCBs for Receive Any              0
  2596.  
  2597.                                   (18)
  2598.  
  2599.  
  2600. Format of Name Cache Entries (NCEs) a.k.a. Remote Name Directory
  2601.  
  2602.     Configured NCEs                   6
  2603.     Free       NCEs                   3
  2604.     Active     NCEs                   3
  2605.  
  2606.     NCE name                          LILSERV
  2607.     Name uninterpreted                x4C494C53455256202020202020202020
  2608.     MAC hdr - Destination addr        x10005A8DF8A6
  2609.     MAC hdr - Source      addr        x90005A8DA203
  2610.     MAC hdr - Routing control         x06B0
  2611.     MAC hdr - Route segment           x0890
  2612.     MAC hdr - Route segment           xC0D0
  2613.  
  2614.     NCE name                          BIGSERV
  2615.     Name uninterpreted                x42494753455256202020202020202020
  2616.     MAC hdr - Destination addr        x10005A8DFC27
  2617.     MAC hdr - Source      addr        x90005A8DA203
  2618.     MAC hdr - Routing control         x06B0
  2619.     MAC hdr - Route segment           x0890
  2620.     MAC hdr - Route segment           xC0D0
  2621.  
  2622.     NCE name                          DOM13SRV
  2623.     Name uninterpreted                x444F4D31335352562020202020202020
  2624.     MAC hdr - Destination addr        x10005A8DAA7C
  2625.     MAC hdr - Source      addr        x90005A8DA203
  2626.     MAC hdr - Routing control         x06B0
  2627.     MAC hdr - Route segment           x0890
  2628.     MAC hdr - Route segment           xC0D0
  2629.  
  2630.                                   (19)
  2631.  
  2632.  
  2633. Format of Link Table Entries (LTEs)
  2634.  
  2635.     MAC hdr - Destination addr        x10005A8DF8A6
  2636.     MAC hdr - Source      addr        x90005A8DA203
  2637.     MAC hdr - Routing control         x06B0
  2638.     MAC hdr - Route segment           x0890
  2639.     MAC hdr - Route segment           xC0D0
  2640.     LLC hdr - DSAP                    xF0
  2641.     LLC hdr - SSAP                    xF1
  2642.     LLC hdr - Control field           x0170 (Supervisory, RR)
  2643.     LTE servicing   STE w/ LSN        14 (x0E)
  2644.     Link state                        x0004 (Opened)
  2645.     Next N(S) to assign               x54
  2646.     Next N(R) expected                x19
  2647.     Last ACK  received                x54
  2648.     Last ACK  generated               x19
  2649.     Send    window size               3
  2650.     Receive window size               3
  2651.     T1 value (adaptive)               x0010 (0.640 seconds)
  2652.     T2 value (adaptive)               x0007 (0.280 seconds)
  2653.     Ti value (adaptive)               x3A98 (15.000 seconds)
  2654.     Maximum frame size                4456
  2655.  
  2656.     MAC hdr - Destination addr        x10005A8DFC27
  2657.     MAC hdr - Source      addr        x90005A8DA203
  2658.     MAC hdr - Routing control         x06B0
  2659.     MAC hdr - Route segment           x0890
  2660.     MAC hdr - Route segment           xC0D0
  2661.     LLC hdr - DSAP                    xF0
  2662.     LLC hdr - SSAP                    xF1
  2663.     LLC hdr - Control field           x0142 (Supervisory, RR)
  2664.     LTE servicing   STE w/ LSN        13 (x0D)
  2665.     Link state                        x0004 (Opened)
  2666.     Next N(S) to assign               x54
  2667.     Next N(R) expected                x61
  2668.     Last ACK  received                x54
  2669.     Last ACK  generated               x61
  2670.     Send    window size               4
  2671.     Receive window size               3
  2672.     T1 value (adaptive)               x0010 (0.640 seconds)
  2673.     T2 value (adaptive)               x0007 (0.280 seconds)
  2674.     Ti value (adaptive)               x3A98 (15.000 seconds)
  2675.     Maximum frame size                4456
  2676.  
  2677.                                   (20)
  2678.  
  2679.  
  2680. Format of Session Table Entries (STEs)
  2681.  
  2682.     Local  session number (LSN)       5 (x05)
  2683.     Local  name                       ARSLAN
  2684.     Local  name uninterpreted         x4152534C414E20202020202020202003
  2685.     Remote session number (RSN)       0 (x00)
  2686.     Remote name                       *
  2687.     Remote name uninterpreted         x2A202020202020202020202020202020
  2688.     STE serviced by                   See NTEs
  2689.     Session state                     x0002 (Listening)
  2690.     Xmit     correlator               x0000
  2691.     NCBs for Xmits                    0
  2692.     NCBs for Receives                 0
  2693.     NCBs for Gather Send              0
  2694.     NCBs sent, awaiting ACK           0
  2695.  
  2696.     Local  session number (LSN)       11 (x0B)
  2697.     Local  name                       MARKO
  2698.     Local  name uninterpreted         x4D41524B4F2020202020202020202003
  2699.     Remote session number (RSN)       0 (x00)
  2700.     Remote name                       *
  2701.     Remote name uninterpreted         x2A202020202020202020202020202020
  2702.     STE serviced by                   See NTEs
  2703.     Session state                     x0002 (Listening)
  2704.     Xmit     correlator               x0000
  2705.     NCBs for Xmits                    0
  2706.     NCBs for Receives                 0
  2707.     NCBs for Gather Send              0
  2708.     NCBs sent, awaiting ACK           0
  2709.  
  2710.     Local  session number (LSN)       13 (x0D)
  2711.     Local  name                       ARSLAN
  2712.     Local  name uninterpreted         x4152534C414E20202020202020202000
  2713.     Remote session number (RSN)       195 (xC3)
  2714.     Remote name                       BIGSERV
  2715.     Remote name uninterpreted         x42494753455256202020202020202020
  2716.     STE serviced by                   LTE to 10005A8DFC27
  2717.     Session state                     x0005 (Session established)
  2718.     Xmit     correlator               x5BCB
  2719.     NCBs for Xmits                    0
  2720.     NCBs for Receives                 0
  2721.     NCBs for Gather Send              0
  2722.     NCBs sent, awaiting ACK           0
  2723.  
  2724.     Local  session number (LSN)       14 (x0E)
  2725.     Local  name                       ARSLAN
  2726.     Local  name uninterpreted         x4152534C414E20202020202020202000
  2727.     Remote session number (RSN)       248 (xF8)
  2728.     Remote name                       LILSERV
  2729.     Remote name uninterpreted         x4C494C53455256202020202020202020
  2730.     STE serviced by                   LTE to 10005A8DF8A6
  2731.     Session state                     x0005 (Session established)
  2732.     Xmit     correlator               xD5A5
  2733.     NCBs for Xmits                    0
  2734.     NCBs for Receives                 0
  2735.     NCBs for Gather Send              0
  2736.     NCBs sent, awaiting ACK           0
  2737.  
  2738.                                   (21)
  2739.  
  2740.  
  2741. NETBEUI summary section
  2742.  
  2743.     Configured NCBs                   85
  2744.     Unused     NCBs                   81
  2745.     Configured sessions               40
  2746.     Unused     sessions               36
  2747.     Configured names                  32
  2748.     Unused     names                  26
  2749.     Configured links                  40
  2750.     Unused     links                  38
  2751.     Default T1 value                  x0010 (0.640 seconds)
  2752.     Default T2 value                  x0007 (0.280 seconds)
  2753.     Default Ti value                  x3A98 (15.000 seconds)
  2754.     Max session  packet size          4168
  2755.     Max datagram packet size          512
  2756.  
  2757. NETBIOS memory segment obtained. Formatting follows.
  2758.  
  2759. Format of NETBIOS Ring 3 users
  2760.  
  2761. NETBIOS Ring 3 Users Summary
  2762.  
  2763.     Maximum sessions available        8
  2764.     User    sessions allocated        0
  2765.     User    sessions in use           0
  2766.     Maximum commands available        35
  2767.     User    commands allocated        0
  2768.     User    commands in use           0
  2769.     Maximum names    available        18
  2770.     User    names    allocated        0
  2771.     User    names    in use           0
  2772.  
  2773.