논리적으로 연결이 끊어진 USB 장치를 어떻게 다시 연결합니까?

논리적으로 연결이 끊어진 USB 장치를 어떻게 다시 연결합니까?

USB 저장 장치가 논리적으로 연결 해제될 수 있습니다. 장치는 여전히 연결되어 있지만 운영 체제에 표시되지 않습니다(예: 아래 목록에 표시되지 않음 /proc/bus/usb). 다른 유형의 USB나 기타 이동식 장치에서도 이런 일이 발생할 수 있습니다. 예를 들어 다음과 같은 일이 발생할 수 있습니다.

드라이버나 하드웨어에서 무슨 일이 일어나고 있으며, 가장 중요한 것은 (물리적으로 장치를 뽑았다가 다시 연결하지 않고) 장치를 논리적으로 다시 연결할 수 있는 방법입니까?

이 문제는 설치와 관련이 없다는 점에 유의하세요. "논리적으로 연결이 끊어진" 상태에서 커널은 USB 버스에 아무것도 없다고 생각합니다(물론 항목도 없습니다 /dev).

답변1

장치가 연결된 USB 버스 레그에서 전원 주기를 수행하는 것이 때때로 가능합니다.

# echo suspend > /sys/bus/usb/devices/1-1/power/level
# echo auto > /sys/bus/usb/devices/1-1/power/level

1-1구성에 따라 조정 해야 합니다 . lsusb -t장치를 꺼내기 전에 실행하면 장치가 USB 트리의 어느 부분에 연결되어 있는지 확인할 수 있습니다.

linux-usb 메일링 리스트에서 자세한 내용을 찾을 수 있습니다.이 스레드예를 들어.

답변2

udevadm info -a -n /dev/sdb

이제 커널을 확인해 보세요. 예를 들어 Front UIP의 포트 2에 연결되면 1-1.2가 되고, Front UIP의 포트 1에 연결되면 1-1.1이 됩니다.

포트 2의 경우: USB 연결을 끊습니다.

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/unbind

USB 연결:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/bind

답변3

연결된 장치나 허브를 재설정하면 장치가 다시 나타납니다. 이를 수행하는 작은 프로그램은 다음과 같습니다.

http://marc.info/?l=linux-usb-users&m=116827193506484

제가 시도한 대부분의 USB 드라이브에서 작동하지만 Kingston DT 101 II 4GB와 같은 예외가 있습니다. 이 경우 재설정 후 INQUIRY 및 READ CAPACITY 명령이 실패하고 재부팅할 때까지 사용할 수 없는 상태로 유지됩니다.

장치가 포트에서 전원을 끌어오고 USB 허브가 포트별 전원 제어를 지원하는 경우 장치를 분리하지 않고도 장치를 다시 시작할 수 있습니다. 이것은 전원을 제어하는 ​​작은 프로그램입니다.

http://marc.info/?l=linux-usb-devel&m=113724451205634

불행히도 이 기능을 지원하는 USB 허브는 거의 없으며 지원하는 허브를 찾기도 어렵습니다. 제조사는 광고를 하지 않습니다. 많은 허브도 이에 대해 거짓말을 하고 있습니다. 예를 들어 "lsusb -v"를 실행하면 "wHubCharacteristic"에 광고된 "포트별 전원 전환"을 볼 수 있지만 실제로는 작동하지 않습니다. 칩셋이 이를 지원할 수도 있지만 제조업체에서는 칩셋을 통하지 않고 포트 전원 핀을 전원에 직접 연결하는 것이 더 쉽고 저렴합니다.

답변4

다음은 USB 장치의 연결을 끊습니다.

sudo eject /dev/sde

다음은 USB 장치를 다시 연결합니다.

sudo eject -t /dev/sde

위의 내용은 내 Linux Mint에서 작동합니다.

관련 정보