«usbipd не найден для ядра» с WSL2 (Windows 10)
Послеusbipd wsl list
оно вернулось обратноWARNING: usbipd not found for kernel 5.10.16.3-microsoft You may need to install the following packages for this specific kernel: linux-tools-5.10.16.3-microsoft-standard-WSL2 linux-cloud-tools-5.10.16.3-microsoft-standard-WSL2
You may also want to install one of the following packages to keep up to date: linux-tools-standard-WSL2 linux-cloud-tools-standard-WSL2
Я использовал решения следующим образом.
«usbipd не найден для ядра» при использовании USB/IP с WSL . Он показал:
hwdata is already the newest version (0.333-1).linux-tools-5.4.0-77-generic is already the newest version (5.4.0-77.86).0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.https://superuser.com/questions/1694723/access-mobile-device-filesystem-from-wsl После установки
jmtpfsиsudo jmtpfs -o allow_other /media/android/, он вернулсяNo mtp devices found., а устройство Android отображается в разделе «Управление файлами» в Windows 10 (подключено через MTP).https://superuser.com/questions/1686414/e-unable-to-locate-package-linux-tools-5-4-0-77-generic-on-wsl-debian-11/1688086#1688086 . Но после
sudo apt install usbip hwdata usbutils, он вернулсяE: Unable to locate package usbip.https://developer.ridgerun.com/wiki/index.php/How_to_setup_and_use_USB/IP , который он вернул
linux-tools-generic is already the newest version (5.4.0.139.137). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.https://www.geekbits.io/how-to-install-usbip-tools-on-debian/
sudo make installвернулсяmake[1]: Entering directory '/mnt/d/test/libsrc' CC libusbip_la-names.lo /bin/bash: ../libtool: No such file or directory make[1]: *** [Makefile:460: libusbip_la-names.lo] Error 127 make[1]: Leaving directory '/mnt/d/test/libsrc' make: *** [Makefile:498: install-recursive] Error 1
И послеsudo usbipd -D, он вернулсяusbipd: error while loading shared libraries: libusbip.so.0: cannot open shared object file: No such file or directory.
Последнее, но не менее важное,sudo apt update&sudo apt upgradeпоказал, что все пакеты обновлены и обновлены.
Заранее спасибо.
2 ответа
Из моего прочтения вопроса, возможно, необходимо связать не только исполняемый файл клиентаusbipно и утилита демонаusbipd(обратите внимание на трейлинг d )? Что означает помимо
sudo update-alternatives --install /usr/local/bin/usbip usbip $(command -v ls /usr/lib/linux-tools/*/usbip | tail -n1) 20
может понадобиться
sudo update-alternatives --install /usr/local/bin/usbipd usbipd $(command -v ls /usr/lib/linux-tools/*/usbipd | tail -n1) 20
Спасибо @Nielo за указание на то, что вы пытаетесь запустить (не
uspipкак я и думал изначально).
Под WSL:
- Демон USB/IP (
usbipd.exe) запускается под Windows, поскольку именно Windows предоставляет общий доступ (через ) к устройству. - Клиент USB/IP () — это то, что вы должны запустить под Ubuntu, чтобы подключиться к устройству, которое было общим демоном Windows.
Итак, из PowerShell в Windows попробуйте запуститьusbipd list(илиusbipd wsl list)
Примечание: для запускаusbipd bind, вы должны быть в PowerShell администратора.
Имейте в виду, что если вы пытаетесь подключить устройство к дистрибутиву по умолчанию и настроилиusbipкоманда в Ubuntu, как упоминалось в моем ответе здесь , всеusbipdкоманды можно запускать из PowerShell администратора.
Например:
usbipd wsl list
# Identify BUSID of device to attach
usbipd wsl attach --busid <busid>
Это делает две вещи:
- Привязывает/расшаривает устройство из Windows через демон USB/IP
- Отправляет соответствующую команду в Ubuntu для подключения к устройству.