Puede agregar y quitar un dispositivo USB de un sistema en ejecución sin usar el comando cfgadm. Sin embargo, el comando cfgadm le permite realizar operaciones lógicas de conexión en caliente en el dispositivo USB. En las operaciones de conexión en caliente, no tiene que manejar el dispositivo físicamente. Por lo tanto, puede desactivar o restablecer de manera remota un dispositivo USB que no funciona sin tener que quitarlo. El comando cfgadm también permite ver el árbol del dispositivo USB, incluida la información del fabricante y del producto.
El comando cfgadm funciona con dispositivos USB de la misma manera que con otros dispositivos con conexión en caliente. Para obtener más información sobre cómo funciona el comando, consulte las secciones pertinentes en el Chapter 2, Configuración dinámica de dispositivos.
Los siguientes comandos cfgadm corresponden a todos los dispositivos, incluidos los dispositivos USB. Consulte información detallada en el Chapter 2, Configuración dinámica de dispositivos:
Muestra información de los dispositivos.
Configura o anula la configuración de un dispositivo.
Conecta o desconecta un dispositivo.
Realiza operaciones lógicas en un dispositivo USB. El comando es específico para los dispositivos USB solamente.
Los siguientes ejemplos muestran el uso del comando cfgadm para realizar las operaciones de conexión en caliente de dispositivos USB. La salida de ejemplo muestra solamente información pertinente a los dispositivos USB. La salida del comando real depende de los dispositivos del sistema.
Ejemplo 13-3 Visualización de información de bus de USB$ cfgadm Ap_Id Type Receptacle Occupant Condition usb0/4.5 usb-hub connected configured ok usb0/4.5.1 usb-device connected configured ok usb0/4.5.2 usb-printer connected configured ok usb0/4.5.3 usb-mouse connected configured ok usb0/4.5.4 usb-device connected configured ok usb0/4.5.5 usb-storage connected configured ok usb0/4.5.6 usb-communi connected configured ok usb0/4.5.7 unknown empty unconfigured ok
Con usb0/4.5.1 como ejemplo, se obtiene la siguiente información de la salida:
usb0 hace referencia al primer controlador USB.
Los números separados por tres puntos después del nombre del dispositivo indican la agregación del concentrador raíz. El sistema tiene dos concentradores externos.
El primer número hace referencia al puerto 4 del concentrador raíz del controlador.
El segundo número hace referencia al puerto 5 del concentrador externo de primer nivel.
El tercer número hace referencia al puerto 1 del concentrador externo de segundo nivel.
Tenga en cuenta que, como práctica útil, puede visualizar información sobre los dispositivos del sistema antes y después de efectuar el paso de conexión en caliente. La información ayuda de las siguientes formas:
Puede identificar correctamente el bus o el dispositivo por reconfigurar dinámicamente.
Puede verificar el estado del bus o el dispositivo cuya reconfiguración ha terminado correctamente.
También puede personalizar la información específica que desea acerca de un dispositivo USB. El siguiente ejemplo proporciona toda la información de los dispositivos.
$ cfgadm -l -s "cols=ap_id:info" Ap_Id Information usb0/4.5.1 Mfg: Inside Out Networks Product: Edgeport/421 NConfigs: 1 Config: 0 : ... usb0/4.5.2 Mfg: <undef> Product: <undef> NConfigs: 1 Config: 0 ... usb0/4.5.3 Mfg: Mitsumi Product: Apple USB Mouse NConfigs: 1 Config: 0 ... usb0/4.5.4 Mfg: NMB Product: NMB USB KB/PS2 M NConfigs: 1 Config: 0 usb0/4.5.5 Mfg: Hagiwara Sys-Com Product: SmartMedia R/W NConfigs: 1 Config: 0 : ... usb0/4.5.6 Mfg: 3Com Inc. Product: U.S.Robotics 56000 Voice USB Modem NConfigs: 2 ... usb0/4.5.7Ejemplo 13-4 Desconfiguración de un dispositivo USB
Puede desconfigurar un dispositivo USB y dejarlo físicamente conectado al sistema. El dispositivo se sigue incluyendo en la salida del comando prtconf. Sin embargo, no se conecta ningún controlador al dispositivo.
# cfgadm -c unconfigure usb0/4.7 Unconfigure the device: /devices/pci@8,700000/usb@5,3/hub@4:4.7 This operation will suspend activity on the USB device Continue (yes/no)? y # cfgadm -l Ap_Id Type Receptacle Occupant Condition usb0/4.5 usb-hub connected configured ok usb0/4.5.1 usb-device connected configured ok usb0/4.5.2 usb-printer connected configured ok usb0/4.5.3 usb-mouse connected configured ok usb0/4.5.4 usb-device connected configured ok usb0/4.5.5 usb-storage connected configured ok usb0/4.5.6 usb-communi connected configured ok usb0/4.5.7 unknown empty unconfigured ok usb0/4.6 usb-storage connected configured ok usb0/4.7 usb-storage connected unconfigured okDevice is unconfigured.Ejemplo 13-5 Configuración de dispositivo USB
# cfgadm -c configure usb0/4.7 # cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 usb-storage connected configured okEjemplo 13-6 Desconexión lógica de dispositivo USB
En este ejemplo, el dispositivo USB se mantiene conectado físicamente al sistema. Sin embargo, no se puede utilizar después de que se desconecta lógicamente. La salida del comando prtconf no incluirá este dispositivo en la salida.
# cfgadm -c disconnect -y usb0/4.7 # cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 unknown disconnected unconfigured okThe device is disconnected and becomes unavailable.Ejemplo 13-7 Conexión lógica de un dispositivo USB
Es posible conectar un dispositivo USB de manera remota, sin acceso físico al dispositivo. Sin embargo, el dispositivo debe estar conectado físicamente al sistema para que la conexión lógica se realice correctamente.
# cfgadm -c configure usb0/4.7 # cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 usb-storage connected configured okThe device is connected and becomes available.Ejemplo 13-8 Desconexión lógica de subárbol de dispositivos USB
En este ejemplo, se quita toda la jerarquía de dispositivos debajo del concentrador.
# cfgadm -c disconnect -y usb0/4 # cfgadm usb0/4 Ap_Id Type Receptacle Occupant Condition usb0/4 unknown disconnected unconfigured okAll devices under port 4 of the hub are disconnected.Ejemplo 13-9 Restablecimiento de dispositivo USB
Al restablecer un dispositivo se quita el dispositivo y se lo recrea. Puede restablecer un dispositivo que presenta errores. En este ejemplo, se supone que el dispositivo no está en uso. El restablecimiento falla si la aplicación está utilizando el dispositivo.
# cfgadm -x usb_reset -y usb0/4.7 # cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 usb-storage connected configured ok