晚上好🌙🌙🌙
本答案参考通义千问
你遇到的问题是 Intel RealSense D435i 相机在 Ubuntu 18.04 虚拟机中无法被正确识别,并提示“无法连接到理想的主机控制器”,这通常是因为 USB 设备直通(USB Passthrough)配置不正确 或 驱动/固件问题。
✅ 问题原因分析
-
USB 设备未正确直通到虚拟机
VMware Workstation 中需要将 USB 设备直接分配给虚拟机,而不是由宿主机处理。
-
RealSense 驱动未正确安装或版本不兼容
Ubuntu 18.04 的默认源可能不包含最新的 RealSense 驱动,需手动安装。
-
USB 控制器不支持高速设备
某些情况下,USB 控制器的配置导致设备无法正常通信。
🔧 解决方案步骤(Ubuntu 18.04 + VMware)
第一步:确保 USB 设备已正确连接到虚拟机
- 打开 VMware Workstation。
- 确保你的虚拟机(如
learn Ubuntu 18.04)正在运行。 - 在虚拟机菜单中选择:
- VM > Removable Devices > Intel(R) RealSense(TM) Depth Camera 435i
- 选择 Connect (Disconnect from Host),将其连接到虚拟机。
注意: 如果没有这个选项,请尝试重启虚拟机后再次检查。
第二步:安装 RealSense SDK 和驱动
1. 安装依赖项
sudo apt update
sudo apt install git libgl1 libglib2.0-0 libsm6 libxrender1 libxext6
2. 克隆 RealSense SDK 2.0 仓库
git clone https://github.com/IntelRealSense/librealsense.git
cd librealsense
3. 创建编译目录并编译
mkdir build
cd build
cmake ..
make
sudo make install
注意: 如果出现错误,请检查是否安装了所有依赖项,或者使用 sudo apt install libudev-dev 等补充安装。
第三步:测试 RealSense 相机是否被识别
运行以下命令查看相机是否被识别:
realsense-viewer
如果看到相机图像和深度图,则说明安装成功。
第四步:解决 USB 控制器问题(可选)
如果你仍然无法识别设备,可能是 USB 控制器配置问题。可以尝试以下方法:
方法一:更改 USB 控制器类型
- 关闭虚拟机。
- 右键点击虚拟机 -> Settings -> Hardware -> USB Controller。
- 将 USB 控制器从 EHCI 改为 XHCI(如果支持)。
- 启动虚拟机并重新连接 USB 设备。
方法二:禁用 USB 3.0 支持(如果使用 EHCI)
- 在虚拟机设置中,取消勾选 USB 3.0 (xHCI) Controller。
- 仅保留 USB 2.0 (EHCI) Controller。
- 重新连接设备。
第五步:更新系统和内核(可选)
Ubuntu 18.04 已经较旧,建议升级到 Ubuntu 20.04 LTS 或更高版本以获得更好的兼容性。
sudo do-release-upgrade
🛠️ 如果仍然无法识别设备?
1. 检查 dmesg 日志
dmesg | grep -i usb
查看是否有与 RealSense 相关的错误信息。
2. 检查 udev 规则
确保 RealSense 设备有正确的 udev 权限规则:
ls /dev/tty* | grep -i rs
如果没有输出,可能需要添加 udev 规则。
✅ 总结
| 步骤 | 内容 |
|------|------|
| 1 | 将 RealSense 相机通过 VMware 连接到虚拟机 |
| 2 | 安装 RealSense SDK 2.0(从源码编译) |
| 3 | 使用 realsense-viewer 测试相机 |
| 4 | 更改 USB 控制器类型(XHCI/EHCI) |
| 5 | 升级系统或使用更稳定的 Ubuntu 版本 |
💡 建议
- 如果你在使用 VMware,考虑切换到 VirtualBox 或 KVM/QEMU,某些情况下对 USB 设备的支持更好。
- 如果你是在开发环境中使用 RealSense,推荐使用 Ubuntu 20.04 或更高版本,以获得更好的兼容性和稳定性。
如有更多问题,欢迎继续提问!