corpnewt / USBMap

Python script for mapping USB ports in macOS and creating a custom injector kext.
MIT License
1.03k stars 88 forks source link

Should this be run on a macOS guest VM or only on a macOS host? #33

Open curiousercreative opened 2 years ago

curiousercreative commented 2 years ago

I've arrived here in trying to get wake from USB working for my QEMU macOS KVM running on an Ubuntu host. After attempting port discovery nicknaming, the program crashes when attempting to nickname 2 of the 4 ports:

Traceback (most recent call last):
  File "./USBMap.py", line 1379, in <module>
    u.main()
  File "./USBMap.py", line 1366, in main
    self.discover_ports()
  File "./USBMap.py", line 776, in discover_ports
    self.get_name(last_list)
  File "./USBMap.py", line 789, in get_name
    assert c in self.merged_list # Verify the controller is there
AssertionError

host: HP Z840 Pop!_OS 21.04 guest: macOS 11.6 QEMU 5.2.0

This is the USB PCIe card and here is relevant lspci -vn output from host (there's four of these in separate IOMMU groups):

8b:00.0 0c03: 1b73:1100 (rev 10) (prog-if 30 [XHCI])
        Subsystem: 16b8:6e31
        Flags: bus master, fast devsel, latency 0, IRQ 99, NUMA node 1, IOMMU group 110
        Memory at f8300000 (64-bit, non-prefetchable) [size=64K]
        Memory at f8310000 (64-bit, non-prefetchable) [size=4K]
        Memory at f8311000 (64-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable+ Count=1/8 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [b0] MSI-X: Enable- Count=8 Masked-
        Capabilities: [100] Advanced Error Reporting
        Kernel driver in use: vfio-pci
        Kernel modules: xhci_pci