ioscan(1M)
NAME
ioscan − scan I/O system
SYNOPSIS
Series 800 Only:
/etc/ioscan [-k|-u] [-d driver| -C class] [-l lu] [-H hw_path] [-f [-n]] [devfile]
/etc/ioscan −M module_path −H hw_path
Series 700:
/etc/ioscan [-d driver| -C class] [-H hw_path] [-f] [-h]
DESCRIPTION
Depending on system hardware architecture, ioscan scans system hardware, usable I/O system devices, or kernel I/O system data structures as appropriate, and lists the results.
By default, ioscan scans the system, and lists all reportable hardware found. The types of hardware reported vary according to what series computer is in the system (see DEPENDENCIES ) and can include processors, memory, interface cards and I/O devices. On Series 800 systems, scanning the hardware may cause drivers to be unbound and others bound in their place in order to match actual system hardware. Entities that cannot be scanned are not listed.
Options
ioscan recognizes the following options:
-C class Restrict the output listing to those devices belonging to the specified class. Cannot be used with -d.
-H hw_path Restrict the scan and output listing to those devices connected at the specified hardware path. When used with -M, this option specifies the full hardware path to bind the software modules at.
-M module_path Specifies the module path to bind at the hardware path given by the -H option. Must be used with -H and cannot be used with any other options.
-d driver Restrict the output listing to those devices controlled by the specified driver. Cannot be used with -C.
-h Return hardware hversion identifier information.
-k Scan kernel I/O structures instead of the actual hardware. Cannot be used with -u.
-l lu Restrict the scan and output listing to the specified logical unit. Must be used with either -d or -C.
-n Add device file names to the output listing. Only special files in the /dev directory and its subdirectories are listed.
-u Scan usable I/O system devices instead of the actual hardware. Cannot be used with -k.
The -d and -C options can be used to obtain listings of subsets of the I/O system, but the entire system is still scanned. Specifying -d or -C along with -l, or specifying -H or a devfile causes ioscan to restrict both the scan and the listing to the hardware subset indicated.
On Series 800 systems:
• If ioscan -k is used, the kernel I/O system data structures are scanned instead of the actual hardware, and the results are listed. No binding or unbinding of drivers is performed. The -d, -C, -l, and -H options restrict listing as described above.
• If ioscan is invoked with the -u option, usable I/O system devices (those with a driver in the kernel that have a logical unit number assigned) are listed. The -d, -C, -l, and -H options restrict the listing as described above.
Output Format
The default output format for ioscan lists the class of each hardware module, the hardware path to the module, and the hardware status. If the -f option is used, ioscan produces a “full” listing, giving the module’s class, hardware path, module path, any logical unit, and hardware and software status values. Output fields are as follows:
class Device classes are defined on the series 800 in file /etc/master and can be listed using lsdev (see lsdev(1M)). Examples are disk, printer, and tape_drive.
hw_path A hardware path specifies the address of the hardware components leading to a device. it consists of a string of numbers each suffixed by slash (/), followed by a string of numbers separated by periods (.). Hardware components suffixed by slashes indicate bus converters and may be unnecessary on your machine. Hardware components suffixed by . indicate the addresses of the remaining hardware components on the path to the device.
module_path A module path is a string of arbitrary length consisting of one or more names, separated by periods (.). Each name identifies a driver controlling a hardware component. The string ? indicates there is no driver available in the system to control that hardware component.
logical_unit The logical unit number associated with the device. It is not listed for those entities that do not have logical units. If no number has been assigned, a dash (-), is listed. This field appears only on Series 800 ioscan output listings.
hardware_status Entity identifier for the hardware component. It is one of the following strings:
ok(0xidy_value)
The hexadecimal value of the entity identifier.
No_Hardware
There is no hardware connected. This cannot occur when doing a hardware scan, but may be encountered when -k or -u is specified.
Unrecognized_HW
There is hardware present but no entity identifier is available.
Driver_Won’t_Probe
No identifier can be obtained because the parent driver does not support probing.
Cannot Probe
No attempt has ever been made to probe this entity. This cannot occur when doing a hardware scan, but may be encountered when -k or -u is specified.
Probe_Failed
An attempt to probe the hardware failed for some reason.
hversion Hardware hversion identifier.
software_status The state of the software driver controlling this hardware component. Consists of one of the following strings:
ok The driver is bound.
Unbound The driver is unbound because another driver has been bound in its place.
Too_Many_Devices
The driver is not bound because the maximum number of bound instances has been reached.
Out_of_Memory
The driver is not bound because the required system resources (such as dynamically allocated memory) could not be obtained.
HW/Driver_Mismatch
The driver is not bound because some other driver should be unbound and this one bound in its place, but the other driver cannot unbind.
No_Driver
There is no driver available in the system that matches this hardware component.
Cannot_Access
No open() or probe of this hardware component has been done. This cannot occur when doing a hardware scan but may be encountered when -k or -u is specified.
Driver_Failure
The attempt to bind the driver failed for some reason.
Not_Configured
The driver does not support dynamic configuration.
In the second Series 800 form shown, ioscan forces the specified software module path into the kernel I/O system at the given hardware path, and forces those software modules to be bound. This can be used to make the system recognize a device that could not be recognized automatically; for example, because it has not yet been connected to the system or because diagnostics need to be run on a faulty device.
RETURN VALUE
ioscan returns 0 upon normal completion and 1 if an error occurred.
DIAGNOSTICS
Most of the diagnostic messages from ioscan are self-explanatory. Listed below are some messages deserving further clarification. Errors cause ioscan to halt immediately.
Errors
Device driver name is not in the kernel
Device class name is not in the kernel
The indicated device driver or device class is not present in the kernel. Add the appropriate device driver and/or device class to the uxgen(1M) input file and generate a new kernel.
Invalid module path - name1 cannot connect to name2
The indicated drivers cannot be adjacent in a module path. Driver connectivity is determined by the /etc/master file and the drivers “included” in the uxgen input file (see uxgen(1M)
No such device in the system
No device in the system matched the options specified. Use a less specific set of options to list the devices in the system.
EXAMPLES
Scan the system hardware and list all the devices belonging to the disk device class.
ioscan -C disk
Force-bind the CIO channel adapter driver, HP-IB driver, and tape driver at the hardware path 8.4.1.
ioscan -M cio_ca0.hpib0.tape1 -H 8.4.1
DEPENDENCIES
Series 700:
The -k, -u, -l, -n, and -M options are not supported. Consequently, the second form of ioscan given in the synopsis is not valid. No drivers are bound or unbound while scanning the hardware.
The only types of hardware reported are interface cards, disk devices and tape drives. ioscan scans the kernel data structures for interface cards, then probes for any disk or tape devices attached.
The ioscan output listing differs as follows:
• The logical unit field does not exist.
• The field hardware path always contains ok(0xidy_value).
• All elements of the hardware path are separated by periods (.).
• The field module path only lists the controlling driver for a given hardware device, not the full module path.
AUTHOR
ioscan was developed by HP.
FILES
/dev/config
/dev/*
SEE ALSO
— April 21, 1994