Current File : //usr/man/man1m/hotplug.1m
'\" te
.\" Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
.TH hotplug 1M "25 Feb 2014" "SunOS 5.11" "System Administration Commands"
.SH NAME
hotplug \- configure hotplug connectors and ports
.SH SYNOPSIS
.LP
.nf
\fBhotplug\fR list [\fB-c\fR] [\fB-d\fR] [\fB-l\fR] [\fB-v\fR] [\fIpath\fR [\fIconnection\fR]]
.fi

.LP
.nf
\fBhotplug\fR online \fIpath\fR \fIport\fR
.fi

.LP
.nf
\fBhotplug\fR offline [\fB-f\fR] [\fB-q\fR] \fIpath\fR \fIport\fR
.fi

.LP
.nf
\fBhotplug\fR enable [\fB-f\fR] [\fIpath\fR] \fIconnector\fR
.fi

.LP
.nf
\fBhotplug\fR disable [\fB-f\fR] [\fB-q\fR] [\fIpath\fR] \fIconnector\fR
.fi

.LP
.nf
\fBhotplug\fR poweron [\fIpath\fR] \fIconnector\fR
.fi

.LP
.nf
\fBhotplug\fR poweroff [\fB-f\fR] [\fB-q\fR] [\fIpath\fR] \fIconnector\fR
.fi

.LP
.nf
\fBhotplug\fR set \fB-o\fR \fIoptions\fR [\fIpath\fR] \fIconnector\fR
.fi

.LP
.nf
\fBhotplug\fR get \fB-o\fR\fIoptions\fR [\fIpath\fR] \fIconnector\fR
.fi

.LP
.nf
\fBhotplug\fR install \fIpath\fR \fIport\fR
.fi

.LP
.nf
\fBhotplug\fR uninstall [\fB-f\fR] [\fB-q\fR] \fIpath\fR \fIport\fR
.fi

.LP
.nf
\fBhotplug\fR \fB-?\fR
.fi

.SH DESCRIPTION
.sp
.LP
The \fBhotplug\fR command is used to manage hotplug connections. A connection can be a connector or port. A hotplug connector is a representation of a physical point in the system where components can be inserted or removed. A hotplug port is a representation of a logical point in the system device tree where the connection of a device to the system is managed.
.sp
.LP
The \fBhotplug\fR command only supports hotplug operations on hotplug connectors for PCI Express buses and PCI buses that implement the Standard PCI Hotplug feature. Hotplug ports on PCI Expresss and PCI buses in systems with PCI Express fabrics are also supported. Additional buses may be supported in the future.
.sp
.LP
The \fBhotplug\fR command operates on the following kinds of objects:
.sp
.ne 2
.mk
.na
\fB\fBpath\fR\fR
.ad
.sp .6
.RS 4n
Hotplug connectors and ports are integrated into the Solaris device tree. The names of connectors and ports are unique relative only to their bus controller. A device path is required to uniquely reference a connector and the parent path of the device is required to uniquely reference a port.
.sp
The \fBhotplug\fR command can accept the case that a user specifies only a physical hotplug connector for the state-change operation subcommands. If no such connector exists, the command will fail. If multiple connectors exist with the same name in the system, the state change operations interact with the user to determine which connector needs to be operated upon. See the "Examples" section, below.
.RE

.sp
.ne 2
.mk
.na
\fB\fBconnector\fR\fR
.ad
.sp .6
.RS 4n
If a hardware component supports being physically inserted or removed, then a hotplug connector represents the location where this action may occur. When a connector exists, it has a hierarchy of ports and device nodes that depend upon it.
.RE

.sp
.ne 2
.mk
.na
\fB\fBport\fR\fR
.ad
.sp .6
.RS 4n
All device nodes can be virtually hotplugged, even if their hardware does not support physical hotplugging. A hotplug port exists between a device node and its parent node in the system device tree. It represents the location where the device node and its dependents can be managed.
.RE

