usbip: 오류: 추가 요청실패 - 장치 사용 중(내보냄)

usbip: 오류: 추가 요청실패 - 장치 사용 중(내보냄)

WSL2의 Ubuntu 20.04에 USB 웹캠을 연결하거나 분리했습니다.usbipd-win사용 지침USB 장치 연결. PowerShell에서:

usbipd wsl attach --busid 2-4

완료되면 분리하겠습니다.

usbipd wsl detach --busid 2-4

그러나 동일한 명령을 사용하여 동일한 USB 웹캠 장치를 두 번째로 연결하려고 하면 다음과 같습니다.

usbipd wsl attach --busid 2-4

...PowerShell 콘솔에 다음 오류가 표시됩니다.

usbip: error: Attach Request for 2-4 failed - Device busy (exported)

USB 웹캠 사용 중이란 무엇을 의미합니까?

이전에 웹캠을 분리했는데도 왜 웹캠이 여전히 사용 중입니까?

안녕하세요. WSL2를 사용하려고 하면 다음과 같습니다.

~$ sudo usbip port 

보여주다:

Imported USB devices

====================

Power Shell에서 시도해 보면 다음과 같습니다.

PS C:\Windows\System32> usbipd wsl list 

       

BUSID      DEVICE                                                STATE


2-2 USBIP Shared Device, NexiGo N950P 4K Webcam, NexiGo N950P... Not attached

또한 PS를 사용해 보면 다음과 같습니다("wsl"이 없음).

PS C:\Windows\System32> usbipd unbind --busid 2-2   

이제는 오류가 발생하지 않고 작동하지 않습니다.

내가 시도하면 :

PS C:\Windows\System32> usbipd bind --busid 2-2

usbipd: 정보: 버스 ID가 '2-2'인 장치가 이미 공유되었습니다.

답변1

나는 아니에요답변아직은 아니지만 댓글에서 설명할 수 있는 수준을 넘어서므로 이 문제를 해결하면서 여기에 몇 가지 정보를 추가하겠습니다.

귀하의 의견에서 다음을 시도한다고 언급하셨습니다.

usbipd wsl unbind --busid <busid>

...PowerShell에서 오류가 발생합니다. 이것은 예상됩니다. 달리기:

$ usbipd wsl -h
usbipd-win 2.2.0

Description:
  Convenience commands for attaching and detaching devices to Windows Subsystem for Linux.

Usage:
  usbipd wsl [command] [options]

Options:
  -?, -h, --help  Show help and usage information

Commands:
  attach  Attach a USB device to a WSL instance
  detach  Detach a USB device from a WSL instance
  list    List USB devices

따라서 따를 수 있는 유일한 유효한 명령 usbipdattach, detach및 임을 알 수 있습니다 list.

말했듯이 이것들은"편의주문". 그것들은 약어입니다:

  • usbipd wsl attach -b <busid>두 가지 일을 했습니다:

    • PowerShell에서는공유하다장치가 통과합니다.usbipd bind -b <busid>
    • 기본 WSL 인스턴스에서는부록공유 장치를 통해 sudo usbip attach -r $(hostname).local -b <busid>. sudo기본적으로 명령을 사용하기 때문에 이를 수행하는 데 비밀번호가 필요하지 않습니다 wsl -u root.

    예를 들어 PowerShell에서 다음 명령은 위의 편의 버전과 동일한 효과를 가져야 합니다.

    usbipd bind -b <busid>
    wsl -u root -e usbip attach -r "$(hostname.exe).local" -b <busid>
    

    또는 PowerShell에서 첫 번째 명령을 실행한 후 Ubuntu로 이동하여 다음을 실행할 수 있습니다.

    sudo usbip attach -r $(hostname).local -b <busid>
    

    세 가지 모두 동일한 효과를 갖습니다.

  • usbipd wsl detach -b <busid>유사하며 다음 두 가지 작업을 수행합니다.

    • WSL에서는 usbip detach장치
    • PowerShell에서는 usbipd unbind장치
  • usbipd wsl listUbuntu/WSL2에는 실제로 비슷한 것이 없습니다. 이는 usbipd list장치가 연결된 WSL2 인스턴스를 표시하는 기능을 추가하는 것과 비슷합니다.

중요한 팁: 이 두 명령은 매우 유사하기 때문에 서로 다른 두 명령이라는 사실을 간과하기 쉽습니다.

  • PowerShell에서 명령은 다음과 같습니다.usbipd
  • WSL2부터 명령은 usbip("d" 제외) 입니다.
문제 해결

이를 염두에 두고 문제가 발생하면 Ubuntu에서 몇 가지 명령을 실행해 보십시오.

노력하다:

sudo usbip port
sudo usbip detach -p 00 # Or whatever the previous command showed

원인을 파악하는 데 도움이 되는 다른 메시지가 표시되는지 확인하세요.

usbipd wsl attach --busid 2-4

...오류가 발생합니다.

답변2

실수

usbip: 오류: 2-4에 대한 연결 요청 실패 - 장치 사용 중(내보내기됨)

주변 장치를 사용하는 Windows 측면과 관련이 있습니다.

Windows 측에서 작업 관리자를 실행하고 주변 장치를 사용하고 있는 응용 프로그램을 식별한 후 작업을 종료합니다.

이제 작동하는 것을 볼 수 있습니다. 제 경우에는 Android adb 관리자였습니다. 나는 그것을 끝냈고 모든 것이 괜찮았습니다.

답변3

일부 프로그램에서는 이 포트를 사용할 수 있습니다. 내 경우에는 G-helper가 이 포트를 사용한다. G-helper를 끄고 wsl2에 연결할 수 있습니다. 이 포트를 사용하고 있을 수 있는 프로그램을 확인하고 닫습니다.

관련 정보