/usr/sbin/cfgadm [-f] [-y | -n] [-o hardware_options] -c function ap_id[...]
/usr/sbin/cfgadm [-f] [-y | -n] [-o hardware_options] -c hardware_function ap_id[...]
/usr/sbin/cfgadm [-v] [-a] [-s listing_options] [-o hardware_options] [-l [ap_id | ap_type[...]]]
/usr/sbin/cfgadm [-v] [-o hardware_options] -h [ap_id[...]]
特定于安全数字 (Secure Digital, SD) 和多媒体存储卡 (MultiMediaCard, MMC) 硬件的库 /usr/lib/cfgadm/sdcard.so.1 通过 cfgadm(1M) 命令提供 SD/MMC 热插拔功能。cfgadm 命令对连接点执行操作,而且是系统中可以动态重新配置硬件资源的位置。有关连接点的信息,请参见 cfgadm(1M)。
每个 SD/MMC 插槽都通过设备树中的一个连接点来表示。系统中连接并配置的卡设备显示为连接点名称的扩展。“连接点”和“SD/MMC 插槽”两个术语在本手册页中可互换使用。
连接点通过 ap_id 命名。所有的 SD/MMC 连接点均由以下形式的字符串组成:
sdcardX/[S][::dsk/cXtYd0]
其中:
X 是 SD/MMC 控制器号。
S 是控制器上的槽号(0 到 8)。
dev/cXtYd0 标识插入的内存卡。
Y 是目标编号。
通常,设备标识符源自 /dev 中的设备的对应逻辑链接。由于 SD/MMC 设备只支持一个 LUN (LUN 0),因此,设备字符串的 "d" 组件总是设置为 0(零)。例如,SD/MMC 控制器 2 的插槽 4 的逻辑 ap_id 应为 sdcard2/4。如果 SD/MMC 介质卡插入连接点该并且该设备已配置,ap_id 可能为 sdcard2/4::dsk/c2t0d0。
标识设备的 cXtYd0 字符串与设备连接点之间存在一对一对应关系。
系统中的连接点简单列表包含所有 SD/MMC 设备插槽以及附加的设备。例如:
#cfgadm -l Ap_Id Type Receptacle Occupant Condition sdcard0/0::dev/c2t0d0 sdcard connected configured ok sata0/1::dev/c0t1d0 disk connected configured ok sata0/2::dev/c0t2d0 cd-dvd connected configured ok sata0/3 sata-port empty unconfigured ok usb0/1 unknown empty unconfigured ok usb0/2 unknown empty unconfigured ok
有关连接点列表的更多信息,请参见 cfgadm(1M)。
SD/MMC 插槽中的连接点插口状态含义如下:
SD/MMC 插槽通电且已启用。在该插槽未检测到任何设备。
SD/MMC 插槽未启用,或检测到 SD/MMC 设备但未与该设备建立通信,或插槽出现故障。
在插槽中检测到 SD/MMC 设备并且已建立设备通信。
插卡(SD/MMC 插槽中插入的设备)状态的含义如下:
附加的 SD/MMC 设备已配置,且可供操作系统使用。
未附加任何设备或 SD/MMC 插槽中插入的 SD/MMC 设备尚未配置。要进行配置,请运行 cfgadm -c configure ap_id 命令。
连接点(SD/MMC 插槽)状况含义如下:
SD/MMC 插槽已通电并启用,随时可用。
SD/MMC 插槽出现故障。该端口被系统禁用和/或断电。这种情况下,端口不可用且处于未知状态。该故障可能是由插入插槽的设备导致的。
SD/MMC 插槽已禁用且处于未知状况。
除了列出 (–l),cfgadm 命令还定义了其他几种类型的操作。这些操作包括调用配置状态更改 (–c)、调用特定于硬件的函数 (–x) 以及获取配置管理帮助消息 (–h)。
–c:对于 SD/MMC 插槽连接点,支持以下配置状态更改操作:
启用(激活)SD/MMC 插槽并建立与所附加设备之间的通信。该操作意味着给插槽通电(如有必要)。
如果尚未取消插入的设备的配置,则取消其配置并禁用(取消激活)SD/MMC 插槽。后续 "connect" 命令可启用 SD/MMC 插槽操作但不会使设备处于 "configured"(已配置)状态。
以下状态更改操作适用于 SD/MMC 插槽中插入的 SD/MMC 卡:
配置新设备以便由操作系统使用(如果尚未配置)。该命令意味着执行连接操作(如有必要)。
取消插入 SD/MMC 插槽的设备的配置(如果尚未取消配置)。
–f:不支持。
–h ap_id:SD/MMC 特定帮助可通过将帮助选项与任何 SD/MMC 连接点一起使用来获取。
–l [-v]:按照 cfgadm(1M) 中所述使用 -l 选项。如果该选项与 -v 选项一起使用,"Information"(信息)字段将包含以下特定于 SD/MMC 的信息:
|
–o hardware_options:当前没有定义特定于硬件的选项。
–s listing_options:可使用 select 子选项列出 SD/MMC 类的连接点。请参见 cfgadm(1M)。
–t ap_id:自检功能。SD/MMC 插槽不支持。
–x hardware_function:执行特定于硬件的函数。sdcard_reset_slot ap_id 指示复位 ap_id 指定的 SD/MMC 插槽。如果插槽中插入了 SD/MMC 设备,也会复位该设备。
–v:在详细模式下执行。
示例 1-配置 SD/MMC 卡:
以下命令配置附加到 SD/MMC 控制器 0 上的插槽 0 的卡。仅当 SD/MMC 插槽中插入设备时,才应发出该命令。
# cfgadm -c configure sdcard0/0
示例 2-取消 SD/MMC 卡的配置:
以下命令取消 SD/MMC 控制器 0 上的插槽 3 中插入的卡的配置:
# cfgadm -c unconfigure sdcard0/3
示例 3-取消磁盘配置时遇到一个已挂载文件系统:
以下命令表明在取消配置磁盘时遇到已挂载的文件系统:
# cfgadm -c unconfigure sdcard1/5::dsk/c01t35d0
系统作出如下响应:
cfgadm: Component system is busy, try again: failed to offline: /devices/pci@0,0/pci8086,244e@1e/pci1095,3124@1/sd@5,0 Resource Information ------------------ -------------------------- /dev/dsk/c1t5d0s0 mounted filesystem "/mnt"
适用于通用 SD/MMC 热插拔的特定于硬件的库。
有关下列属性的说明,请参见 attributes(5):
|
cfgadm(1M)、config_admin(3CFGADM)、libcfgadm(3LIB)、attributes(5)、sda(7D)、sdcard(7D)、sdhost(7D)
正常操作情况下,SD/MMC 介质卡会在插入卡时自动配置。大多数管理员发现正常操作时无需使用该命令。
如果正在向 SD/MMC 卡写入内容,那么删除该设备前应先取消其配置,否则,将导致数据丢失。以只读模式挂载的设备可随时安全地删除。
配置了文件系统(pcfs(7FS) 除外)的设备始终应该在删除前先显式取消配置。