kdb366: Installing BlueStorm and Xtreme Serial Card Driver for QNX 7

 Introduction

The Connect Tech BlueStorm and Xtreme Serial driver supports all of Connect Tech’s PCI and PCIe based serial cards, including PC/104-Plus, PCI/104, PCI/104-Express and PCIe/104 cards as well as any COM Express carriers with PCIe UARTs on the carrier.

There are 2 methods for installing the driver with QNX 7. Method 1 involves installing it in a read/write capable file system directly on the QNX 7 target. Method 2 uses a Host system (running QNX Momentics IDE) to install the driver into a QNX 7 target image that can be later installed on the QNX target system.

Installation

Method 1: Installing Directly on QNX 7 Target

Requirements:

  • Target OS must have libpci.s0 and pci-server included, pci-tool is recommended but not required.
  • Currently the Target must be x86 or x86_64 architecture
  • A filesystem that is writable and allows execution bits (not FAT)
  1. Copy the ctipuiX.YYv7.tar file to the target machine either over the network or by USB drive
  2. Extract the tar file using tar -xf ctipuiX.YYv7.tar
  3. The driver is located in ./sbin/<arch> where arch is either x86 for 32bit OSes or x86_64 for 64 bit OSes
  4. Run the driver from the installed location using ./devc-serCtiPciUart and provide any parameters (see Driver Usage section)

Method 2: Installing from Host Machine by Adding to System Image

Requirements:

  • A host system running Linux, Windows or MacOS (Note: Linux file paths will be shown in this guide, they may differ for Windows)
  • QNX SDP 7 and QNX Momentics IDE
  • Board Support Package for your target and/or an image build file
  • The tar utility (or equivalent) for extracting the archive
  1. Locate your $QNX_TARGET path on the Host machine ( for example /qnx700/qnx7/target)
  2. Copy ctipuiX.YYv7.tar into the $QNX_TARGET directory on the Host machine and extract it
  3. Locate and open your OS build file (typically in <BSP>/images)
  4. Within the build file under the startup-script entry, uncomment one of:
    • PCI_HW_MODULE=/lib/dll/pci/pci_hw-Intel_x86.so if you are using an Intel based x86 or x86_64 system or
    • PCI_HW_MODULE=/lib/dll/pci/pci_hw-AMD_x86.so if you are using an AMD based x86 or x86_64 system
  5. Outside of the startup-script add the following lines to the build file if they are not already included:
    • [-followlink search=${QNX_TARGET}/${PROCESSOR}] /lib/libpci.so=libpci.so
    • pci-server
    • qtalk
    • [search=${QNX_TARGET}/sbin/${PROCESSOR}] /sbin/devc-serCtiPciUart=devc-serCtiPciUart
    • [search=${QNX_TARGET}/sbin/${PROCESSOR}]/sbin/ctty=ctty
  6. Build the OS image and install it onto the QNX target
  7. The driver will be able to be run from anywhere using devc-serCtiPciUart

Driver Usage

Arguments

Full parameter list can be found by running use devc-serCtiPciUart. The most common ones are described here.

-F  Disable Hardware Flow Control

-f   Enable Hardware Flow Control (Default)

-N <prefix>  Set a Prefix for the Serial Ports (Default: ser which creates ports named /dev/ser#)

-u <number> The Port Number to Start at. For Example if There are 2 Other Serial Ports in the System, Set This to 3 to Start CTI Ports at /dev/ser3

-S  Disable Software Flow Control (Default)

-s   Enable Software Flow Control

-b <baud> Initial Baud Rate in bps (Default: 57600)

-p <number> arguments following -p apply to only that port AND higher

Examples

Simple Example:

devc-serCtiPciUart -F -N cti -b 9600

Creates ports named /dev/cti# and disables hardware flow control and sets all ports to an initial baud rate of 9600 bps.

More Advanced Example:

Individual ports can be configured by adding the -p <number> argument. Note that all parameters after the -p flag will apply only to that port AND any high ports unless another -p flag is used.

devc-serCtiPciUart -N cti -p 2 -b 9600 -p 4 -F -b 115200

This command will set port 2 (and 3) to baud rate of 9600 with hardware flow control enabled and sets port 4 (and higher ports) to a baudrate of 115200 with flow control disabled.

You can have the driver begin on startup by adding the command with your arguments within the startup-script in your build file.

Go to Top