Jump to content

USB Passthrough and my Bad Mojo


Recommended Posts

I'm so tantalizingly close to being able to put my unraid server back down in the basement where it belongs..  If only I could get a working USB solution for my two (1x Win7, 1x Mac OS X) VMs!

 

I posted last week here http://lime-technology.com/forum/index.php?topic=43816.msg441303#msg441303 asking for any advice on my Mac-side USB problems, that are almost certainly a driver issue inside the VM.  In the meantime, I bought the bullet and purchased an advertised Mac-compatible PCIe card, and it looked like it had solved all my problems..  Oh boy was I wrong!

 

The card, an Orinoco 4-port Fresco Logic based card, passes through and works properly on the Mac side.  But when I restart the Mac VM from inside the VM, the whole server locks up.  Like, hard, refuses telnet connections locks up.

 

If I just shut down the Mac VM, either from inside or doing a force stop from unraid's webui, the server continues to run normally, but I can't start that VM again.  It's unable to pass through the USB card a second time.  And what's weirder, rebooting unraid does NOT allow me to start the VM again either.  I have to actually hard reboot, power down the system and bring it up again cold.

 

Here's some things I saw in my syslog pertaining to the card.  I'm guessing it's just bad firmware, card-won't-work kinda stuff that means I'm out $30 and have to just buy a different one.  But hoping there's something I can try to coax it into working.

 

Feb  8 06:34:48 Behemoth kernel: pci 0000:09:00.0: [1b73:1100] type 00 class 0x0c0330
Feb  8 06:34:48 Behemoth kernel: pci 0000:09:00.0: reg 0x10: [mem 0xfb100000-0xfb10ffff 64bit]
Feb  8 06:34:48 Behemoth kernel: pci 0000:09:00.0: reg 0x18: [mem 0xfb111000-0xfb111fff 64bit]
Feb  8 06:34:48 Behemoth kernel: pci 0000:09:00.0: reg 0x20: [mem 0xfb110000-0xfb110fff 64bit]
Feb  8 06:34:48 Behemoth kernel: pci 0000:09:00.0: supports D1
Feb  8 06:34:48 Behemoth kernel: pci 0000:09:00.0: PME# supported from D0 D1 D3hot

 

So far, so good?

 

Feb  8 06:34:48 Behemoth kernel: dmar: [Firmware Bug]: RMRR entry for device 09:00.0 is broken - applying workaround

 

.....oh, maybe not.  This line makes me think that maybe the card is buggered.

 

Feb  8 06:34:48 Behemoth kernel: IOMMU: Setting identity map for device 0000:09:00.0 [0x36e33000 - 0x36e41fff]
Feb  8 06:34:48 Behemoth kernel: pci 0000:09:00.0: Signaling PME through PCIe PME interrupt
Feb  8 06:34:48 Behemoth kernel: pci-stub 0000:09:00.0: claimed by stub

 

(Yeah, I tried adding it as a pci-stub.id entry in syslinux.cfg to see if that would help.  It didn't.)

 

Now, when shutting down the VM, I spot this little nugget.

 

Feb  8 06:42:50 Behemoth kernel: vfio-pci 0000:09:00.0: timed out waiting for pending transaction; performing function level reset anyway

 

Uh oh!  That doesn't look good.  Trying to restart the VM from this point gives us these lines pertaining to the card.

 

Feb  8 15:44:01 Behemoth kernel: vfio-pci 0000:09:00.0: Refused to change power state, currently in D3
Feb  8 15:44:01 Behemoth kernel: vfio-pci 0000:09:00.0: Refused to change power state, currently in D3
Feb  8 15:44:01 Behemoth kernel: vfio-pci 0000:09:00.0: Refused to change power state, currently in D3
Feb  8 15:44:02 Behemoth kernel: vfio-pci 0000:09:00.0: timed out waiting for pending transaction; performing function level reset anyway
Feb  8 15:44:02 Behemoth kernel: vfio_cap_init: 0000:09:00.0 hiding cap 0xff
Feb  8 15:44:02 Behemoth kernel: vfio_cap_init: 0000:09:00.0 hiding cap 0xff
Feb  8 15:44:02 Behemoth kernel: vfio_cap_init: 0000:09:00.0 hiding cap 0xff
......(repeats 50 more times).......
Feb  8 15:44:02 Behemoth kernel: vfio_cap_init: 0000:09:00.0 hiding cap 0xff
Feb  8 15:44:02 Behemoth kernel: vfio_cap_init: 0000:09:00.0 hiding cap 0xff
Feb  8 15:44:02 Behemoth kernel: vfio_ecap_init: 0000:09:00.0 hiding ecap 0xffff@0x100
Feb  8 15:44:02 Behemoth kernel: vfio_ecap_init: 0000:09:00.0 hiding ecap 0xffff@0xffc
......(same with the ecap bits)......
Feb  8 15:44:02 Behemoth kernel: vfio_ecap_init: 0000:09:00.0 hiding ecap 0xffff@0xffc
Feb  8 15:44:02 Behemoth kernel: vfio_ecap_init: 0000:09:00.0 hiding ecap 0xffff@0xffc
Feb  8 15:44:02 Behemoth kernel: vfio_ecap_init: 0000:09:00.0 hiding ecap 0xffff@0xffc
Feb  8 15:44:02 Behemoth kernel: genirq: Flags mismatch irq 18. 00000000 (vfio-intx(0000:09:00.0)) vs. 00000080 (ehci_hcd:usb1)
Feb  8 15:44:03 Behemoth kernel: vfio-pci 0000:09:00.0: Refused to change power state, currently in D3
Feb  8 15:44:04 Behemoth kernel: vfio-pci 0000:09:00.0: timed out waiting for pending transaction; performing function level reset anyway

 

And then this pops up in unraid.

 

internal error: early end of file from monitor: possible problem:
2016-02-08T20:44:02.800332Z qemu-system-x86_64: -device vfio-pci,host=09:00.0,bus=root.1,addr=00.2: vfio: Error: Failed to setup INTx fd: Device or resource busy
2016-02-08T20:44:02.801472Z qemu-system-x86_64: -device vfio-pci,host=09:00.0,bus=root.1,addr=00.2: Device initialization failed
2016-02-08T20:44:02.801500Z qemu-system-x86_64: -device vfio-pci,host=09:00.0,bus=root.1,addr=00.2: Device 'vfio-pci' could not be initialized

 

Any insights?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...