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:
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.
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.
The minimum requirements for this configuration are as follows:
The minimum requirements for this configuration are as follows:
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.
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.
This test verifies that the driver can be installed and removed from both configurations properly.
Required Hardware
Required Software
Test Strategy
Test Procedure
Install the test machine with the appropriate Solaris OS and the driver under test.
Ensure that the test system is sliced correctly.
Note: To specify slice layout during Solaris installation, do the following.
After the Solaris OS is installed, continue installing the driver under test.
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.
Examine the Boot Solaris screen to verify that all physical devices connected to the driver under test appear in the list.
When prompted, reinsert the driver media.
Use the Driver Post-Installation Checklist to verify that the driver was installed correctly.
Use the prtconf command to verify that all devices connected to the controller under test can be accessed.
Remove the driver from the system (see pkgrm(1M) man page) and verify that there are no error messages.
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.
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
Verify that one of these two sets of files are present.
driver_name is the name of the driver under test.
or:
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
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:
Required Hardware
Two test machines as specified in System Configuration I and System Configuration II
Test Strategy
Test Procedure
Install and configure the driver on either test machine.
Perform the following five tests:
Baudrate Configuration
Use the stty command to configure the baudrate of a device. For example:
# (/usr/ucb/stty 38400; sleep 10000) > /dev/cua/a &
Use the stty command to verify that the baudrate is configured. For example:
# stty -a < /dev/cua/a
Kill the stty process.
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
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 &
Use the stty command to verify that the control mode is configured. For example:
# stty -a < /dev/cua/a
Kill the stty process.
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
Use the stty command to configure the input mode of a device. For example:
# (/usr/ucb/stty -inpck iuclc; sleep 10000) > /dev/cua/a &
Use the stty command to verify that the input mode is configured. For example:
# stty -a < /dev/cua/a
Kill the stty process.
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
Use the stty command to configure the output mode of a device. For example:
# (/usr/ucb/stty opost -olcuc; sleep 10000) > /dev/cua/a &
Use the stty command to verify that the output mode is configured. For example:
# stty -a < /dev/cua/a
Kill the stty process.
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
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 &
Use the stty command to verify that the local mode is configured. For example:
# stty -a < /dev/cua/a
Kill the stty process.
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
Required Hardware
Two test machines as specified in System Configuration I and System Configuration II
Test Strategy
Test Procedure
Install and configure the driver on either test machine.
Perform the following five tests:
Set Up a Terminal
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"
Use the pmadm command to verify that the terminal service is added. For example:
# pmadm -l -s ttya
Set Up a Modem
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"
Use the pmadm command to verify that the modem service is configured for use with UUCP. For example:
# pmadm -l -s ttya
Initialize a Port
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"
Use the pmadm command to verify that the port is initialized. For example:
# pmadm -l -s ttya
Disable a Port
Use the pmadm command to disable a port. For example:
# pmadm -d -p zsmon -s ttya
Use the pmadm command to verify that the port service is disabled. For example:
# pmadm -l -s ttya
Remove a Port Service
Use the pmadm command to remove a port service. For example:
# pmadm -r -p zsmon -s ttya
Use the pmadm command to verify that the port service is deleted. For example:
# pmadm -l -s ttya
Copyright 2005 Sun Microsystems, Inc. All rights reserved.