Test Plan: Serial I/O Controller Certification Level 1

### Serial I/O Controller Certification
Level 1 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.

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:

- Functional testing of controllers at Level 1
- Certifying supplementary controllers supported by the same driver under test as a primary controller

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

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

### 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
  - One single-processor machine that meets the minimum requirements stated in the Hardware Certification Test Suite Installation Guide
  - Diskette drive
- Controllers
  - One serial I/O controller or two serial ports supported by the driver under test
- Devices
  - At least one disk drive that is at least 2 Gbytes in size

System Configuration II

The minimum requirements for this configuration are as follows:

- System

- One dual-processor or quad-processor machine that meets the minimum requirements stated in the Hardware Certification Test Suite Installation Guide
- Diskette drive

- Controllers

- One serial I/O controller or two serial ports supported by the driver under test

- Devices
  - At least one disk drive that is at least 2 Gbytes in size

Back to Top

#### Required Software Configuration

- At least 500 Mbytes for `/` (root)
- At least 1 Gbyte for `/export/home` for single-processor machines
- At least 1.5 Gbytes for `/export/home` for multi-processor machines
- The size of the `/swap` slice in each test machine must be at least twice the amount of RAM in the machine.
- SUNWpkgd. Click on the "Download" line near the top of the Solaris Third-Party Packaging Tools page to download the SUNWpkgd package. To install the SUNWpkgd package, see Installing the SUNWpkgd Tools.

Back to Top

#### Test Serial I/O Connection Setup

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

- The first diagram shows a serial-port-to-serial-port connection.
- The second diagram shows how to connect two machines using two serial ports on each machine.
- The third diagram shows a connection of one machine being tested connected to multiple clients.

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.

- If SAI/P controller has a multi-port connection, the Patch pane/Multi-port board is not required.
- Modem and modem cables can be used.
- All systems must have access to each other.

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

- Testing New Installation of Solaris and the Driver
- Driver Post-Installation Checklist
- Configuring Serial Ports Using the stty(1) Command
- Administering Serial Ports Using Port Monitor

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 machine as described in "Hardware Certification Tests"
- Serial I/O controller supported by the driver under test installed in the machine

Required Software

- Driver under test in the Solaris `pkgadd`(1M) format

Test Strategy

- The test is performed on a machine running the appropriate Solaris release.
- After installation of the driver, the system is rebooted to create device files.
- The driver is then removed from the system.

Test Procedure

1. Install the test machine with the appropriate Solaris OS and the driver under test.

2. Ensure that the test system is sliced correctly.

   - The `/` (root) slice is 500 Mbytes.
   - The `/swap` slice size has at least twice the amount of RAM in the machine.
   - The `/export/home` slice has at least 1 Gbyte.

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

   - Choose Manual Layout from the Automatically Layout File System menu.
   - Choose Customize from the File System and Disk Layout menu.

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 the `prtconf` command 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

- The driver installed and it is working properly.

- The driver passes the Driver Post-Installation Checklist.

- The driver, all entries made by the installation process, and any man pages installed during the driver installation process are successfully removed from the system.

Back to Top

#### Driver Post-Installation Checklist

Required Hardware

- Two test machines as specified in System Configuration I and System Configuration II

Test Strategy

- After a driver is installed, certain files specific to the driver are created and other files are modified. By checking these files, you can determine whether the driver is properly installed.

Test Procedure

1. Verify that one of these two sets of files are present.

   driver_name is the name of the driver under test.

   - `/kernel/drv/`driver_name
   - `/kernel/drv/`driver_name`.conf`

     or:

   - `/platform/i86pc/kernel/drv/`driver_name
   - `/platform/i86pc/kernel/drv/`driver_name.`conf`

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

   - `/boot/solaris/devicedb/master` (realmode drivers only)
   - `/etc/driver_aliases`
   - `/etc/driver_classes`
   - `/etc/name_to_major`
   - `/etc/path_to_inst`

   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

- The files `/kernel/drv/driver_name` and `/kernel/drv/`driver_name`.conf` exist or `/platform/i86pc/kernel/drv/`driver_name and `/platform/i86pc/kernel/drv/`driver_name`.conf` exist.

- Each of these files contains an entry for the driver installed:

  - `/boot/solaris/devicedb/master` (realmode drivers only)
  - `/etc/driver_aliases`
  - `/etc/driver_classes`
  - `/etc/name_to_major`
  - `/etc/path_to_inst`

Back to Top

#### Configuring Serial Ports Using the stty(1) Command

Required Hardware

- Two test machines as specified in System Configuration I and System Configuration II

- One serial I/O controller under test with more than two serial ports

Test Strategy

- This test ensures that ports can be configured using `stty`(1).

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:

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

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

`# stty -a < /dev/cua/a`

3. Kill the `stty` process.

4. 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:

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

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

`# stty -a < /dev/cua/a`

3. Kill the `stty` process.

4. 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:

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

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

`# stty -a < /dev/cua/a`

3. Kill the `stty` process.

4. 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:

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

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

`# stty -a < /dev/cua/a`

3. Kill the `stty` process.

4. 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:

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

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

`# stty -a < /dev/cua/a`

3. Kill the `stty` process.

4. 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

- Two test machines as specified in System Configuration I and System Configuration II

- One serial I/O controller under test

Test Strategy

- This test ensures that ports can be administered using port monitor, `pmadm`(1M).

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.