Serial I/O Controller Certification
Level 2 Test Plan

Introduction
Required Hardware and Software
Required Hardware Configuration
System Configuration I
System Configuration II
Required Software Configuration
Test Serial I/O Connection Setup
Hardware Certification Tests
Manual Tests
Automated Tests

Introduction

This document provides detailed descriptions of the manual serial asynchronous interface/PCI (SAI/P) controller certification tests. After you successfully complete the manual tests described in this document, use the HCTS to run the automated tests.

Note: This document uses the generic term "serial I/O" to refer to the serial asynchronous interface/PCI.

These Level 2 tests provide greater test coverage than the Level 1 tests. See Serial I/O Level 1 Tests and Serial I/O Level 2 Tests for further details.

When a driver supports multiple controllers, the controller that supports the most extensive feature set is designated the primary controller. Additional controllers supported by the same device driver are known as supplementary controllers.

The tests described in this document are used for one of these two purposes:

Note: The tests described in the Serial I/O Controller Certification Level 1 Test Plan are for functional testing of controllers at Level 1 or for certifying any supplementary controllers that are supported by the same driver under test as a primary controller.

Run all tests on both system configurations.

Required Hardware and Software

Make sure your system meets the general hardware and software requirements for all certifications stated in the Hardware Certification Test Suite Installation Guide.

This section describes additional hardware and software required to execute the serial I/O controller certification tests.

Required Hardware Configuration

System Configuration I

The minimum requirements for this configuration are as follows:

System Configuration II

The minimum requirements for this configuration are as follows:

Back to Top


Required Software Configuration

Back to Top


Test Serial I/O Connection Setup

The following diagrams show how to connect your machines for a Serial I/O certification.

Figure 1. Serial-port-to-serial-port Connection


Figure 2. Two Serial Port Connection

Figure 3. Multi-client Connection

Note: The following list provides additional information for the diagrams.

Back to Top


Hardware Certification Tests

These tests require two systems. Run all tests from System Configuration II, and use System Configuration I as the client.

Run all tests as user root unless otherwise indicated in the HCTS test ReadMe file.

Manual Tests

Back to Top


Verify Driver Diskette Format and Contents

You only need to perform this test if you are doing one of the following:

Required Hardware

Required Software

Test Strategy

The audit_itu(1M) utility verifies the format and contents of a driver diskette created using pkg_drv(1M) or pkg_drv2patch(1M).

Test Procedure

  1. Insert the driver media.

  2. Verify the format and contents of the driver diskette.

    # volcheck
    # audit_itu

Expected Results

Back to Top


Testing New Installation of Solaris and the Driver

This test verifies that the driver can be installed and removed from both configurations properly.

Required Hardware

Test Strategy

Test Procedure

  1. Install the test machine with the appropriate Solaris OS.

  2. Ensure that the test system is sliced correctly.

    Note: To specify slice layout during Solaris installation, do the following.

  3. After the Solaris OS is installed, continue installing the driver under test .

  4. After the driver installation completes, reboot the system and enter the Configuration Assistant by pressing Escape.

    The Configuration Assistant displays a list of device drivers loaded from the driver media that have been associated with controllers in the system.

  5. Examine the Boot Solaris screen to verify that all physical devices connected to the driver under test appear in the list.

  6. When prompted, reinsert the driver media.

  7. Use the Driver Post-Installation Checklist to verify that the driver was installed correctly.

  8. Use prtconf to verify that all devices connected to the controller under test can be accessed.

  9. Remove the driver from the system (see pkgrm(1M) man page) and verify that there are no error messages.

  10. Reboot the system and ensure that no error messages appear.

Expected Results

Back to Top

Testing Driver Installation on a System Running Solaris

Required Hardware

Test Strategy

Test Procedure

  1. Verify that the system is running, and log in as user root.

  2. Install the driver by inserting the driver media.

    # volcheck
    # cd /floppy/floppy0
    # pkgadd -d . $PKG_NAME

  3. Reboot the system.

  4. Press Escape to run the Configuration Assistant.

  5. Examine the Boot Solaris screen to verify that all peripherals connected to the controller and supported by the driver under test have corresponding software entries.

  6. Use the Driver Post-Installation Checklist to verify that the driver is installed correctly.

