联网

联网

我尝试将 iPod Touch 与 macOS Catalina 客户机和 Ubuntu MATE 20.04 客户机连接,但无法正常工作。主机似乎夺回了访问权限。有时我会收到“设备正在被另一个应用程序使用”错误。VirtualBox 也遇到了同样的问题。

虽然我几乎没有在各种设备上进行测试,但其他设备都能正常重定向,包括 Android 智能手机和我的鼠标(哎哟!)。所以这可能是 Apple 独有的问题。

我不知道它从哪里来的,但hostdev在 XML 中添加一个 iPod 供应商和产品 ID 的块并没有解决这个问题,也没有禁用 usbmuxd或者移除libimobiledevice-utils(该页面上的其他答案有点用,但处于恢复模式并没有太大帮助,我不得不使用 idevicerestore 来修复它)。此评论

我现在几乎没有什么主意,一路上也犯了不少错误。但肯定有人在尝试从 Ubuntu 机器开发 iOS 应用程序并在真正的移动硬件上运行它们,对吧?

更新:
lsusb然后 执行操作sudo fuser /dev/bus/usb/[bus]/[device]会显示gvfsd-gphoto2正在使用该设备。我可以终止该操作并开始将 iPod 连接到 VM,但它仍然会断开连接。

更新 2:
今天又发现了一些不太明显的链接。这个问题表明这可能只在较新的 Apple 设备上才会出现,并且这个让我想到安装一个 USB 扩展 PCI 卡来进行直通(尽管我宁愿避免购买)。

更新 3:
我相信我可以使用以下 XML(来自的 ID lsusb)将整个 USB 集线器发送到 VM,但这样做的最终结果是主机和客户机都看不到插入集线器的任何外围设备。

<hostdev mode="subsystem" type="usb" managed="no">
  <source startupPolicy="optional">
    <vendor id="0xXXXX"/>
    <product id="0xXXXX"/>
    <address bus="X" device="X"/>
  </source>
  <address type="usb" bus="0" port="4"/>
</hostdev>

更新 4:
我购买了带有几个 USB 端口的 PCI-e 卡,用于路由到客户机。虽然我犯了一个错误,买到了与 macOS 不太兼容的卡,但它显示在 PCI 设备列表中这家伙。列表中什么也没有显示,即使 VM 启动后主机失去了对卡的访问权限。我猜这是一个单独的问题,但我只是想说,对于我自己来说,解决这个问题似乎不是一件容易的事(但不是免费的)。

更新 5: 我尝试通过 USB Network Gate 将 iPod 从主机共享给来宾。这只是免费试用,但来宾可以识别该设备。你知道吗,我会接受它。

更新 6:
也许要谨慎使用该软件。主机系统勉强经受住了重启,USB Network Gate 不再工作。问题包括只读文件系统(编辑:这是我的错,与此无关)和 DNS 解析问题。

更新 7:
哎呀,我猜网络又不能用了。把 USB Wi-Fi 适配器传递给虚拟机怎么样?不,那太简单了。试了几个,但它们的驱动程序与 Catalina 不兼容。

更新 8:
我尝试使用 FlexiHub 而不是 USB Network Gate,但它只是说我的免费试用期已过期,可能是因为我正在使用虚拟机。所以这没用,但无论如何我现在又回到了 USB Network Gate。我的网络也有点工作了。USB 也有点工作了。这一切都很黑客化,但根据您的需要,这可能是合适的。我会写一个我自己问题的答案,但如果有人找到了真正的解决方案而不是一系列黑客攻击,他们应该得到赞扬。

答案1

联网

我通过将手机绑定到虚拟机解决了网络问题。对于 Android:

  1. 安装此版本的 HoRNDIS(最新官方版本无法安装在 Catalina 上)。
  2. 插入您的手机并启用网络共享(设置->网络和 Internet->热点和网络共享)。
  3. 为手机启用 USB 重定向(如果在步骤 2 之前执行此操作,它将断开连接)。

iOS 设备 USB

虚拟机必须能够访问您的本地网络。

  1. 安装跨平台 USB 网络解决方案,例如USB 网络门在主机和客户机上均可使用。这个仅提供免费试用,但我看过的其他版本存在诸如缺乏 Catalina 兼容性等问题。
  2. 在主机上打开它并转发你的iOS设备连接的端口。
  3. 在客户机上打开它并连接到设备。如果找不到它,请点击左下角的“添加服务器”按钮并输入主机的 IP 地址。
  4. 或者,如果您将设备用于开发目的,请在 Xcode 中选中设备的“通过网络连接”框,这样您就可以在 USB Network Gate 免费试用期结束后继续进行开发,而无需 USB 电缆。

相关内容