ioscan(1M) Series 800 Only
NAME
ioscan − scan I/O system
SYNOPSIS
/etc/ioscan [−k|−u] [−d driver| −C class] [−l lu] [−H hw_path] [−f [−n]] [devfile]
/etc/ioscan −M module_path −H hw_path
DESCRIPTION
In the first form, ioscan scans system hardware, usable I/O system devices, or kernel I/O system data structures and lists the results.
By default, ioscan scans all hardware connected to the system, including processors, memory, and I/O devices, and lists the results. Scanning the hardware may cause drivers to be unbound and others bound in their place in order to match the actual hardware in the system. Entities that cannot be scanned are not listed.
The −d or −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.
If ioscan is invoked with the −k option, the kernel I/O system data structures are scanned instead of the actual hardware, and listed. No binding or unbinding of drivers is performed. The −d, −C, −l, and −H options restrict the 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.
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. The following describe the various fields:
class Device classes are defined in file /etc/master and can be listed using 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 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.
hardware_status
The 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_Wont_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.
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(2) or probe of this hardware component has been done. This cannot occur when doing a hardware scan but may 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 form, 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.
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.
−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.
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(1M) input file.
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
AUTHOR
ioscan was developed by HP.
FILES
/dev/config
/dev/*
SEE ALSO
Hewlett-Packard Company — HP-UX Release 8.05: June 1991