gpt4 book ai didi

iphone - 如何让 Qemu USB Passthrough 为 iPad/iPhone 工作?

转载 作者:行者123 更新时间:2023-12-04 11:34:13 24 4
gpt4 key购买 nike

我正在尝试设置 Mac OS 虚拟机来进行 iPad 开发。主机系统是 Ubuntu 18.04,我使用的是 Ubuntu 存储库中的 qemu 软件包。

我已经使用 these instructions 启动并运行了一个 Mojave VM ,并在启动 VM 的脚本中,我添加了这一行:

  -device usb-host,vendorid=0x05ac,productid=0x12ab \

据 lsusb 称,有问题的设备是 iPad Air 2 和 iPad Mini 4,它们似乎共享相同的产品 ID。

问题是:当我启动到我的 Mojave VM 时,当我插入 iPad 时,我看到它出现在 ioreg -p IOUSB 中。几秒钟,然后消失。其他设备(我试过 USB LTE 调制解调器和 USB RS232 接口(interface))不这样做;它似乎特定于 iDevices。

在主机端,我看到设备似乎在循环连接和断开连接。这是我在 dmesg -w 中看到的:
[  483.734771] usb 1-2.4.1: new high-speed USB device number 39 using xhci_hcd
[ 483.849408] usb 1-2.4.1: New USB device found, idVendor=05ac, idProduct=12ab
[ 483.849416] usb 1-2.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 483.849420] usb 1-2.4.1: Product: iPad
[ 483.849425] usb 1-2.4.1: Manufacturer: Apple Inc.
[ 483.849435] usb 1-2.4.1: SerialNumber: <xxx>
[ 484.543671] usb 2-2.1.4.1.3.3: reset SuperSpeed USB device number 9 using xhci_hcd
[ 488.616849] usb 1-2.4.1: reset high-speed USB device number 39 using xhci_hcd
[ 488.732805] usb 1-2.4.1: device firmware changed
[ 488.733301] usb 1-2.4.1: USB disconnect, device number 39
[ 488.824694] usb 1-2.4.1: new high-speed USB device number 40 using xhci_hcd
[ 488.938611] usb 1-2.4.1: New USB device found, idVendor=05ac, idProduct=12ab
[ 488.938613] usb 1-2.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 488.938614] usb 1-2.4.1: Product: iPad
[ 488.938615] usb 1-2.4.1: Manufacturer: Apple Inc.
[ 488.938616] usb 1-2.4.1: SerialNumber: <xxx>
[ 490.961709] usb 1-2.4.1: reset high-speed USB device number 40 using xhci_hcd
[ 491.076908] usb 1-2.4.1: usbfs: process 2557 (gvfs-gphoto2-vo) did not claim interface 0 before use
[ 494.579362] usb 2-2.1.4.1.3.3: reset SuperSpeed USB device number 9 using xhci_hcd
[ 531.110536] usb 1-2.4.1: USB disconnect, device number 40
[ 533.905116] usb 1-2.4.1: new high-speed USB device number 41 using xhci_hcd
[ 534.019231] usb 1-2.4.1: New USB device found, idVendor=05ac, idProduct=12ab
[ 534.019237] usb 1-2.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 534.019241] usb 1-2.4.1: Product: iPad
[ 534.019244] usb 1-2.4.1: Manufacturer: Apple Inc.
[ 534.019247] usb 1-2.4.1: SerialNumber: <xxx>
[ 534.602098] usb 1-2.1.4.4: USB disconnect, device number 17

请注意,以上内容并不是我在物理上进行连接和断开连接——某些事情是自行完成的。另外值得注意的是,如果我的 VM 没有运行(或者如果我删除了设置 USB 直通的线路),我不会得到这个连接/断开循环

我尝试过的东西

我一直在假设这是主机(可能是 udevd)正在做的事情,这会阻止 qemu(好吧,我认为是 libusb)能够保持设备。为此,我一直在经历并禁用任何看起来可能受到牵连的 udev 规则。具体来说,我创建了指向 /dev/null 的符号链接(symbolic link)。对于以下 udev 文件:
  • /etc/udev/rules.d/39-usbmuxd.rules
  • /etc/udev/rules.d/60-libgphoto2-6.rules
  • /etc/udev/rules.d/90-libgpod.rules

  • 我还尝试禁用 gphoto2 服务,如下所示:
    systemctl --user stop gvfs-gphoto2-volume-monitor.service

    尽管有所有这些事情,但行为本质上是相同的。同样值得注意的是:即使禁用了所有这些东西,当我连接 iPad 时,内核仍然以某种方式检测 iPad,并将它的序列号等记录到系统日志中,我已经达到了如何禁用 Linux 上的知识的极限!

    如何让我的 iPad 出现(并留在)我的 qemu 虚拟机中?

    最佳答案

    需要在/dev/bus/usb/[bus]/[device]中chown总线和设备对应的文件也可以添加 id=iphone但最主要的是改变所有权。

    关于iphone - 如何让 Qemu USB Passthrough 为 iPad/iPhone 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52617634/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com