(Page 1 of 1 in this chapter) Version


Chapter 5

QX Initialization


5.1 Introduction
5.2 QX Configuration File
5.2.1 QX Configuration File Structure
5.2.2 Example QX Configuration File
5.3 QX Configuration File Statements
5.4 QX Loader, qxload
5.4.1 qxload Command Line Use and Options
5.4.2 QXLOAD Environment Variable
5.4.3 Board Configuration Report File
5.4.4 Error Reporting
5.4.5 qxload and Configuration Files
5.4.6 How qxload Finds Files to Download
5.4.7 Assigning a QX 2000 Board Number
5.5 QX NT Service, qxsvc
5.5.1 Loading QX boards with a Windows NT Service
5.5.2 Installing the QX Service
5.5.3 Configuring the QX Service
5.5.4 Removing the QX Service
5.5.5 Debugging the QX Service

5.1 Introduction

This chapter defines the:

The QX configuration file lists the types, locations, and configuration of each QX 2000 board in your system. It also describes which software modules will be loaded to the QX 2000 board's memory. The QX 2000 board initialization utility, qxload, reads the QX configuration file and initializes QX 2000 boards as described in the file.

5.2 QX Configuration File

A default QX configuration file is created by the QX 2000 installation program. The default file is c:\nms\qx\cfg\qx.cfg.

The default configuration file contains some board-specific statements which should not be changed. For example, the board serial number and PCI bus and slot location is specified in the file. Other statements in the QX configuration file are set to defaults which may need to be updated for your system. For example, each QX 2000 board is configured as an MVIP clock slave. If a QX 2000 board is the MVIP clock master, edit the QX configuration file accordingly.

Each QX 2000 board is identified by a board number. The board number is assigned by the system during the software installation. You can change a board number by editing the QX configuration file. For details on changing a board number, refer to Section 5.4.7.

5.2.1 QX Configuration File Structure

The active region of a QX configuration file begins with the string [QXBOARD] on a line by itself and ends at the end of the file or at another word or phrase in square brackets on a line by itself. Any text outside the active region is ignored.

Each QX 2000 board in the system has a section in the QX configuration file which begins with a Board x statement. Each board section is followed by configuration statements for that QX 2000 board.

A QX configuration file statement has the syntax:

   keyword = value

