This section provides step-by-step instructions for hot-plugging PCI or PCIe adapter cards on SPARC and x86 systems.
In addition to the cfgadm command, the prtconf command is helpful during hot-plug operations. The prtconf command displays additional configuration information that pertains to the hardware.
After adding hardware, you can use the prtconf command to verify that the hardware is configured correctly. For example, after a configure operation, use the prtconf -D command to verify that the driver is attached to the newly installed hardware device. If the device driver has not been added to the system prior to hardware configuration, it may be manually added by using the add_drv command.
For more information, see prtconf(1M) and add_drv(1M).
In the examples, only PCI attachment points are listed, for brevity. The attachment points that are displayed on your system depend on your system configuration.
You might observe the LED indicators on the system to get a visual indication about the status of the slot's hot-plug operation. The LED behavior, in case of PCI Express, matches that defined in the PCI Express specification or the behavior might otherwise be platform dependent.
Please refer to your platform guide for specific details. In case of PCI Express, when the Attention Button is pressed, the power indicator blinks, which indicates the beginning of a state transition. The blinking ends when the state transition has ended.
This procedure has been updated to include PCIe configuration information.
The cfgadm command displays the status of PCI hot-pluggable devices and slots on a system. For more information, see cfgadm(1M).
Become superuser.
Display PCI configuration information.
Display PCI slot configuration information.
For example:
# cfgadm Ap_Id Type Receptacle Occupant Condition pci1:hpc0_slot0 unknown empty unconfigured unknown pci1:hpc0_slot1 unknown empty unconfigured unknown pci1:hpc0_slot2 unknown empty unconfigured unknown pci1:hpc0_slot3 ethernet/hp connected configured ok pci1:hpc0_slot4 unknown empty unconfigured unknown |
Display specific PCI device information.
For example:
# cfgadm -s "cols=ap_id:type:info" pci Ap_Id Type Information pci1:hpc0_slot0 unknown Slot 7 pci1:hpc0_slot1 unknown Slot 8 pci1:hpc0_slot2 unknown Slot 9 pci1:hpc0_slot3 ethernet/hp Slot 10 pci1:hpc0_slot4 unknown Slot 11 |
The logical Ap_Id, pci1:hpc0_slot0, is the logical Ap_Id for hot-pluggable slot, Slot 7. The component hpc0 indicates the hot-pluggable adapter card for this slot, and pci1 indicates the PCI bus instance. The Type field indicates the type of PCI adapter card that is present in the slot.
Display PCIe slot configuration information.
For example:
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 unknown empty unconfigured unknown pcie4 etherne/hp connected configured ok pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
Display specific PCIe device information.
For example:
# cfgadm -s "cols=ap_id:busy:o_state" pci Ap_Id Busy Occupant pcie1 n unconfigured pcie2 n unconfigured pcie3 n unconfigured pcie4 n configured pcie5 n configured pcie6 n configured |
The logical Ap_Id in most cases should match the slot label that is silk-screened on the system chassis. Refer to your platform guide for the cfgadm output of the hot-pluggable slots. The Busy field can be displayed to ensure that the Ap_Id is not transitioning to another state before a hot-plug operation is attempted.
The following procedure has been updated for removing a PCIe adapter card. However, the procedure to remove an adapter card is the same whether you are using PCI or PCIe.
Become superuser.
Determine which slot the PCI adapter card is in.
For example:
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 unknown empty unconfigured unknown pcie4 etherne/hp connected configured ok pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
Stop the application that has the device open.
For example, if the device is an Ethernet card, use the ifconfig command to bring down the interface and unplumb the interface.
Unconfigure the device manually by using the cfgadm(1M) command as shown below. Or, if you have a PCIe adapter card, use the auto-configuration method, such as pressing the slot's Attention Button as defined by your platform guide.
# cfgadm -c unconfigure pcie4 |
Confirm that the device has been unconfigured.
For example:
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 unknown empty unconfigured unknown pcie4 unknown connected unconfigured unknown pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
The Type and Condition also become unknown when the device is unconfigured.
Disconnect the power to the slot manually. If the auto-configuration method is used, this step is not necessary. Refer to your platform guide for more information.
# cfgadm -c disconnect pcie4 |
Confirm that the device has been disconnected.
For example:
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 unknown empty unconfigured unknown pcie4 unknown disconnected unconfigured unknown pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
Follow appropriate instructions in your platform guide to remove the PCI adapter card. After the card is removed, the Receptacle state is empty.
For example:
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 unknown empty unconfigured unknown pcie4 unknown empty unconfigured unknown pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
The auto-configuration method can be enabled or disabled at boot, depending on the platform implementation. Set the auto-configuration method as appropriate for your environment.
The following procedure has been updated for adding a PCIe adapter card. However, the procedure to add an adapter card is the same whether you are using PCI or PCIe.
Become superuser.
Identify the hot-pluggable slot and open latches.
For example, pcie3.
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 unknown empty unconfigured unknown pcie4 unknown empty unconfigured unknown pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
Follow the appropriate instructions in your platform guide to insert a PCI adapter card into the slot.
Determine which slot the PCI adapter card is in after it is inserted.
For example:
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 unknown disconnected unconfigured unknown pcie4 unknown empty unconfigured unknown pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
Connect the power to the slot manually using the cfgadm command. Or, if you have a PCIe adapter card, use the auto-configuration method, such as pressing the slot's Attention Button as defined by your platform guide.
For example:
# cfgadm -c connect pcie3 |
Confirm that the attachment point is connected.
For example:
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 unknown connected unconfigured unknown pcie4 unknown empty unconfigured unknown pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
Configure the PCI adapter card manually by using the cfgadm command as shown below. If using the auto-configuration method, this step should not be necessary. Refer to your platform guide for more information.
For example:
# cfgadm -c configure pcie3 |
Verify the configuration of the PCI adapter card in the slot.
For example:
# cfgadm pci Ap_Id Type Receptacle Occupant Condition pcie1 unknown empty unconfigured unknown pcie2 unknown empty unconfigured unknown pcie3 etherne/hp connected configured unknown pcie5 pci-pci/hp connected configured ok pcie6 unknown disconnected unconfigured unknown |
Configure any supporting software if this device is a new device.
For example, if this device is an Ethernet card, use the ifconfig command to set up the interface.
The auto-configuration method can be enabled or disabled at boot, depending on the platform implementation. Set the auto-configuration method as appropriate for your environment.
cfgadm: Configuration operation invalid: invalid transition |
An invalid transition was attempted.
Check whether the cfgadm -c command was issued appropriately. Use the cfgadm command to check the current receptacle and occupant state and to make sure that the Ap_Id is correct.
cfgadm: Attachment point not found |
The specified attachment point was not found.
Check whether the attachment point is correct. Use the cfgadm command to display a list of available attachment points. Also check the physical path to see if the attachment point is still there.