Linux 시스템의 소프트웨어를 사용하여 (특정) USB 장치의 전원을 완전히 끌 수있는 방법이 있습니까?
이것을 사용하여 (단일) USB 스틱의 전원을 끄고 (LED가 꺼 지도록)하고 싶습니다.
이것을 달성하는 방법을 알고 있습니까? 예를 들어 / sys / bus / usb 등을 사용하십니까?
echo 1 > /sys/block/sd<letter[s]>/device/delete과 같습니다. 디스크 이외의 장치에서는 작동하지 않습니다.)
Linux 시스템의 소프트웨어를 사용하여 (특정) USB 장치의 전원을 완전히 끌 수있는 방법이 있습니까?
이것을 사용하여 (단일) USB 스틱의 전원을 끄고 (LED가 꺼 지도록)하고 싶습니다.
이것을 달성하는 방법을 알고 있습니까? 예를 들어 / sys / bus / usb 등을 사용하십니까?
echo 1 > /sys/block/sd<letter[s]>/device/delete과 같습니다. 디스크 이외의 장치에서는 작동하지 않습니다.)
답변:
컴퓨터에서 오래된 커널을 실행하는 경우 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를 비활성화하지 못할 수 있습니다 다리).
꺼내기 명령을 사용하면 작동합니다.
실행 eject /dev/<devicename>하면 전원이 꺼집니다.
eject이것들과 만 작동합니다.