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:
Functional testing of controllers at Level 2
Certifying the primary controller that has supplementary controllers supported by the same driver under test
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.
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.
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.
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.
You only need to perform this test if you are doing one of the following:
Required Hardware
Test machine with a diskette drive
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
Insert the driver media.
Verify the format and contents of the driver diskette.
# volcheck
# audit_itu
Expected Results
This test verifies that the driver can be installed and removed from both configurations properly.
Required Hardware
Test Strategy
This test is performed after the Verify Driver Diskette Format and Contents test, to eliminate the possibility of encountering problems caused by a defective driver diskette.
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
Install the test machine with the appropriate Solaris OS.
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 prtconf 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
Required Hardware
Test Strategy
This test is performed after the Verify Driver Diskette Format and Contents test, to eliminate the possibility of encountering problems caused by a defective driver diskette.
The test is performed on a machine running the appropriate Solaris release. The driver under test should not yet be installed.
The driver is installed on a running system, then the system is rebooted to create device files. (To ensure good results, reinstall the test machine so you start with a system that is free of changes introduced by previous testing.)
Test Procedure
Verify that the system is running, and log in as user root.
Install the driver by inserting the driver media.
# volcheck
# cd /floppy/floppy0
# pkgadd -d . $PKG_NAME
Reboot the system.
Press Escape to run the Configuration Assistant.
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.
Use the Driver Post-Installation Checklist to verify that the driver is installed correctly.
Expected Results
Required Hardware
Test Strategy
This test is performed after the Verify Driver Diskette Format and Contents test, to eliminate the possibility of encountering problems caused by a defective driver diskette.
The test must be performed on a machine running the appropriate Solaris release. The driver under test should not be installed.
The driver is installed during a Solaris upgrade installation.
Test case 2 and at least one other test case must be performed:
For example, to perform test case 2, you can upgrade from the Solaris 9 Operating System to the Solaris 10 Operating System.
The Solaris upgrade is performed over the network or using a CD-ROM (see the installation guide for your system).
To ensure good results, this test should be performed on a clean system that is free of changes introduced by previous testing.
Test Procedure
Install the Solaris OS.
To start the Solaris upgrade, insert the Solaris Device Configuration Assistant boot diskette for the release to be installed and reboot the system.
At the initial Solaris Device Configuration Assistant boot screen, press F4_Add Driver and insert the driver media when prompted.
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
See the Driver Post-Installation Checklist to verify that the driver is installed correctly.
Expected Results
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.
/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:
Required Hardware
Two test machines as specified in System Configuration I and System Configuration II
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
Bring down the system and turn off the machine.
Open the case and remove all controllers associated with the driver under test.
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.
Required Hardware
Two test machines as specified in System Configuration I and System Configuration II
Required Hardware Configuration
Two machines configured as described in Test Serial I/O Connection Setup
Test Strategy
This test ensures that UUCP configuration over a serial line is successful using the driver under test.
Test Procedure
Configure the hardware as described in Test Serial I/O Connection Setup.
Install and configure the driver on both test machines.
Configure UUCP on both machines.
Try using system administration commands such as uucp, cu, tip, and uutry.
Expected Results
Required Hardware
Two test machines as specified in System Configuration I and System Configuration II
Two serial I/O controllers supported by the driver under test
Required Hardware Configuration
Two machines configured as described in Test Serial I/O Connection Setup
Test Strategy
This test verifies that a PPP connection made over a serial line using the driver under test is successful.
Test Procedure
Install and configure the driver on both test machines.
Configure the hardware as described in Test Serial I/O Connection Setup.
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.
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.