cfgadm 명령을 사용하지 않고 실행 중인 시스템에서 USB 장치를 추가 및 제거할 수 있습니다. 하지만 cfgadm 명령을 사용하면 USB 장치에서 논리적 핫 플러그 작업을 수행할 수 있습니다. 논리적 핫 플러그 작업에서는 장치를 물리적으로 다룰 필요가 없습니다. 따라서 작동하지 않는 USB 장치를 제거하지 않고도 원격에서 장치를 사용 안함으로 설정하거나 재설정할 수 있습니다. 또한 cfgadm 명령을 사용하면 제조업체 및 제품 정보를 포함하여 USB 장치 트리를 표시할 수 있습니다.
USB 장치에서 cfgadm 명령의 작동 방식은 다른 핫 플러그 가능 장치와 동일합니다. 명령 작동 방식에 대한 자세한 개념 및 개요 정보는 Chapter 2, 동적으로 장치 구성에서 관련 절을 참조하십시오.
다음 cfgadm 명령은 USB 장치를 비롯한 모든 장치에 적용됩니다. 자세한 내용은 Chapter 2, 동적으로 장치 구성을 참조하십시오.
장치에 대한 정보를 표시합니다.
장치를 구성하거나 구성을 해제합니다.
장치를 연결하거나 연결을 해제합니다.
USB 장치에서 논리적 작업을 수행합니다. 이 명령은 USB 장치에만 적용됩니다.
다음 예에서는 cfgadm 명령을 사용하여 USB 장치에서 핫 플러그 작업을 수행하는 방법을 보여 줍니다. 샘플 출력에는 USB 장치와 관련된 정보만 표시되어 있습니다. 실제 명령 출력은 시스템의 장치에 따라 달라집니다.
예 13-3 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
예를 들어 출력에서 usb0/4.5.1에 대해 다음 정보를 확인할 수 있습니다.
usb0은 첫번째 USB 컨트롤러입니다.
장치 이름 뒤에 점으로 구분된 3개의 숫자는 루트 허브 외에도 시스템에 2개의 외부 허브가 있음을 나타냅니다.
첫번째 숫자는 컨트롤러 루트 허브의 포트 4입니다.
두번째 숫자는 첫번째 레벨 외부 허브의 포트 5입니다.
세번째 숫자는 두번째 레벨 외부 허브의 포트 1입니다.
핫 플러그 기능 사용 단계를 수행하기 전과 후에 시스템 장치에 대한 정보를 표시하면 유용합니다. 이러한 정보는 다음과 같은 점에서 유용합니다.
동적으로 재구성할 버스나 장치를 제대로 식별할 수 있습니다.
버스나 장치의 상태를 보고 재구성이 성공적으로 완료되었는지 확인할 수 있습니다.
또한 USB 장치 정보 중 특정 정보만 표시되도록 사용자 정의할 수 있습니다. 다음 예에서는 장치에 대한 전체 정보를 제공합니다.
$ 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.7예 13-4 USB 장치 구성 해제
USB 장치를 구성 해제하고 시스템에 물리적으로 연결된 상태로 둘 수 있습니다. 이 경우 prtconf 명령 출력에는 해당 장치가 포함되지만 드라이버가 장치에 연결되지 않습니다.
# 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.예 13-5 USB 장치 구성
# cfgadm -c configure usb0/4.7 # cfgadm usb0/4.7 Ap_Id Type Receptacle Occupant Condition usb0/4.7 usb-storage connected configured ok예 13-6 논리적으로 USB 장치 연결 해제
이 예에서는 USB 장치가 시스템에 물리적으로 연결된 상태로 유지됩니다. 그러나 논리적으로 연결이 해제된 후에는 사용할 수 없게 됩니다. prtconf 명령 출력에 이 장치가 포함되지 않습니다.
# 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.예 13-7 논리적으로 USB 장치 연결
USB 장치에 물리적으로 액세스하지 않아도 원격에서 장치를 연결할 수 있습니다. 그러나 논리적 연결이 성공하려면 장치가 시스템에 물리적으로 연결되어 있어야 합니다.
# 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.예 13-8 논리적으로 USB 장치 하위 트리 연결 해제
이 예에서는 허브 아래에 있는 장치 전체 계층이 제거됩니다.
# 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.예 13-9 USB 장치 재설정
장치를 재설정하면 장치가 제거된 후 다시 만들어집니다. 장치가 오작동하는 경우 재설정할 수 있습니다. 이 예에서는 장치가 사용되고 있지 않다고 가정합니다. 장치를 사용하는 응용 프로그램이 있으면 재설정이 실패합니다.
# 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