소프트웨어를 사용하여 USB 장치의 전원을 끄는 방법이 있습니까?


10

Linux 시스템의 소프트웨어를 사용하여 (특정) USB 장치의 전원을 완전히 끌 수있는 방법이 있습니까?

이것을 사용하여 (단일) USB 스틱의 전원을 끄고 (LED가 꺼 지도록)하고 싶습니다.

이것을 달성하는 방법을 알고 있습니까? 예를 들어 / sys / bus / usb 등을 사용하십니까?


예. 간단히 장치를 마운트 해제 하십시오.
iglvzx

1
아니요, 도움이되지 않습니다. 스틱에 사용 가능한 파티션 (마운트 가능)이 없을 수도 있습니다.
Daniel Jour

플래시 드라이브의 경우 디스크를 제거하는 한 가지 방법은 다음 echo 1 > /sys/block/sd<letter[s]>/device/delete과 같습니다. 디스크 이외의 장치에서는 작동하지 않습니다.)
Gert van den Berg

답변:


10

컴퓨터에서 오래된 커널을 실행하는 경우 echo suspend > /sys/bus/usb/devices/X-X/power/level장치를 강제로 중지 시킬 수 있습니다.

그러나 2.6.32부터는 더 이상 불가능합니다.

전원 관리 이벤트는 외부 및 내부의 두 가지 클래스로 분류 할 수 있습니다. 외부 이벤트는 USB 스택 외부의 일부 에이전트에 의해 트리거되는 것입니다 : 시스템 일시 중지 / 재개 (사용자 공간에 의해 트리거 됨), 수동 동적 재개 (사용자 공간에 의해 트리거 됨) 및 원격 깨우기 (장치에 의해 트리거 됨). 내부 이벤트는 USB 스택 내에서 트리거되는 것입니다 : autosuspend 및 autoresume. 모든 동적 일시 중단 이벤트는 내부적입니다 . 외부 상담원은 동적 일시 중지를 발행 할 수 없습니다.

power/control

    This file contains one of two words: "on" or "auto".
    You can write those words to the file to change the
    device's setting.

    "on" means that the device should be resumed and
    autosuspend is not allowed.  (Of course, system
    suspends are still allowed.)

    "auto" is the normal state in which the kernel is
    allowed to autosuspend and autoresume the device.

    (In kernels up to 2.6.32, you could also specify
    "suspend", meaning that the device should remain
    suspended and autoresume was not allowed.  This
    setting is no longer supported.

( http://www.kernel.org/doc/Documentation/usb/power-management.txt에서 )

할 수있는 가장 좋은 방법은 장치를 드라이버에서 바인딩 해제하는 것이므로 아무 활동도하지 않고 가능한 한 빨리 자동 일시 중지되도록 장치를 구성하십시오 ( echo auto > /sys/bus/usb/devices/X-X/power/control && echo 0 > /sys/bus/usb/devices/X-X/power/autosuspend_delay_ms).

그러나 USB 사양을 이해 하는 한 장치를 일시 중단하더라도 일부 전원 켜기 포트가 남아 있으므로 'dumb'방식으로 전원이 공급되는 경우 (예 : + 5V 및 GND에 직접 연결된 경우) led를 비활성화하지 못할 수 있습니다 다리).


드라이버에서 장치를 바인딩 해제하고 자동 일시 중지를 구성하여 장치가 종료되도록 허용했기 때문에이 답변을 허용 된 것으로 표시하고 있습니다. 불행히도, 대상 USB 스틱 (또는 LED)은 + 5V 및 GND에 직접 연결되므로 전원을 끌 수 없습니다.
다니엘 Jour

3

꺼내기 명령을 사용하면 작동합니다.

실행 eject /dev/<devicename>하면 전원이 꺼집니다.


불행히도, 이것은 내 테스트 스틱에서 작동하지 않습니다 :(
Daniel Jour

1
USB 스틱이 CD, 플로피, 테이프 또는 SCSI 드라이브가 아닌 경우 놀라운 것은 아닙니다. eject이것들과 만 작동합니다.
Dmitry Grigoryev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.