Expected Results

Back to Top


Testing Driver Installation During a Solaris Release Upgrade

Required Hardware

Test Strategy

Test Procedure

  1. Install the Solaris OS.

  2. To start the Solaris upgrade, insert the Solaris Device Configuration Assistant boot diskette for the release to be installed and reboot the system.

  3. At the initial Solaris Device Configuration Assistant boot screen, press F4_Add Driver and insert the driver media when prompted.

  4. Continue the installation process. When you are prompted for the type of installation to perform, choose the Upgrade option (see the installation guide for your system).

    Initial         Upgrade         Exit

  5. See the Driver Post-Installation Checklist to verify that the driver is installed correctly.

Expected Results

Back to Top


Driver Post-Installation Checklist

Required Hardware

Test Strategy

Test Procedure

  1. Verify that one of these two sets of files are present. driver_name is the name of the driver under test.

  2. Verify that entries for the installed driver appear in these files.

    For example, to locate the ncrs driver entry in the /etc/name_to_major file, type:

    # grep ncrs /etc/name_to_major
    ncrs 20

Expected Results

Back to Top


Missing Controller Test

Required Hardware

Test Strategy

This test ensures that the driver does not cause a panic or hang the system if the corresponding controller is missing.

Test Procedure

  1. Bring down the system and turn off the machine.

  2. Open the case and remove all controllers associated with the driver under test.

  3. Reboot the system. Ensure that the only error messages are from the driver, indicating that the controllers are missing. The system should then continue booting normally.

Expected Results

There is an error message about the missing controller, but the system continues to boot normally. Any delays caused by the driver searching for the missing controller can be expected.

Back to Top


UUCP Configuration Test

Required Hardware

Required Hardware Configuration

Test Strategy

This test ensures that UUCP configuration over a serial line is successful using the driver under test.

Test Procedure

  1. Configure the hardware as described in Test Serial I/O Connection Setup.

  2. Install and configure the driver on both test machines.

  3. Configure UUCP on both machines.

  4. Try using system administration commands such as uucp, cu, tip, and uutry.

Expected Results

Back to Top


PPP Configuration Test

Required Hardware

Required Hardware Configuration

Test Strategy

This test verifies that a PPP connection made over a serial line using the driver under test is successful.

Test Procedure

  1. Install and configure the driver on both test machines.

  2. Configure the hardware as described in Test Serial I/O Connection Setup.

  3. Configure the PPP dial-in server and the PPP client. For instructions, see the installation guide for your system.

Expected Results

There should be no configuration problems.

Back to Top


Configuring Serial Ports Using the stty(1) Command

Required Hardware

Test Strategy