.sp
.ne 2
.mk
.na
\fB\fBconnection\fR\fR
.ad
.sp .6
.RS 4n
A hotplug connection is a generic term to refer to either a hotplug connector or a hotplug port.
.RE

.sp
.LP
Hotplug connectors and ports are managed according to a state model. The \fBhotplug\fR command can list information about the hotplug connections in a system, or it can initiate change of state operations on specific hotplug connections.
.sp
.LP
Hotplug connectors can be in the following states:
.sp
.ne 2
.mk
.na
\fB\fBempty\fR\fR
.ad
.sp .6
.RS 4n
A component is not physically inserted in the connector.
.RE

.sp
.ne 2
.mk
.na
\fB\fBpresent\fR\fR
.ad
.sp .6
.RS 4n
A component is physically inserted in the connector, but the component is powered off. The component is not in use.
.RE

.sp
.ne 2
.mk
.na
\fB\fBpowered\fR\fR
.ad
.sp .6
.RS 4n
A component is physically inserted in the connector, and the component is powered on. The component is disabled and is not in use.
.RE

.sp
.ne 2
.mk
.na
\fB\fBenabled\fR\fR
.ad
.sp .6
.RS 4n
A component is physically inserted in the connector. The component is powered on and has been probed and tested. The component is enabled and devices that represent its functions can be used.
.RE

.sp
.LP
Hotplug ports can be in the following states:
.sp
.ne 2
.mk
.na
\fB\fBport-empty\fR\fR
.ad
.sp .6
.RS 4n
No device exists for the hotplug port.
.RE

.sp
.ne 2
.mk
.na
\fB\fBport-present\fR\fR
.ad
.sp .6
.RS 4n
A device exists for the hotplug port, but the device has not been probed and it has no attached device driver. The device is not in use.
.RE

.sp
.ne 2
.mk
.na
\fB\fBoffline\fR\fR
.ad
.sp .6
.RS 4n
A device exists for the hotplug port, and the device has been probed. A device driver is not attached, and the device is not in use.
.RE

.sp
.ne 2
.mk
.na
\fB\fBonline\fR\fR
.ad
.sp .6
.RS 4n
A device exists for the hotplug port, and its device driver is fully attached. The device is in use.
.RE

.sp
.ne 2
.mk
.na
\fB\fBmaintenance\fR\fR
.ad
.sp .6
.RS 4n
A device exists for the hotplug port, and its device driver is fully attached. The device is in use, but not fully operational. A maintenance or fault management operation is affecting the device. The reason that caused the device to enter maintenance state may vary. It is described by a sub-state under maintenance state. Currently there is only one sub-state defined:
.sp
.ne 2
.mk
.na
\fB\fBmaintenance-suspended\fR\fR
.ad
.sp .6
.RS 4n
The device is live suspended.
.RE

.RE

.sp
.LP
The \fBhotplug\fR command can also access bus private properties for each hotplug connector. The current values of bus private properties can be displayed. New values for each bus private property can be set directly.
.SH SUB-COMMANDS
.sp
.LP
The following subcommands are supported:
.sp
.ne 2
.mk
.na
\fB\fBlist\fR\fR
.ad
.sp .6
.RS 4n
Show information for hotplug connectors, ports, and their associated devices. Hotplug connectors and hotplug ports are integrated into the Solaris device tree hierarchy. The \fBlist\fR subcommand therefore displays the hierarchy of device nodes with additional information included to show the locations of hotplug connectors and hotplug ports. The names of hotplug connectors are enclosed in square brackets, and the names of hotplug ports are enclosed in angled brackets. The current state of each hotplug connection is displayed next to its name.
.RE

.sp
.ne 2
.mk
.na
\fB\fBonline\fR\fR
.ad
.sp .6
.RS 4n
Change the state of a hotplug port to the \fBonline\fR state.
.RE

.sp
.ne 2
.mk
.na
\fB\fBoffline\fR\fR
.ad
.sp .6
.RS 4n
Change the state of a hotplug port to the \fBoffline\fR state.
.RE

