Подключение USB-устройств
В этом руководстве описаны действия, необходимые для подключения USB-устройства к дистрибутиву Linux, работающему в WSL 2 с помощью проекта с открытым исходным кодом USB/IP, usbipd-win.
Настройка проекта USB/IP на компьютере Windows позволяет использовать распространенные сценарии USB разработчика, такие как мигание Arduino или доступ к смарт-средству чтения карта.
Необходимые компоненты
- Под управлением Windows 11 (сборка 22000 или более поздняя версия). (Поддержка Windows 10 возможна, см. примечание ниже).
- Требуется компьютер с процессором x64. (x86 и Arm64 в настоящее время не поддерживаются с usbipd-win).
- WSL устанавливается и настраивается с помощью последней версии.
- Дистрибутив Linux установлен и установлен в WSL 2.
Примечание.
Чтобы проверить версию и номер сборки Windows, нажмите клавиши WINDOWS+R, введите winver и щелкните ОК. Вы можете выполнить обновление до последней версии Windows, выбрав Пуск>Параметры>Центр обновления Windows>Проверить наличие обновлений.
Чтобы проверка версию ядра Linux, откройте дистрибутив Linux и введите команду: uname -a
Чтобы вручную обновить до последнего ядра, откройте PowerShell и введите команду wsl --update.
Важно!
WSL теперь поддерживает Windows 10 и Windows 11 через Microsoft Store, что означает, что пользователи Windows 10 теперь имеют доступ к последним версиям ядра, не требуя компиляции из источника. Сведения о том, как обновить версию WSL, поддерживаемую магазином Магазина, теперь общедоступна в Windows 10 и 11 . Если вы не можете обновить версию WSL, поддерживаемую Магазином, и автоматически получать обновления ядра, см . в репозитории проекта USBIPD-WIN инструкции по подключению USB-устройств к дистрибутиву Linux, работающему в WSL 2, путем создания собственного ядра WSL 2 с поддержкой USBIP.
Установка проекта USBIPD-WIN
Поддержка подключения USB-устройств изначально недоступна в WSL, поэтому вам потребуется установить проект usbipd-win с открытым исходным кодом.
- Перейдите на последнюю страницу выпуска для проекта usbipd-win.
- Выберите файл .msi, который скачайте установщик. (Вы можете получить предупреждение с просьбой подтвердить, что вы доверяете этому скачиванию).
- Запустите скачанный файл установщика usbipd-win_x.msi.
Примечание.
Кроме того, можно установить проект usbipd-win с помощью Диспетчер пакетов Windows (winget). Если вы уже установили winget, просто используйте команду: winget install --interactive --exact dorssel.usbipd-win
чтобы установить usbipd-win. Если вы не используете режим --interactive, winget может немедленно перезагрузить компьютер, если это необходимо для установки драйверов.
Будет установлено:
- Служба называется
usbipd
(отображаемое имя: узел устройства USBIP). Вы можете проверка состояние этой службы с помощью приложения "Службы" из Windows. - Средство
usbipd
командной строки. Расположение этого средства будет добавлено в переменную среды PATH. - Правило брандмауэра, вызываемое
usbipd
для разрешения подключения ко всей локальной подсети к службе. Это правило брандмауэра можно изменить, чтобы настроить управление доступом.
Подключение USB-устройства
Перед подключением USB-устройства убедитесь, что командная строка WSL открыта. Это приведет к активности упрощенной виртуальной машины WSL 2.
Примечание.
В этом документе предполагается, что установлено usbipd-win 4.0.0
или установлено более поздней версии.
Список всех USB-устройств, подключенных к Windows, откройте PowerShell в режиме администратора и введите следующую команду. После перечисления устройств выберите и скопируйте идентификатор шины устройства, который вы хотите подключить к WSL.
usbipd list
Перед присоединением USB-устройства необходимо использовать команду
usbipd bind
для совместного использования устройства, что позволяет подключить его к WSL. Для этого требуются права администратора. Выберите идентификатор шины устройства, который вы хотите использовать в WSL, и выполните следующую команду. После выполнения команды убедитесь, что устройство используется повторно с помощью командыusbipd list
.usbipd bind --busid 4-4
Чтобы подключить USB-устройство, выполните следующую команду. (Вам больше не нужно использовать запрос администратора с повышенными привилегиями.) Убедитесь, что командная строка WSL открыта, чтобы обеспечить активную виртуальную машину WSL 2. Обратите внимание, что до тех пор, пока USB-устройство подключено к WSL, оно не может использоваться Windows. После подключения к WSL USB-устройство может использоваться любым дистрибутивом, работающим как WSL 2. Убедитесь, что устройство подключено с помощью
usbipd list
. В командной строке WSL выполните командуlsusb
, чтобы убедиться, что USB-устройство отображается и может взаимодействовать с помощью средств Linux.usbipd attach --wsl --busid <busid>
Откройте Ubuntu (или предпочтительную командную строку WSL) и перечислите подключенные USB-устройства с помощью команды:
lsusb
Вы увидите только что подключенное устройство и сможете взаимодействовать с ним с помощью обычных средств Linux. В зависимости от приложения может потребоваться настроить правила udev, чтобы разрешить пользователям, не являющихся корневыми, получать доступ к устройству.
После завершения работы с устройством в WSL можно физически отключить USB-устройство или выполнить следующую команду из PowerShell:
usbipd detach --busid <busid>
Дополнительные сведения о том, как это работает, см. в блоге командной строки Windows и репозитории usbipd-win на GitHub.
Демонстрация видео см. в разделе WSL 2: Подключение USB-устройства (вкладки и шоу Пробелы).
Windows Subsystem for Linux
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по