White space, such as indentation and space around the equals sign, is ignored but is useful for clarity. The pound sign (#) and semicolon (;) are both comment delimiters. qxload ignores any text that follows a comment delimiter character on the same line. Keywords and values are not case-sensitive.

5.2.2 Example QX Configuration File

A typical QX configuration file is:
[QXBOARD]

# Start of active region

Board 0

DeviceID=0x00002100

SerialNumber=00206452

PCIbus=0

PCIslot=8

Interrupt=9

FPGA=q410.hex

QSLAC=q4frals6.slc

DSP_OS=qx100.dsp


ClockRef=MVIP

IdleCode=A-LAW

End Board

# Start of a board specific section

# PCI Hardware ID

# Board serial number

# PCI bus location

# PCI slot location

# Interrupt number allocated by the system

# FPGA file

# QSLAC file for the trunk interface

# Defines the DSP functions to be used on
# the QX 2000

# Configures the board as MVIP clock slave

# Bit pattern transmitted in the idle state

# Ends the description of board 0

# EOF

# End of active region

5.3 QX Configuration File Statements

The following table summarizes the QX configuration file statements. Brackets ([ ]) are used to signify that a value is optional. Vertical bars ( | ) signify that there is a choice of more than one value.
Keyword

Allowed Values

Description

Mandatory?

Read/Write

Board

boardnum

Beginning of section defining configuration of a board.

Yes

Read/Write

ClockRef

MVIP | H100 | OSC | SEC8K

Configures the MVIP clock.

Only if EnableMVIP statement is present

Read/Write

DeviceID

hardwareID

Specifies the PCI hardware ID of the board.

Yes

Read only

DSP_OS

filename

Specifies the DSP operating system.

Yes

Read/Write

EnableMVIP

NO | YES

Determines whether board is electrically connected to the telephony bus.

No

Read/Write

FPGA

filename

Specifies the FPGA file downloaded to the board.

Yes

Read/Write

IdleCode

MU-LAW | A-LAW

Defines bit pattern transmitted on idle telephony bus.

Yes

Read/Write

Interrupt

vector

Specifies the interrupt number assigned by the system BIOS.

Yes

Read only

PCIbus

busnum

Specifies the PCI bus location of the board.

Yes

Read only

PCIslot

slotnum

Specifies the slot location of the board on the PCI bus.

Yes

Read only

QSLAC

filename

Specifies the QSLAC file downloaded to the board.

Yes

Read/Write

QSLAC_A

filename

Specifies the QSLAC file downloaded to the board.

No

Read/Write

QSLAC_B

filename

Specifies the QSLAC file downloaded to the board.

No

Read/Write

QSLAC_C

filename

Specifies the QSLAC file downloaded to the board.

No

Read/Write

SerialNumber

serialnumber

Specifies the serial number of the board.

Yes

Read only

The QX configuration file statements are presented in detail in the following sections. They are listed in alphabetical order by keyword.

Board

Board [=] boardnum

This statement begins a section of the configuration file for a single QX 2000 board. The Board statement is created at installation time, or by running qxload. You can change a board number by editing the QX configuration file, but you must be logged in as a member of the Administrators group. For details on changing a board number, refer to Section 5.4.7.

The End Board statement is optional; it ends the context of the previous Board statement, as does a subsequent Board statement.

The Board statement is mandatory.

Example:    Board 3

ClockRef

ClockRef = MVIP | H100 | OSC | SEC8K

This statement configures the MVIP bus clock. The allowed values for ClockRef are:
Value

Definition

MVIP

Causes the board to act as a clock slave to the MVIP-90 bus by deriving the local clock from the bus. Another board must drive the clock on the MVIP-90 bus.

Note: Typically should not be used on an H.100 board except in a mixed H.100 and MVIP-90 system where an MC1 board is the bus clock master.

H.100

For QX 2000/100-4L board only:
Causes the board to act as a clock slave to the H.100 bus by deriving the local clock from the bus. Another H.100 board must drive the clock on the H.100 bus.

OSC

Uses the on-board oscillator as a reference.

Setting ClockRef to OSC for a board makes that board the clock master. If the clock master is an H.100 board, it will drive both the H.100 bus clocks and the MVIP-90 bus clocks.

ClockRef should be set to MVIP or H.100 for all other boards on the bus.

SEC8K

Causes the QX 2000 board to derive the local clock from the CT_NETREF clock on the H.100 bus. Setting ClockRef to SEC8K for a board makes the board the clock master. ClockRef should be set to MVIP or H.100 for all other boards on the bus.

ClockRef is not required for standalone boards. However, if MVIP switching is enabled (EnableMVIP=YES), ClockRef must be present.

The default ClockRef value is MVIP.
Example:
ClockRef = MVIP
See Also:
EnableMVIP

DeviceID

DSP_OS = hardwareID

This statement specifies the board's PCI hardware ID. Every type of board from a manufacturer is assigned a unique identifier which is automatically given to the system.

The DeviceID statement is created at installation time, or by running qxload, and must not be modified.
Example: DeviceID = 0x00002100

DSP_OS

DSP_OS = filename

This statement specifies the digital signal processor (DSP) operating system to use on the board.

The DSP_OS statement is created at installation time, or by running qxload.

Example: DSP_OS = c:\nms\qx\load\qx100.dsp
DSP_OS = qx100.dsp

EnableMVIP

EnableMVIP = YES | NO

This statement specifies whether the board is electrically connected to the telephony bus.

If EnableMVIP = NO:

If EnableMVIP = YES:

The EnableMVIP statement is optional. The default value depends on the ClockRef statement. If ClockRef = MVIP, then EnableMVIP = YES. Otherwise, EnableMVIP = NO.

Example: EnableMVIP = YES

See Also: ClockRef

End Board

End Board

This statement ends a section of the configuration file for a board.

The End Board statement is optional; it ends the context of the previous Board statement, as does a subsequent Board statement.

FPGA

FPGA = filename

This statement specifies the FPGA file downloaded to the board.

The FPGA statement is created at installation time, or by running qxload.

Example: FPGA = q410.hex

IdleCode

IdleCode = MU-LAW | A-LAW

This statement specifies the bit pattern to transmit on an MVIP timeslot when it is idle. In general, a timeslot is considered to be idle when no application is driving it.

The idle code for all configured timeslots in even-numbered streams is the appropriate voice silence pattern. The idle code for all timeslots configured in odd-numbered streams is 0.

The IdleCode statement is optional. If no idle code is specified for a board, the default is A-LAW.

Example: IdleCode = A-LAW

Interrupt

Interrupt = vector

This statement contains the interrupt number assigned by the system BIOS at initialization time.

The Interrupt statement is created at installation time, or by running qxload, and must not be modified.

Example: Interrupt = 1

PCIbus

PCIbus = busnum

This statement specifies the board's PCI location. Every PCI slot in the system is identified by a unique PCI slot number which is automatically set by the system.

The PCIbus statement is created at installation time, or by running qxload, and must not be modified.

Example: PCIbus = 0

See Also: PCIslot

PCIslot

PCIslot = slotnum

This statement specifies the board's PCI location. Every PCI slot in the system is identified by a unique PCI slot number which is automatically set by the system.

The PCIslot statement is created at installation time, or by running qxload, and must not be modified.

Example: PCIslot = 1

See Also: PCIbus

QSLAC

QSLAC = filename or QSLAC_x = filename (x = A, B, or C)

This statement specifies QSLAC files to be downloaded to the current board. The files are downloaded in the following order:

  1. QSLAC

    
    
  2. QSLAC_A

    
    
  3. QSLAC_B

    
    
  4. QSLAC_C

Only the QSLAC keyword is mandatory. The QSLAC_A, QSLAC_B, and QSLAC_C keywords are optional.

The QSLAC statement is created at installation time, or by running qxload.

Example: QSLAC = q4frals6.slc

SerialNumber

SerialNumber = serialnumber

This statement specifies the serial number of the current board.

The SerialNumber statement is created at installation time, or by running qxload, and must not be modified.

5.4 QX Loader, qxload

The qxload utility:

This section explains how qxload works, and provides instructions for using it.

Note: The QX boards use the qxload loader program located in c:\nms\qx\bin directory.

5.4.1 qxload Command Line Use and Options

The qxload command line options are:
Option

Description

-b boardnum

Loads the binary files to the board and resets the board. boardnum is the board number assigned in the QX configuration file. Valid range is 0..7.
-bx is used to load all the boards in the system.

-cfg

Creates a new qx.cfg file.
Note: This option should only be used when an additional QX 2000 board is added or removed from the PC. Any modifications made to your existing qx.cfg file will be overwritten by default values.

-d level

Defines the degree of diagnostics run when the boards are initialized. level can be one of the following values:
0 - No diagnostics
1 - Minimum diagnostics (default value)
2 - Medium diagnostics
3 - Maximum diagnostics

-e filename

Specifies the file to which errors are logged. If a directory is not specified in filename, the current working directory is used. Errors that occur are displayed by qxload on the screen and are appended to the error log file. The default error log file is qxerror.log

-f filename

Defines filename as the QX configuration file.

If a directory is not specified in filename, qxload searches for filename in the current working directory and then in the directories specified in the QXLOAD environment variable. The default QX configuration file is qx.cfg.

-k

Wait for keyboard input. qxload waits for the user to hit a key before exiting.

-p filename

Specifies the file which logs the QX 2000 board's configuration. The default report file is qx.rpt.

-?

Displays a summary of command line options.

5.4.2 QXLOAD Environment Variable

The environment variable QXLOAD is used by the utility qxload to locate configuration files. QXLOAD has the following syntax:

QXLOAD = load_directory;configuration_directory;country_directory

load_directory is the load directory in which qxload expects to find files to be download to the boards. configuration_directory is the directory where qxload looks for the QX configuration file and where qxload outputs the summary and error log files. country_directory is the directory where qxload finds the default country configuration files.

QXLOAD can be modified with the set shell command. For example:

  set QXLOAD = c:\nms\qx\load;c:\nms\qx\cfg;c:\nms\qx\ctry\usa

For the default installation directory c:\nms\qx, the default load and configuration directories for QXLOAD are c:\nms\qx\load and c:\nms\qx\cfg, and c:\nms\qx\ctry\xxx, where xxx is the default ISO country code.

The following table shows example values for QXLOAD, and the corresponding directory settings:
If you enter...

The load directory is set to...

The configuration directory is set to...

The country directory is set to...

set QXLOAD=
(QXLOAD is not defined)

.\

.\

.\

set QXLOAD=c:\MyLoad;
c:\MyConfig;c:\MyCountry

c:\MyLoad\

c:\MyConfig\

c:\MyCountry

set QXLOAD=c:\MyLoad

c:\MyLoad\

.\

.\

set QXLOAD=c:\MyLoad;

c:\MyLoad\

.\

.\

set QXLOAD=;c:\MyConfig

.\

c:\MyConfig

.\

set QXLOAD=;

.\

.\

.\

set QXLOAD=c:\MyLoad;;
c:\MyCountry

c:\MyLoad\

.\

c:\MyCountry

set QXLOAD=;c:\MyConfig;
c:\MyCountry

.\

c:\MyConfig

c:\MyCountry

set QXLOAD=;;c:\MyCountry

.\

.\

c:\MyCountry

5.4.3 Board Configuration Report File

Each time it is run, qxload generates a report of the QX 2000 boards' configurations, including the names of files downloaded, the QX 2000 hardware configurations, and any errors that occurred during loading. qxload, by default, writes this information to an output file each time it is run. The output file is reset when its size exceeds 200 Kbytes.

The default report file is qx.rpt. An alternative output file can be specified with the -p filename option to qxload. If filename contains a path specification, qxload writes to the specified directory. Otherwise, qxload writes to the configuration directory defined by the QXLOAD environment variable. If the directory does not exist, qxload writes the summary file to the current directory.

5.4.4 Error Reporting

qxload displays errors on the screen and appends them to an error log.

The default error log file is qxerror.log. An alternative error log file can be specified with the -e filename option to qxload. If filename contains a path specification, qxload writes to the specified directory. Otherwise, qxload writes to the configuration directory defined by the QXLOAD environment variable. If the directory does not exist, qxload writes the error log file to the current directory.

5.4.5 qxload and Configuration Files

To create a new QX configuration file, run qxload with the -cfg option. The default configuration file is qx.cfg. An alternative configuration file can be specified with the -f filename option to qxload. If filename contains a path specification, qxload writes to the specified directory. Otherwise, qxload writes to the configuration directory defined by the QXLOAD environment variable. If the directory does not exist, qxload writes the configuration file to the current directory.

To initialize QX 2000 boards, run qxload with the -bx option. The default configuration file is qx.cfg. An alternative configuration file can be specified with the -f filename option to qxload. If filename contains a path specification, qxload looks for the specified directory. Otherwise, qxload looks in the current working directory. If the file does not exist in the current working directory, qxload looks in the configuration directory defined by the QXLOAD environment variable.

5.4.6 How qxload Finds Files to Download

The files to download to the QX 2000 board are specified with statements in the QX configuration file. For example:

  QSLAC = filename

If filename contains a path specification, qxload looks in the specified directory. Otherwise, qxload looks in the current working directory. If the file does not exist in the current working directory, qxload looks in the load directory defined by the QXLOAD environment variable.

5.4.7 Assigning a QX 2000 Board Number

When a QX 2000 board is installed, a board number is assigned on the basis of the PCI bus and slot numbers the board is plugged into. You can change a board number by modifiying the Board x statement in the QX configuration file. The valid range for board numbers is 0..7.

To identify QX boards on the PCI bus, use the blocate utility. This utility lists all the NMS boards installed on the PCI bus, and lets you flash the LEDs of a QX board (the LEDs will flash only if the QX board has been initialized with qxload.exe).

When you run qxload with the -bx option to initialize the boards, the board number in the QX configuration file is compared with the number stored in the registry. If the numbers do not match, qxload modifies the registry with the new number from the configuration file. With this method, adding or removing a board on the PCI bus will not disturb the numbers assigned to existing QX 2000 boards.

Ensure that no other process is accessing the QX boards while qxload is running.

Note: You must be logged in as a member of the Administrators group to modify a board number. Example 1: Installing Two QX Boards

The following example illustrates the installation of two QX boards. One board will be connected to the PSTN and configured as board number 2. The other board will be connected to a PBX and configured as board number 4.

  1. Install the QX 2000 boards on the system.

    
    
  2. Install the QX 2000 driver and software.

    
    
  3. Run qxload -cfg to create a default configuration file (qx.cfg):

       [QXBOARD]
    
       #--- COMMON SECTION ---
       #--- BOARDS SECTION ---
    
       Board 0
         DeviceID     = 0x00002100
         SerialNumber = 0000231882
         PCIbus       = 3
         PCIslot      = 4
         Interrupt    = 11
         FPGA         = q422.hex
         QSLAC        = q4fralsc.slc
         DSP_OS       = qx100.dsp
         ClockRef     = OSC
         IdleCode     = A-LAW
       End Board
    
       Board 1
         DeviceID     = 0x00002100
         SerialNumber = 0000231878
         PCIbus       = 3
         PCIslot      = 5
         Interrupt    = 12
         FPGA         = q422.hex
         QSLAC        = q4fralsc.slc
         DSP_OS       = qx100.dsp
         ClockRef     = OSC
         IdleCode     = A-LAW
       End Board
    
  4. Run qxload -bx to initialize the boards with the configuration file created during QX software installation:

       QX Series Loader                             Version 3.20  Sep 16 1999
    
    
       Using configuration file [ C:\NMS\QX\CFG\qx.cfg ]
      
       QX 2000 BOARD [0] ( board type QX 2000/100-4L )
       VendorID        = 0x000012B6
       DeviceID        = 0x00002100
       Serial Number   = 0000231882
       PCI bus         = 3
       PCI slot        = 4
       Chksum          = 0x00
        FPGA file      : <C:\NMS\QX\LOAD\q422.hex>
        SLAC file      : <C:\NMS\QX\CTRY\FRA\q4fralsc.slc>
        PreBoot file   : <C:\NMS\QX\LOAD\preboot.hex>
        Boot file      : <C:\NMS\QX\LOAD\boot.hex>
        Firmware file  : <C:\NMS\QX\LOAD\qx100.dsp>
    
       QX 2000 BOARD [1] ( board type QX 2000/100-4L )
       VendorID        = 0x000012B6
       DeviceID        = 0x00002100
       Serial Number   = 0000231878
       PCI bus         = 3
       PCI slot        = 5
       Chksum          = 0x00
        FPGA file      : <C:\NMS\QX\LOAD\q422.hex>
        SLAC file      : <C:\NMS\QX\CTRY\FRA\q4fralsc.slc>
        PreBoot file   : <C:\NMS\QX\LOAD\preboot.hex>
        Boot file      : <C:\NMS\QX\LOAD\boot.hex>
        Firmware file  : <C:\NMS\QX\LOAD\qx100.dsp>
    
    
  5. Run blocate.exe to identify the boards on the PCI bus:

       Fri Sep 17 11:22:22     There were 0 NMS AG PCI cards detected
       Check PCI Interrupts in system setup
    
       Fri Sep 17 11:22:22     There were 2 NMS QX PCI cards detected
    
       BUS     SLOT    INTERRUPT
       03      04      0xb
       03      05      0xc
    
  6. Run the blocate 3 4 command to identify which one of the two QX boards is plugged into PCI bus 3, slot 4. This command will flash LEDs on the QX board plugged into PCI bus 3, slot 4. This board will be connected to the PSTN and configured as board number 2. The other board will be connected to a PBX and configured as board number 4.

    
    
  7. Edit the configuration file to change the board numbers. Look for the board installed in PCI bus 3, slot 4 (statements PCIbus and PCIslot) and replace its board number with 2 (statement Board). Then, change the board number for the board installed in PCI bus 3, slot 5 to 4:

       [QXBOARD]
    
       #--- COMMON SECTION ---
       #--- BOARDS SECTION ---
    
       Board 2
         DeviceID     = 0x00002100
         SerialNumber = 0000231882
         PCIbus       = 3
         PCIslot      = 4
         Interrupt    = 11
         FPGA         = q422.hex
         QSLAC        = q4fralsc.slc
         DSP_OS       = qx100.dsp
         ClockRef     = OSC
         IdleCode     = A-LAW
       End Board
    
       Board 4
         DeviceID     = 0x00002100
         SerialNumber = 0000231878
         PCIbus       = 3
         PCIslot      = 5
         Interrupt    = 12
         FPGA         = q422.hex
         QSLAC        = q4fralsc.slc
         DSP_OS       = qx100.dsp
         ClockRef     = OSC
         IdleCode     = A-LAW
       End Board
    
    
  8. Save the modified file.

    
    
  9. Run qxload -bx to initialize the boards with the new numbers:

       QX Series Loader                             Version 3.20  Sep 16 1999
    
    
       Using configuration file [ C:\NMS\QX\CFG\qx.cfg ]
    
       WARNING : QX board(s) number(s) modified -> requires QX 2000 driver
    restart.
    QX 2000 driver has been successfully restarted. QX 2000 BOARD [2] ( board type QX 2000/100-4L ) VendorID = 0x000012B6 DeviceID = 0x00002100 Serial Number = 0000231882 PCI bus = 3 PCI slot = 4 Chksum = 0x00 FPGA file : <C:\NMS\QX\LOAD\q422.hex> SLAC file : <C:\NMS\QX\CTRY\FRA\q4fralsc.slc> PreBoot file : <C:\NMS\QX\LOAD\preboot.hex> Boot file : <C:\NMS\QX\LOAD\boot.hex> Firmware file : <C:\NMS\QX\LOAD\qx100.dsp> QX 2000 BOARD [4] ( board type QX 2000/100-4L ) VendorID = 0x000012B6 DeviceID = 0x00002100 Serial Number = 0000231878 PCI bus = 3 PCI slot = 5 Chksum = 0x00 FPGA file : <C:\NMS\QX\LOAD\q422.hex> SLAC file : <C:\NMS\QX\CTRY\FRA\q4fralsc.slc> PreBoot file : <C:\NMS\QX\LOAD\preboot.hex> Boot file : <C:\NMS\QX\LOAD\boot.hex> Firmware file : <C:\NMS\QX\LOAD\qx100.dsp>
The new QX board numeration has been activated, and boards 2 and 4 initialized.

Note: You must be logged in as a member of the Administrators group to modify a board number. Example 2: Installing a Third QX Board

The following example illustrates the installation of a third QX board on the system. This board will be configured as board number 5:

  1. Install the third board on the system.

    
    
  2. After rebooting the system, back up the qx.cfg file by saving it as qx.sav.

    
    
  3. Run qxload -cfg to create a new configuration file that includes the third board:

       QX Series Loader                             Version 3.20  Sep 16 1999
    
    
    
       QX 2000 BOARD [0] ( board type QX 2000/100-4L )
       VendorID        = 0x000012B6
       DeviceID        = 0x00002100
       Serial Number   = 0000231879
       PCI bus         = 3
       PCI slot        = 6
       Chksum          = 0x00
       Configuration written in file [ C:\NMS\QX\CFG\qx.cfg ]
    
       QX 2000 BOARD [2] ( board type QX 2000/100-4L )
       VendorID        = 0x000012B6
       DeviceID        = 0x00002100
       Serial Number   = 0000231882
       PCI bus         = 3
       PCI slot        = 4
       Chksum          = 0x00
       Configuration written in file [ C:\NMS\QX\CFG\qx.cfg ]
    
       QX 2000 BOARD [4] ( board type QX 2000/100-4L )
       VendorID        = 0x000012B6
       DeviceID        = 0x00002100
       Serial Number   = 0000231878
       PCI bus         = 3
       PCI slot        = 5
       Chksum          = 0x00
       Configuration written in file [ C:\NMS\QX\CFG\qx.cfg ]
    
A new number is automatically allocated to the new board (0 in this example):

[QXBOARD]

#--- COMMON SECTION ---

#--- BOARDS SECTION ---

Board 0
  DeviceID     = 0x00002100
  SerialNumber = 0000231879
  PCIbus       = 3
  PCIslot      = 6
  Interrupt    = 11
  FPGA         = q422.hex
  QSLAC        = q4fralsc.slc
  DSP_OS       = qx100.dsp
  ClockRef     = OSC
  IdleCode     = A-LAW
End Board

Board 2
  DeviceID     = 0x00002100
  SerialNumber = 0000231882
  PCIbus       = 3
  PCIslot      = 4
  Interrupt    = 11
  FPGA         = q422.hex
  QSLAC        = q4fralsc.slc
  DSP_OS       = qx100.dsp
  ClockRef     = OSC
  IdleCode     = A-LAW
End Board

Board 4
  DeviceID     = 0x00002100
  SerialNumber = 0000231878
  PCIbus       = 3
  PCIslot      = 5
  Interrupt    = 12
  FPGA         = q422.hex
  QSLAC        = q4fralsc.slc
  DSP_OS       = qx100.dsp
  ClockRef     = OSC
  IdleCode     = A-LAW
End Board

  1. Edit the configuration file to change the number for the new board to 5:

       [QXBOARD]
    
       #--- COMMON SECTION ---
    
       #--- BOARDS SECTION ---
    
       Board 5
         DeviceID     = 0x00002100
         SerialNumber = 0000231879
         PCIbus       = 3
         PCIslot      = 6
         Interrupt    = 11
         FPGA         = q422.hex
         QSLAC        = q4fralsc.slc
         DSP_OS       = qx100.dsp
         ClockRef     = OSC
         IdleCode     = A-LAW
       End Board
    
       Board 2
         DeviceID     = 0x00002100
         SerialNumber = 0000231882
         PCIbus       = 3
         PCIslot      = 4
         Interrupt    = 11
         FPGA         = q422.hex
         QSLAC        = q4fralsc.slc
         DSP_OS       = qx100.dsp
         ClockRef     = OSC
         IdleCode     = A-LAW
       End Board
    
         Board 4
         DeviceID     = 0x00002100
         SerialNumber = 0000231878
         PCIbus       = 3
         PCIslot      = 5
         Interrupt    = 12
         FPGA         = q422.hex
         QSLAC        = q4fralsc.slc
         DSP_OS       = qx100.dsp
         ClockRef     = OSC
         IdleCode     = A-LAW
       End Board
    
    
  2. Save the modified file.

    
    
  3. Run qxload -bx to initialize the board with the new number:

       QX Series Loader                             Version 3.20  Sep 16 1999
    
    
       Using configuration file [ C:\NMS\QX\CFG\qx.cfg ]
    
       WARNING : QX board(s) number(s) modified -> requires QX 2000 driver
    restart.
    QX 2000 driver has been successfully restarted. QX 2000 BOARD [2] ( board type QX 2000/100-4L ) VendorID = 0x000012B6 DeviceID = 0x00002100 Serial Number = 0000231882 PCI bus = 3 PCI slot = 4 Chksum = 0x00 FPGA file : <C:\NMS\QX\LOAD\q422.hex> SLAC file : <C:\NMS\QX\CTRY\FRA\q4fralsc.slc> PreBoot file : <C:\NMS\QX\LOAD\preboot.hex> Boot file : <C:\NMS\QX\LOAD\boot.hex> Firmware file : <C:\NMS\QX\LOAD\qx100.dsp> QX 2000 BOARD [4] ( board type QX 2000/100-4L ) VendorID = 0x000012B6 DeviceID = 0x00002100 Serial Number = 0000231878 PCI bus = 3 PCI slot = 5 Chksum = 0x00 FPGA file : <C:\NMS\QX\LOAD\q422.hex> SLAC file : <C:\NMS\QX\CTRY\FRA\q4fralsc.slc> PreBoot file : <C:\NMS\QX\LOAD\preboot.hex> Boot file : <C:\NMS\QX\LOAD\boot.hex> Firmware file : <C:\NMS\QX\LOAD\qx100.dsp> QX 2000 BOARD [5] ( board type QX 2000/100-4L ) VendorID = 0x000012B6 DeviceID = 0x00002100 Serial Number = 0000231879 PCI bus = 3 PCI slot = 6 Chksum = 0x00 FPGA file : <C:\NMS\QX\LOAD\q422.hex> SLAC file : <C:\NMS\QX\CTRY\FRA\q4fralsc.slc> PreBoot file : <C:\NMS\QX\LOAD\preboot.hex> Boot file : <C:\NMS\QX\LOAD\boot.hex> Firmware file : <C:\NMS\QX\LOAD\qx100.dsp>
The new board is now board number 5, and the board numbers for the two QX boards previously installed have not changed.

Note: You must be logged in as a member of the Administrators group to modify a board number.

5.5 QX NT Service, qxsvc

5.5.1 Loading QX boards with a Windows NT Service

To enable loading of QX boards, the QX package installs a service which can be started automatically when the system boots.

This service is composed of the following utility:
Utility

Description

Qxsvc

Provides the service, i.e., downloading the QX boards. Also configures the Windows NT service.

When the QX service starts, QX boards are loaded with the qxload -bx command (refer to the qxload utility documentation). The result of the qxload command is logged by QXService in the Windows NT system log, and can be viewed with Windows NT Event Viewer (events with a qxload source in the QX loader category).

The QX service is initially configured for manual startup. It can be started and stopped via:

The Windows NT QXService can be configured (via the Control Panel's Services applet) to start automatically after a system reboot.

5.5.2 Installing the QX Service

If it was specified (during QX package installation) that you did not want to modify the registry, the QX service was not installed. If so, you must install the service manually. To do so, use the command:

qxsvc -install

5.5.3 Configuring the QX Service

When the service starts, QX boards are loaded with the qxload -bx command. You can modify this call with the qxsvc -config command, using the following options:

Option

Description

-f file

QX configuration file to use. Default: NMS_dir\qx\cfg\qx.cfg

-e file

Error log file. Default: NMS_dir\qx\cfg\qxerror.log

-p file

Report file. Default: NMS_dir\qx\cfg\qx.rpt

Examples:

To configure the service to run
qxload -bx -f qxtest.cfg
at startup, use the following command:
qxsvc -config -f qxtest.cfg

To configure the service to use the default configuration file, type:
qxsvc -config -f

5.5.4 Removing the QX Service

If the QX service was installed during QX package installation, it will be removed automatically when you remove the QX package. If you installed the QX service with qxsvc -install, it must be removed manually.

To remove the QX Service, use the command:

qxsvc -remove

5.5.5 Debugging the QX Service

The qxsvc service (and qxload program) reports errors, warnings and informational messages to the Event Logging service (where they can be viewed with the Event Viewer from the Windows NT Administrative Tools menu).

The qxsvc service is normally run directly by the Service Control Manager (SCM) and not from the command line. For debugging however, it can be run as a console application by entering:

qxsvc -debug



(Page 1 of 1 in this chapter) Version


tech_support@nmss.com
Copyright © 1999, Natural MicroSystems, Inc. All rights reserved.