Test Procedure

  1. Install and configure the driver on either test machine.

  2. Perform the following five tests:

    1. Baudrate Configuration

      1. Use the stty command to configure the baudrate of a device. For example:

      2. # (/usr/ucb/stty 38400; sleep 10000) > /dev/cua/a &

      3. Use the stty command to verify that the baudrate is configured. For example:

      4. # stty -a < /dev/cua/a

      5. Kill the stty process.

      6. Check whether the serial devices can transfer data correctly after stty configures the baudrate. For example:

        # tip -38400 /dev/cua/b
        # (/usr/ucb/stty 38400; cat /etc/hosts) > /dev/cua/a

    2. Control Mode Configuration

      1. Use the stty command to configure the control mode of a device. For example:

      2. # (/usr/ucb/stty cs7 parenb parext; sleep 10000) > /dev/cua/a &

      3. Use the stty command to verify that the control mode is configured. For example:

      4. # stty -a < /dev/cua/a

      5. Kill the stty process.

      6. Check whether the serial devices can transfer data correctly after stty configures the control mode. For example:

        # tip -9600 /dev/cua/b
        # (/usr/ucb/stty cs7 parenb parext; cat /etc/hosts) > /dev/cua/a

    3. Input Mode Configuration

      1. Use the stty command to configure the input mode of a device. For example:

      2. # (/usr/ucb/stty -inpck iuclc; sleep 10000) > /dev/cua/a &

      3. Use the stty command to verify that the input mode is configured. For example:

      4. # stty -a < /dev/cua/a

      5. Kill the stty process.

      6. Check whether the serial devices can transfer data correctly after stty configures the input mode. For example:

        # (/usr/ucb/stty -inpck iuclc; sleep 10000) > /dev/cua/b &
        # tip -9600 /dev/cua/b
        # cat /etc/hosts > /dev/cua/a

    4. Output Mode Configuration

      1. Use the stty command to configure the output mode of a device. For example:

      2. # (/usr/ucb/stty opost -olcuc; sleep 10000) > /dev/cua/a &

      3. Use the stty command to verify that the output mode is configured. For example:

      4. # stty -a < /dev/cua/a

      5. Kill the stty process.

      6. Check whether the serial devices can transfer data correctly after stty configures the output mode. For example:

        # tip -9600 /dev/cua/b
        # (/usr/ucb/stty opost -olcuc; cat /etc/hosts) > /dev/cua/a

    5. Local Mode Configuration

      1. Use the stty command to configure the local mode of a device. For example:

      2. # (/usr/ucb/stty -icanon min 1 time 0; sleep 10000) > /dev/cua/a &

      3. Use the stty command to verify that the local mode is configured. For example:

      4. # stty -a < /dev/cua/a

      5. Kill the stty process.

      6. Check whether the serial devices can transfer data correctly after stty configures the local mode. For example:

        # tip -9600 /dev/cua/b
        # (/usr/ucb/stty -icanon min 1 time 0; cat /etc/hosts) > /dev/cua/a

Back to Top


Administering Serial Ports Using Port Monitor

Required Hardware

Test Strategy

Test Procedure

  1. Install and configure the driver on either test machine.

  2. Perform the following five tests:

    1. Set Up a Terminal

      1. Use the pmadm command to set up a terminal. For example:

        # pmadm -a -fu -i root -v `ttyadm -V` -p zsmon -s \
        ttya -m "`ttyadm -T tvi925 \
        -d /dev/cua/a -l 38400 -m ldterm, \
        ttcompat -s /usr/bin/login`" -y "Terminal"

      2. Use the pmadm command to verify that the terminal service is added. For example:

        # pmadm -l -s ttya

    2. Set Up a Modem

      1. Use the pmadm command to set up a modem. For example:

        # pmadm -a -fu -i root -v `ttyadm -V` -p \
        zsmon -s ttya -m "`ttyadm -b -Sn \
        -d /dev/cua/a -l 38400 -m ldterm, \
        ttcompat -s /usr/bin/login`" -y \
        "Dial in/out on serial port a"

      2. Use the pmadm command to verify that the modem service is configured for use with UUCP. For example:

        # pmadm -l -s ttya

    3. Initialize a Port

      1. Use the pmadm command to initialize a port. For example:

        # pmadm -a -fu -i root -v `ttyadm -V` -p \
        zsmon -s ttya -m "`ttyadm -I -Sn \
        -d /dev/cua/a -l 38400 -m ldterm, \
        ttcompat -s /usr/bin/login`" -y \
        "Initialize serial port a"

      2. Use the pmadm command to verify that the port is initialized. For example:

        # pmadm -l -s ttya

    4. Disable a Port

      1. Use the pmadm command to disable a port. For example:

        # pmadm -d -p zsmon -s ttya

      2. Use the pmadm command to verify that the port service is disabled. For example:

        # pmadm -l -s ttya

    5. Remove a Port Service

      1. Use the pmadm command to remove a port service. For example:

        # pmadm -r -p zsmon -s ttya

      2. Use the pmadm command to verify that the port service is deleted. For example:

        # pmadm -l -s ttya

Back to Top


Copyright 2005 Sun Microsystems, Inc. All rights reserved.