What's New in Device Management?
This section provides information about new device management features in the Solaris release.
For a complete listing of new Solaris features and a description of Solaris
releases, see Solaris Express Developer Edition What’s New.
x86: Device Detection Tool
Solaris Express Developer Edition 1/08: You can use the device detection tool to identify whether your x86
hardware is supported in this Solaris release. For more information, go to the
following site:
https://www.sun.com/bigadmin/hcl/hcts/device_detect.jsp
Faulty Device Retirement Feature
Solaris Express Developer Edition 1/08: This release introduces a new device retirement mechanism to isolate a device as
faulty by the fault management framework (FMA). This feature allows faulty devices to
be safely and automatically inactivated to avoid data loss, data corruption, or panics
and system down time. The retirement process is done safely, taking into account
the stability of the system after the device has been retired.
Critical devices are never retired. If you need to manually replace a retired
device, use the fmadm repair command after the device replacement so that system knows
that the device is replaced, in addition to the manual replacement steps.
The fmadm repair process is as follows:
Identify the faulted device with the fmadm faulty -a command.
# fmadm faulty
STATE RESOURCE / UUID
-------- ---------------------------------------------------------------------
faulty <fmri>
Clear the fault by using the fmadm repair command.
# fmadm repair <fmri>
Run the fmadm faulty command again to be sure the fault is cleared.
# fmadm faulty -a
STATE RESOURCE / UUID
For more information, see fmadm(1M).
A general message regarding device retirement is displayed on the console and written
to the /var/adm/messages file so that you aware of a retired device. For
example:
Aug 9 18:14 starbug genunix: [ID 751201 kern.notice] NOTICE: One or more I/O devices have been retired
You can use the prtconf command to identify specific retired devices. For example:
# prtconf
.
.
.
pci, instance #2
scsi, instance #0
disk (driver not attached)
tape (driver not attached)
sd, instance #3
sd, instance #0 (retired)
scsi, instance #1 (retired)
disk (retired)
tape (retired)
pci, instance #3
network, instance #2 (driver not attached)
network, instance #3 (driver not attached)
os-io (driver not attached)
iscsi, instance #0
pseudo, instance #0
.
.
.
Device Naming Enhancements
Solaris Express 10/06: The /dev name space supports multiple file system instances as needed. A
global instance of the /dev file system is created automatically when the system
is booted. Subsequent /dev instances are created and mounted when needed, such as
when devices are added to a non-global zone. When a non-global zone is
shutdown, the available /dev instance is unmounted and unavailable.
In addition, device configuration is improved in the following ways:
Reconfiguration boot is eliminated – In previous Solaris releases, a reconfiguration boot was needed if you connected a device to a system that is powered off.
In this Solaris release, performing a reconfiguration boot is unnecessary when attaching devices to a system that is powered off. Newly attached devices are automatically recognized and the appropriate device links are created when the system is rebooted.
For more information, see dev(7FS).
Zone device support is simplified – As described above, device support for Solaris zones is enhanced by providing specific instances of the /dev directory for non-global zones. In addition, zones are no longer dependent upon the devfsadm daemon for reconfiguration of devices within a zone.
Pseudo device creation is improved – In this Solaris release, the content of the /dev/pts directory is created on demand in the global /dev name space as well as a/dev instance when needed in a non-global zone. In addition, the ptys links are only visible in the global zone or the non-global zone from which they are allocated.
For more information, see grantpt(3C).
For more information about device configuration, see Managing Devices in the Solaris OS.
Support for PCI Express (PCIe)
Solaris Express 4/06: This Solaris release provides support for the PCI Express (PCIe) interconnect, which
is designed to connect peripheral devices to desktop, enterprise, mobile, communication, and embedded applications,
on both SPARC and x86 systems.
In the previous Solaris Express 1/06 release, PCIe devices were only
available on x86 systems.
The PCIe interconnect is an industry-standard, high-performance, serial I/O bus. For details on
PCIe technology, go to the following site:
https://www.pcisig.com
The PCIe software provides the following features in this Solaris release:
Support for extended PCIe configuration space
Support for PCIe baseline error handling and MSI interrupts
Modified IEEE-1275 properties for PCIe devices
PCIe hotplug support (both native and ACPI-based) by enhancing the cfgadm_pci component of the cfgadm command
ATTN Button usage based PCIe peripheral autoconfiguration
The administrative model for hotplugging PCIe peripherals is the same as for PCI
peripherals, which uses the cfgadm command.
Check your hardware platform guide to ensure that PCIe and PCIe hotplug support
is provided on your system. In addition, carefully review the instructions for
physically inserting or removing adapters on your system and the semantics of device
auto-configuration, if applicable.
For information about using the cfgadm command with PCIe peripherals, see PCI or PCIe Hot-Plugging With the cfgadm Command (Task Map).
USB and 1394 (FireWire) Support Enhancements
Solaris Express 6/06: In this Solaris release, both non-removable USB storage devices and 1394 mass
storage devices are identified as hotpluggable devices at the driver level. This new
behavior means that these devices can be connected or disconnected without rebooting the
system and configured or unconfigured automatically without intervention. These changes are made at the
kernel level and do not impact the use of these devices. For example,
the responsibility of mounting and unmounting these devices is controlled by the removable
media management services.
In addition, non-removable USB devices and 1394 mass storage devices can be accessed
and labeled by using the format utility. However, you can override the
new hotpluggable behavior of these devices by setting the remvalue to true in
the /kernel/drv/scsa2usb.conf file. Setting this parameter to true means that the device
is treated as a removable media device at the driver level, if that
behavior is preferred.
For more information on using these devices, see scsa1394(7D) and Using USB Mass Storage Devices (Task Map).
Improved Device In Use Error Checking
Solaris Express 1/06: This feature was undocumented previously.
The following utilities have been enhanced to detect when a specified device is
in use:
dumpadm
format
mkfs and newfs
swap
These enhancements mean that the above utilities might detect some of the following
usage scenarios:
Device is part of a ZFS storage pool
Device is a dump or swap device
Mounted file system or an entry for the device exists in the /etc/vfstab file
Device is part of live upgrade configuration
Device is part of a Solaris Volume Manager configuration or Veritas Volume Manager configuration
For example, if you attempt to use the format utility to access an
active device, you will see a message similar to the following:
# format
.
.
.
Specify disk (enter its number): 1
selecting c0t1d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c0t1d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c0t1d0s1 is currently used by swap. Please see swap(1M).
However, these utilities do not detect all scenarios in the same way. For
example, you can use the newfs command to create a new file system
on a device in a live upgrade configuration. You cannot use the newfs
command to create a new file system on a device that is part
of a live upgrade configuration if it also has a mounted file system.