手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

cfgadm_pci(1M)

名称

cfgadm_pci - PCI、CompactPCI 以及 PCI Express 热插拔硬件专用 cfgadm 命令

用法概要

/usr/sbin/cfgadm [-f ] [-y  | -n ] [-v] 
     [-o hardware_options] -c function ap_id [ap_id]
/usr/sbin/cfgadm [-f ] [-y  | -n ] [-v] 
     [-o hardware_options] -x hardware_function ap_id 
     [ap_id]
/usr/sbin/cfgadm [-v] [-s listing_options] 
     [-o hardware_options] [-l [ap_id | ap_type]]
/usr/sbin/cfgadm [-v] [-o harware_options] -t ap_id [ap_id]
/usr/sbin/cfgadm [-v] [-o hardware_function] -h 
     [ap_id|  ap_type]

描述

PCI 硬件专用库 /usr/lib/cfgadm/pci.so.1 支持通过 cfgadm 命令(请参见 cfgadm(1M))在支持热插拔的系统中相应可热插拔的插槽中热插拔 PCI 和 CompactPCI 适配卡的功能。该库不支持 PCI Express 热插拔适配卡或标准的 PCI 热插拔适配卡,这些适配卡由另外一个库支持(请参见 cfgadm_shp(1M))。除了该文档中标注的部分,PCI 与 CompactPCI 之间的热插拔管理模式保持不变。

对于 PCI 热插拔,每个特定的 PCI 总线上的热插拔插槽由该 PCI 总线上的连接点表示。

一个连接点由一个插口和一个插卡组成。PCI 热插拔中的 receptacle(插口)通常指物理的热插拔插槽,occupant(插卡)指插入到插槽中的 PCI 适配卡。

连接点通过 ap_id 命名。有两种类型的 ap_id:逻辑 ap_id 和物理 ap_id。物理 ap_id 基于物理路径名,即 /devices/pci@1/hpc0_slot3,而逻辑 ap_id 是更短、更加用户友好的名称。对于 PCI 热插拔插槽,逻辑 ap_id 的名称通常为对应的热插拔控制器驱动程序名称加上逻辑槽号,即 pci0:hpc0slot1,也就是说,PCI nexus 驱动程序、名为 hpc 的热插拔控制器驱动程序以及槽号 1。PCI 热插拔的 ap_typepci

请注意,ap_typeType(类型)字段中的信息不同。

有关热插拔过程的详细说明,请参见在 Oracle Solaris 11.2 中管理设备

选项

支持以下选项:

–c function

以下 function 支持 PCI 热插拔插槽:

configure(配置)

将 PCI 设备配置在 Solaris 使用的插槽中。

connect

将插槽与 PCI 总线相连。

disconnect

断开插槽与 PCI 总线之间的连接。

insert

不支持。

remove

不支持。

unconfigure(取消配置)

将 PCI 设备的资源从系统中逻辑移除。

–f

不支持。

–h ap_id | ap_type

列出 PCI 热插拔专用帮助消息。

–l list

列出 PCI 热插拔插槽的值。

–o hardware_options

当前没有定义任何硬件专用选项。

–s listing_options

与通用的 cfgadm(1M) 相同。

–t ap_id

该命令只适用于支持插槽测试功能的平台。

–v

在详细模式下执行。

如果 –v 选项与 –l 选项一起使用,cfgadm 命令输出有关连接点的信息。有关位于 PCI Express 分层结构中的 PCI 热插拔连接点的详细信息,请参见 cfgadm_shp(1M)。如果 PCI 热插拔连接点不在 PCI Express 分层结构中,Information(信息)字段为该插槽的系统标签(如果有)。该字符串可从该插槽的总线节点的 slot-name 属性中获取。Type(类型)字段中的信息可使用 v 选项列出,也可不使用该选项列出。插卡的 Type(类型)字段描述有关插槽的信息。有以下两个可能值:

unknown(未知)

该插槽为空。如果该插槽中安装了卡,表明该卡未配置或卡上的设备未安装驱动程序。

subclass/board

该插槽中的卡是一个单功能或多功能设备。

subclass 是表示该设备的子类代码的字符串,如 SCSI、ethernetpci-isa 等。如果该卡是一个多功能设备,则列出 MULT

board 是表示设备的板类型的字符串。例如,hp 是表示 PCI 热插拔适配器的字符串,hs 是表示热交换板的字符串,nhs 是表示非热交换 cPCI 板的字符串,bhs 是表示基本热交换 cPCI 板的字符串,fhs 是表示完全热交换 cPCI 板的字符串。