.sp
.ne 2
.mk
.na
\fB\fBenable\fR\fR
.ad
.sp .6
.RS 4n
Change the state of a hotplug connector to the \fBenabled\fR state. All of the hotplug connector's dependent ports will be automatically probed and initialized into the \fBonline\fR state.
.sp
If hardware errors occur while probing a connected device, details of the errors are reported to the Solaris Fault Manager for diagnosis. Depending upon the errors, it may be possible to ignore them with a forced operation, using the \fB-f\fR option.
.RE

.sp
.ne 2
.mk
.na
\fB\fBdisable\fR\fR
.ad
.sp .6
.RS 4n
Change the state of a hotplug connector from the \fBenabled\fR state to the \fBpowered\fR state. All dependent ports that are in the \fBonline\fR state will first be transitioned to the \fBport-present\fR state.
.RE

.sp
.ne 2
.mk
.na
\fB\fBpoweron\fR\fR
.ad
.sp .6
.RS 4n
Change the state of a hotplug connector from the \fBpresent\fR state to the \fBpowered\fR state.
.RE

.sp
.ne 2
.mk
.na
\fB\fBpoweroff\fR\fR
.ad
.sp .6
.RS 4n
Change the state of a hotplug connector from the \fBpowered\fR or \fBenabled\fR state to the \fBpresent\fR state. All dependent ports that are in the \fBonline\fR state will first be transitioned to the \fBport-present\fR state, and will then be removed.
.RE

.sp
.ne 2
.mk
.na
\fB\fBset\fR\fR
.ad
.sp .6
.RS 4n
Set bus-specific properties for a hotplug connector. The specified option string is a bus specific string of name and value pairs, as could be parsed by \fBgetsubopt\fR(3C). The names and values will be passed directly to the bus controller that manages the specified hotplug connector to perform a bus-specific function.
.RE

.sp
.ne 2
.mk
.na
\fB\fBget\fR\fR
.ad
.sp .6
.RS 4n
Display the current values of bus specific properties for a hotplug connector. The specified option string is a bus specific string of named properties, as could be parsed by \fBgetsubopt\fR(3C). The names will be passed directly to the bus controller to specify which properties should be returned. The current values of each named property will then be displayed.
.RE

.sp
.LP
The \fBinstall\fR and \fBuninstall\fR subcommands install and uninstall services the drivers of the ports can support.
.sp
.ne 2
.mk
.na
\fB\fBinstall\fR\fR
.ad
.sp .6
.RS 4n
The \fBinstall\fR subcommand install services the drivers of the hotplug port's device can support.
.sp
For example, this subcommand can be applied to the port of physical function of PCIe IO virtualization devices. It upgrades the port to \fBONLINE\fR state (if it is not yet in that state) and then installs the virtual functions that the physical function (driver) supports. New hotplug ports will be created to represent each virtual function as a dependent of the specified physical function. The newly created ports will be initiated to \fBOFFLINE\fR state.
.RE

.sp
.ne 2
.mk
.na
\fB\fBuninstall\fR\fR
.ad
.sp .6
.RS 4n
The \fBuninstall\fR subcommand uninstall services the drivers of the hotplug port's device can support.
.sp
This subcommand can be applied to the ports of physical functions of PCIe IO virtualization devices. If the specified hotplug port has any dependent ports of virtual functions, the dependent ports and corresponding virtual function nodes will be removed.
.RE

.SH OPTIONS
.sp
.LP
The following options are supported:
.sp
.ne 2
.mk
.na
\fB\fB-l\fR, \fB--list-path\fR\fR
.ad
.sp .6
.RS 4n
Show full paths to connections and device nodes. By default, the \fBlist\fR subcommand shows hotplug connectors, ports, and devices in the format of a tree. This option enables the display of full paths to each connection and device node.
.RE

