WSL2(Windows 10)下usbipd内核适配失败及MTP设备无法识别问题求助
大家好,我在WSL2(Windows 10)环境下尝试用usbipd连接USB设备,同时想通过MTP协议访问安卓设备,但折腾了很久都没解决问题,想请教下大家有没有可行的解决方案:
一、usbipd内核适配相关问题
我执行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
针对这个警告我试了好几种解决方法,但都没效果:
- 尝试安装提示的内核工具包时,系统反馈相关包已经是最新版本:
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. - 尝试安装
usbip hwdata usbutils组合包时,出现包找不到的错误:E: Unable to locate package usbip.
- 尝试安装通用工具包
linux-tools-generic,系统同样提示已是最新版本: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.
- 无奈之下尝试手动编译usbip工具,执行
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 - 编译失败后硬着头皮尝试启动usbipd守护进程
sudo usbipd -D,又遇到依赖库缺失的错误:usbipd: error while loading shared libraries: libusbip.so.0: cannot open shared object file: No such file or directory
二、MTP安卓设备无法识别问题
除了usbipd的问题,我还尝试用jmtpfs访问已连接的安卓设备——这个设备在Windows 10的文件管理器里是能正常识别并访问的,但在WSL中执行sudo jmtpfs -o allow_other /media/android/时,返回:
No mtp devices found.
另外,我已经执行过sudo apt update && sudo apt upgrade,确认所有系统包都已经是最新状态了。
希望有经验的朋友能给我一些思路或者解决方案,非常感谢!
备注:内容来源于stack exchange,提问作者wenyuan