大多数配有多个设备的 PCI 卡并不是多功能设备,但这些 PCI 卡是作为其后面的任意设备的 PCI 桥实现的。在这些情况下,显示的子类为 PCI 桥的子类。最常见的 PCI 桥为通用 PCI-PCI 桥 pci-pci 或半透明的 PCI 桥 stpci

–x hardware_function

执行硬件专用函数。通常,这些硬件专用函数不应更改插口或插卡的状态。

所支持的 hardware_function 如下:

enable_slot | disable_slot

更改插槽状态并在重新引导后仍保留插槽状态。只有选定的平台在重新引导后才能保留状态。

enable_slot 允许在引导时将硬件添加到热插拔插槽。

disable_slot 禁止在引导时将硬件添加到热插拔插槽。如果插槽被禁用,该插槽的状态显示为不可用。

enable_autoconfig | disable_autoconfig

更改插槽上插卡的自动配置的功能。只有支持自动配置的平台才支持该功能。

enable_autoconfig 启用插槽自动配置的功能。

diable_autoconfig 禁用插槽自动配置的功能。

利用 PCI Express 平台上的警示按钮以及 CompactPCI 平台上的卡入/弹出锁存器可以完成自动配置。如果自动配置被禁用,警示按钮或锁存器装置不能用于配置插槽上的插卡。

led=[led_sub_arg],mode=[mode_sub_arg]

如果不带子参数,列出当前 LED 指示灯设置的列表。如果带有子参数,则设置插槽的专用 LED 指示灯的模式。

led_sub_arg 指定为 faultpowerattnactive

mode_sub_arg 指定为 onoffblink

更改 LED 指示灯的状态不会更改插口或插卡的状态。通常,LED 指示灯由热插拔控制器控制,无需用户干预。使用该命令用于测试目的。

注意:更改 LED 指示灯的状态可能歪曲插卡或插口的状态。

以下命令列出 LED 指示灯的值:


example#  cfgadm -x led pci0:hpc0_slot1
Ap_Id             Led
pci0:hpc0_slot1   power=on,fault=off,active=off,attn=off

以下命令开启故障 LED 指示灯:

example# cfgadm -x led=fault,mode=on pci0:hpc0_slot1

以下命令关闭电源 LED 指示灯:

example# cfgadm -x led=power,mode=off pci0:hpc0_slot0

以下命令将活动的 LED 指示灯设置为闪烁状态以指示该插槽的位置:

example# cfgadm -x led=active,mode=on pci0:hpc0_slot3

示例

示例 1 列出每个插槽的值

以下命令列出每个插槽的值:


example# cfgadm -l
Ap_Id            Type         Receptacle   Occupant       Condition
c0               scsi-bus     connected    configured     unknown
c1               scsi-bus     connected    unconfigured   unknown
c2               scsi-bus     connected    unconfigured   unknown
cpci_slot1       stpci/fhs    connected    configured     ok
cpci_slot2       unknown      empty        unconfigured   unknown
cpci_slot4       stpci/fhs    connected    configured     ok
cpci_slot5       stpci/fhs    connected    configured     ok
示例 2 替换卡

以下命令列出所有支持 DR 的连接点:

example# cfgadm


Type             Receptacle   Occupant     Condition
c0               scsi-bus     connected    configured     unknown
c1               scsi-bus     connected    unconfigured   unknown
c2               scsi-bus     connected    unconfigured   unknown
cpci_slot1       stpci/fhs    connected    configured     ok
cpci_slot2       unknown      empty        unconfigured   unknown
cpci_slot4       stpci/fhs    connected    configured     ok
cpci_slot5       stpci/fhs    connected    configured     ok

以下命令取消配置卡并使卡断电:

example# cfgadm -c disconnect cpci_slot4

该更改可通过输入以下命令验证:

example# cfgadm cpci_slot4 


Ap_Id                   Type         Receptacle   Occupant     Condition
cpci_slot4              unknown      disconnected unconfigured unknown

现在可以交换卡了。以下命令使卡接电并配置卡:


example# cfgadm -c configure cpci_slot4

该更改可通过输入以下命令验证:

example# cfgadm cpci_slot4 


Ap_Id                   Type         Receptacle   Occupant     Condition
cpci_slot4              stpcipci/fhs connected    configured   ok

文件

/usr/lib/cfgadm/pci.so.1

PCI 热插拔硬件专用库。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/library

另请参见

cfgadm(1M)cfgadm_shp(1M)config_admin(3CFGADM)libcfgadm(3LIB)attributes(5)

在 Oracle Solaris 11.2 中管理设备