.sp
.ne 2
.mk
.na
\fB\fB-c\fR, \fB--connectors\fR\fR
.ad
.sp .6
.RS 4n
Display a table that summarizes the current status of all physical hotplug connectors. Device topologies and hierachical information are not included. In general, the names of physical hotplug connectors should be unique. If multiple connectors of the same name exist in the system, \fBhotplug\fR displays a message specifying the same-named hotplug connectors and prompts for information to distinguish among those connectors. See "Examples," below.
.RE

.sp
.ne 2
.mk
.na
\fB\fB-d\fR, \fB--drivers\fR\fR
.ad
.sp .6
.RS 4n
Show the binding driver names and the instance number of the device nodes. By default, the \fBlist\fR subcommand shows only hotplug connectors, ports, and devices. This option enables the display of the binding driver names and the instance numbers of the device nodes.
.RE

.sp
.ne 2
.mk
.na
\fB\fB-v\fR, \fB--verbose\fR\fR
.ad
.sp .6
.RS 4n
Show verbose usage details. By default, the \fBlist\fR subcommand shows only hotplug connectors, ports, and devices. This option enables the display of more detailed information about how the devices are currently consumed. Examples include mounted filesystems or plumbed network interfaces associated with individual devices.
.sp
Note that the \fB-v\fR option does not display information for disks under ZFS control.
.RE

.sp
.ne 2
.mk
.na
\fB\fB-f\fR, \fB--force\fR\fR
.ad
.sp .6
.RS 4n
Force the operation. Some change state operations that impact resources currently in use will fail with a warning. A forced operation will attempt to ignore these warnings and proceed.
.sp
This option should be used with extreme caution.
.RE

.sp
.ne 2
.mk
.na
\fB\fB-n\fR, \fB--non-interactive\fR\fR
.ad
.sp .6
.RS 4n
Disable the interactive feature. If the flag is specified and an ambiguous input is encountered, the command will exit immediately, returning a unique exit status to indicate the problem.
.RE

.sp
.ne 2
.mk
.na
\fB\fB-q\fR, \fB--query\fR\fR
.ad
.sp .6
.RS 4n
Query the operation. Instead of actually performing a change state operation, perform a test to predict if the operation would succeed or fail. If it would fail, show the error messages that would be expected if the operation had really been attempted.
.sp
It is not possible to predict every failure. An operation that succeeds during a query could still fail for another reason when actually attempted.
.sp
This option will not actually change the state of the system.
.RE

.sp
.ne 2
.mk
.na
\fB\fB-o\fR \fIoptions\fR, \fB--\fR=\fIoptions\fR\fR
.ad
.sp .6
.RS 4n
Specify bus-specific properties for a \fBset\fR or \fBget\fR command. The options string conforms to the \fBgetsubopt\fR(3C) syntax convention.
.sp
For the \fBget\fR subcommand, there are two special options that can be used. The special options value of \fBhelp\fR will display all supported properties and their possible values. The special options value of \fBall\fR will display the current value of all supported properties.
.sp
For the \fBset\fR subcommand, there is one special option that can be used. The special options value of \fBhelp\fR will display all supported properties which can be set and their possible values.
.sp
See "Notes" section for the properties supported by bus controllers.
.RE

.sp
.ne 2
.mk
.na
\fB\fB-?\fR, \fB--help\fR\fR
.ad
.sp .6
.RS 4n
Display a brief help message on proper use of the command.
.RE

.SH EXAMPLES
.LP
\fBExample 1 \fRShowing All Hotplug Connections
.sp
.LP
The following command shows all hotplug connections:

.sp
.in +2
.nf
# \fBhotplug list -v\fR
pci@0,0
pci108e,534a@2,1 <pci.2,1> ONLINE
        [pci30] EMPTY
pci10de,5d@e <pci.e,0> ONLINE
        display@b <pci.b,0> ONLINE
        [NEM0] ENABLED
        pci108e,534a@a,0 <pci.a,0> ONLINE
                { Network interface nge0 }
                { nge0: hosts IP addresses: 10.0.0.1 }
        pci108e,534a@a,1 <pci.a,1> (MAINTENANCE)
                            [NEM1] (EMPTY)
pci108e,534a@c <pci.c,0> OFFLINE
pci108e,534a@d <pci.d,0> ONLINE
                          pci1028,40d@0 <pci.0,0> (MAINTENANCE-SUSPENDED,
"activities=dma+pio+intr,reason=resource-rebalance")
                                 { Network interface bge0 }
                                 { bge0: hosts IP addresses: 10.0.1.1 }
.fi
.in -2
.sp

.sp
.LP
To show the full paths of hotplug connections and devices, enter the following command:

.sp
.in +2
.nf
# \fBhotplug list -l\fR
/pci@0,0
/pci@0,0  <pci.0,0>  OFFLINE
/pci@0,0/pci108e,4341
/pci@0,0  <pci.1,0>  OFFLINE
/pci@0,0/pci8086,3408
/pci@0,0  <pci.3,0>  ONLINE
/pci@0,0/pci8086,340a@3
/pci@0,0/pci8086,340a@3 [Slot2]  EMPTY
/pci@0,0  <pci.5,0>  ONLINE
/pci@0,0/pci8086,340c@5
/pci@0,0/pci8086,340c@5 [Slot1]  ENABLED
/pci@0,0/pci8086,340c@5  <pci.0,0>  ONLINE
/pci@0,0/pci8086,340c@5/pci111d,8018@0
/pci@0,0  <pci.7,0>  ONLINE
/pci@0,0/pci8086,340e@7
/pci@0,0/pci8086,340e@7 [pcie4]  ENABLED
/pci@0,0  <pci.9,0>  ONLINE
/pci@0,0/pci8086,3410@9
/pci@0,0/pci8086,3410@9 [pcie3]  ENABLED
/pci@0,0  <pci.13,0>  OFFLINE
/pci@0,0/pci8086,342d
/pci@0,0  <pci.14,0>  OFFLINE
/pci@0,0/pci8086,342e
.fi
.in -2
.sp

.sp
.LP
To show the binding driver names and instance numbers of the devices, enter the following command:

.sp
.in +2
.nf
# \fBhotplug list -d\fR
pci@0,0  npe#0
    pci108e,4341  <pci.0,0>  OFFLINE  #0
    pci8086,3408  <pci.1,0>  OFFLINE  pcieb#0
    pci8086,340a@3  <pci.3,0>  ONLINE  pcieb#1
        [Slot2]  EMPTY
    pci8086,340c@5  <pci.5,0>  ONLINE  pcieb#2
        [Slot1]  ENABLED
        pci111d,8018@0  <pci.0,0>  ONLINE  pcieb#0
            pci111d,8018@2  <pci.2,0>  ONLINE  pcieb#6
                pci108e,f1bc@0  <pci.0,0>  ONLINE  e1000g#0
                pci108e,f1bc@0,1  <pci.0,1>  OFFLINE  e1000g#1
    pci8086,340e@7  <pci.7,0>  ONLINE  pcieb#3
        [pcie4]  ENABLED
    pci8086,3410@9  <pci.9,0>  ONLINE  pcieb#4
        [pcie3]  ENABLED
    pci8086,342d  <pci.13,0>  OFFLINE  #0
    pci8086,342e  <pci.14,0>  OFFLINE  #0
.fi
.in -2
.sp

.sp
.LP
To show the status of all physical hotplug connectors. enter the following command:

.sp
.in +2
.nf
# \fBhotplug list -c\fR
Connection             State         Description
---------------------------------------------------------
NEM0                   ENABLED       PCIe-Native
PCI-EM0                ENABLED       PCIe-Native
NEM1                   ENABLED       PCIe-Native
PCI-EM1                ENABLED       PCIe-Native
.fi
.in -2
.sp

.sp
.LP
The table in the condition that multiple connectors with the same exist in the system:

.sp
.in +2
.nf
# \fBhotplug list -c\fR
Connection   Note      State         Description
----------------------------------------------------------
NEM0                   ENABLED       PCIe-Native
PCI-EM0      *1        ENABLED       PCIe-Native
PCI-EM0      *2        ENABLED       PCIe-Native
NEM1                   ENABLED       PCIe-Native

Note:
Multiple connectors with the same name exist:

  [1] PCI-EM0   /pci@0,0/pci108e,4341@1a,2
  [2] PCI-EM0   /pci@1,0/pci108e,4341@1a,2
.fi
.in -2
.sp

.LP
\fBExample 2 \fRReporting Failure During State Change Operation
.sp
.LP
If a change of state operation fails, an explanation is displayed to describe the failure. An attempt to offline a hotplug port with dependent devices that are currently in use by the system might fail as follows:

.sp
.in +2
.nf
# \fBhotplug offline /pci@0,0/pci10de,5d@e pci.a,0\fR
ERROR: devices or resources are busy.
pci108e,534a@a,0:
    { Network interface nge0 }
    { nge0: hosts IP addresses: 10.0.0.1 }
    { Plumbed IP Address }
.fi
.in -2
.sp

.LP
\fBExample 3 \fREnabling User Interaction During State Change Operation
.sp
.LP
If there are multiple connectors with the same name in a system, the state change operations interact with the user to specify which connector needs to be operated upon.

.sp
.in +2
.nf
# \fBhotplug enable PCI-EM0\fR
Multiple connectors with the same name exist:

   [1] PCI-EM0  /pci@0,0/pci108e,4341@1a,2
   [2] PCI-EM0  /pci@1,0/pci108e,4341@1a,2

Please select a connector, then press ENTER:
.fi
.in -2
.sp

.LP
\fBExample 4 \fRDisplaying Bus-Specific Properties and Values
.sp
.LP
The following command displays all supported bus-specific properties and their possible values:

.sp
.in +2
.nf
# \fBhotplug get -o help /pci@0,0 pci.2,1\fR
power_led=<on|off|blink>
fault_led=<on|off|blink>
active_led=<on|off|blink>
attn_led=<on|off|blink>
card_type=<type description>
board_type=<type description>
.fi
.in -2
.sp

.LP
\fBExample 5 \fRDisplaying Bus-Specific Options
.sp
.LP
The following command displays the card type and the current state of the Power LED of a PCI hotplug connector:

.sp
.in +2
.nf
# \fBhotplug get -o card_type,power_led /pci@0,0 pci.2,1\fR
card_type=fibre
power_led=on
.fi
.in -2
.sp

.LP
\fBExample 6 \fRSetting a Bus-Specific Property
.sp
.LP
The following command turns on the attention LED of a PCI hotplug connector:

.sp
.in +2
.nf
# \fBhotplug set -o attn_led=on /pci@0,0 pci.2,1\fR
.fi
.in -2
.sp

.LP
\fBExample 7 \fRInstalling Port Dependents
.sp
.LP
The following commands install dependent ports of an IOV physical function and then display the resulting IOV virtual functions that were probed.

.sp
.in +2
.nf
# \fBhotplug install /pci@400/pci@1/pci@0/pci@4 pci.0,1\fR

# \fBhotplug list -v /pci@400/pci@1/pci@0/pci@4 pci.0,1\fR
<pci.0,1>  (ONLINE)
     { IOV physical function }
     { IOV virtual function 'pci.0,81' }
     { IOV virtual function 'pci.0,83' }
     { IOV virtual function 'pci.0,85' }
     { IOV virtual function 'pci.0,87' }
<pci.0,81>  (OFFLINE)
ethernet@0,81
<pci.0,83>  (OFFLINE)
ethernet@0,83
<pci.0,85>  (OFFLINE)
ethernet@0,85
<pci.0,87>  (OFFLINE)
ethernet@0,87
.fi
.in -2
.sp

.LP
\fBExample 8 \fRUninstalling Port Dependents
.sp
.LP
The following command attempts to uninstall dependent ports of an IOV physical function, but fails when a dependent IOV virtual function is busy.

.sp
.in +2
.nf
# \fBhotplug uninstall /pci@400/pci@1/pci@0/pci@4 pci.0,0\fR
ERROR: devices or resources are busy.
ethernet@0,81:
    { Network interface igvbf1 }
    { igvbf1: hosts IP addresses: 10.0.0.1 }
    { Plumbed IP Address }
.fi
.in -2
.sp

.SH EXIT STATUS
.sp
.ne 2
.mk
.na
\fB\fB0\fR\fR
.ad
.sp .6
.RS 4n
Successful completion.
.RE

.sp
.ne 2
.mk
.na
\fB\fB1\fR\fR
.ad
.sp .6
.RS 4n
Invalid command line options were specified.
.RE

.sp
.ne 2
.mk
.na
\fB\fB2\fR\fR
.ad
.sp .6
.RS 4n
The specified path or connection does not exist.
.RE

.sp
.ne 2
.mk
.na
\fB\fB3\fR\fR
.ad
.sp .6
.RS 4n
A fatal error occurred. One or more error messages are displayed on standard error.
.RE

.sp
.ne 2
.mk
.na
\fB\fB4\fR\fR
.ad
.sp .6
.RS 4n
The hotplug service is not available.
.RE

.sp
.ne 2
.mk
.na
\fB\fB5\fR\fR
.ad
.sp .6
.RS 4n
The connector name specified refers to multiple ports.
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp

.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i) 
lw(2.75i) |lw(2.75i) 
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
Availabilitysystem/core-os
_
Interface StabilityCommitted
.TE

.SH SEE ALSO
.sp
.LP
\fBcfgadm\fR(1M), \fBhotplugd\fR(1M), \fBgetsubopt\fR(3C), \fBattributes\fR(5)
.SH DIAGNOSTICS
.sp
.LP
The following error message is displayed on systems that do not have any supported IO buses:
.sp
.in +2
.nf
ERROR: there are no connections to display.
(See hotplug(1m) for more information.)
.fi
.in -2
.sp

.sp
.LP
If this error message is seen, note that the system might still have other IO devices that support hotplugging, through the \fBcfgadm\fR(1M) command instead of \fBhotplug\fR.
.sp
.LP
The following error message is displayed if hardware errors occurred while processing an enable operation:
.sp
.in +2
.nf
ERROR: hardware or driver specific failure.
.fi
.in -2
.sp

.sp
.LP
If this error message is seen, note that additional details of the hardware errors may have been reported to the Solaris Fault Manager for diagnosis.
.SH NOTES
.sp
.LP
The \fBhotplug\fR service (FMRI \fBsvc:/system/hotplug\fR) must be enabled as a prerequisite for using the \fBhotplug\fR command. The service is enabled by default. See \fBhotplugd\fR(1M). 
.sp
.LP
The authorization \fBsolaris.hotplug.modify\fR must be granted in order to perform change-of-state operations, or to install and uninstall dependent ports. Alternatively, the rights profile "Hotplug Management" can be granted, which includes that authorization.
.sp
.LP
Verbose usage information is gathered from the RCM framework. Its format and content is subject to change.
.sp
.LP
The following bus specific properties are supported in PCI bus controllers:
.sp
.ne 2
.mk
.na
\fB\fBpower_led\fR | \fBfault_led\fR | \fBattn_led\fR | \fBactive_led\fR\fR
.ad
.sp .6
.RS 4n
States of a specific LED of a slot. The value could be \fBon\fR, \fBoff\fR, or \fBblink\fR.
.sp
They can all be used with \fBget\fR subcommand, but only property \fBattn_led\fR can be used with \fBset\fR subcommand.
.RE

.sp
.ne 2
.mk
.na
\fB\fBcard_type\fR | \fBboard_type\fR\fR
.ad
.sp .6
.RS 4n
Type of a card or board of a slot.
.sp
They can all be used with \fBget\fR subcommand, but neither can be used with \fBset\fR subcommand.
.RE