Jump to content

USB passthrough?


ElJimador

Recommended Posts

Just a general question:  is passthru of USB devices supposed to be limited to input devices only (keyboard, mouse, IR, etc)?  Because so far I've had zero luck passing through any USB hard drive or optical drive and I really need both to be able to get the full desktop experience I was hoping for.  They are available to select as USB devices in the template but when the vm starts there's no sign of them (have tried both Win8.1 and Ubuntu, w/graphics passthrough and VNC).  Thanks.

Link to comment

I have passed through a USB hard drive but I pass through USB devices differently. I give the VM access to an entire USB controller which is nice because then the USB devices are plug n play. I wrote up a guide if you're interested

http://lime-technology.com/forum/index.php?topic=36768.0

 

Thanks!  I was wondering if passing through a PCI USB controller would work better.  Can you tell me any particular controllers work for this?  My experience with graphics cards so far (only 1 of 3 work at all and that one only at low res in Win8.1 because the drivers won't install) has me a little sheepish about buying any more hardware that I don't know is actually going to work. 

Link to comment

Actually, disregard that question.  I just remembered that both PCIe slots on my board are already claimed by graphics card and SATA controller (and USB3 at PCI speed seems pretty pointless to me).  Oh well.

 

I think you are mistaken, I did not purchase an extra USB pci-e card for my computers. My MOBO has 3 separate built into USB controllers. Meaning that 4 of my USB's slots on my motherboard are apart of controller 1, 4 are part of controller 2, and 4 are part of controller 3. My unRAID flash drive is on controller 2 so I do NOT pass that one through. I do pass through the 4  USB slots on controller 1 to my Win 8 VM and I pass through the remaining 4 on controller 3 to my Mac VM. No add on cards needed  ;D

Link to comment

I think you are mistaken, I did not purchase an extra USB pci-e card for my computers. My MOBO has 3 separate built into USB controllers. Meaning that 4 of my USB's slots on my motherboard are apart of controller 1, 4 are part of controller 2, and 4 are part of controller 3. My unRAID flash drive is on controller 2 so I do NOT pass that one through. I do pass through the 4  USB slots on controller 1 to my Win 8 VM and I pass through the remaining 4 on controller 3 to my Mac VM. No add on cards needed  ;D

 

Thanks for the clarification.  I should have actually read through the thread you linked first before jumping to any conclusions.  I'll give your method a shot and let you know how it works out.  Really appreciate the help on this. 

Link to comment

I have passed through a USB hard drive but I pass through USB devices differently. I give the VM access to an entire USB controller which is nice because then the USB devices are plug n play. I wrote up a guide if you're interested

http://lime-technology.com/forum/index.php?topic=36768.0

 

Okay, I followed the guide (which is terrific btw) and unfortunately every single USB slot is reading as Bus 001 even though the lspci command shows 3 USB controllers.  I saw in the guide thread that another poster ran into the same problem so maybe I'll pm him and see if he ever found a solution. 

 

Meantime, what about using a PCI USB controller for the unRAID flash drive and passing through Bus 001 to the Windows VM?  Can unRAID be run off a PCI USB card?  If it can, passing through all other USB controllers to Windows would actually make the most sense. 

Link to comment

I have passed through a USB hard drive but I pass through USB devices differently. I give the VM access to an entire USB controller which is nice because then the USB devices are plug n play. I wrote up a guide if you're interested

http://lime-technology.com/forum/index.php?topic=36768.0

 

Okay, I followed the guide (which is terrific btw) and unfortunately every single USB slot is reading as Bus 001 even though the lspci command shows 3 USB controllers.  I saw in the guide thread that another poster ran into the same problem so maybe I'll pm him and see if he ever found a solution. 

 

Meantime, what about using a PCI USB controller for the unRAID flash drive and passing through Bus 001 to the Windows VM?  Can unRAID be run off a PCI USB card?  If it can, passing through all other USB controllers to Windows would actually make the most sense.

 

Ok, there is actually something else you can try to coax your motherboard to cooperating with you.  I have a similar setup to arch here, but had to tweak my USB settings in the BIOS to get there.  This involves some time, testing, and a little bit of patience ;-).  First, I would recommend setting your array to NOT auto-start before commencing.  You can do this from the Disk Settings page in the webGui.

 

Ok, now you'll need to reboot and enter the BIOS settings.  This is where things will be a little tricky, as different mobos have different options for this.  On mine, I had to locate the XHCI/EHCI handoff settings and tweak those until I found a combination where the unRAID flash device is on a different USB controller as presented by lspci.  The way to test?  vfio-bind 0000:##:##.# from command line, then try to navigate to /boot.  If going there and doing an "ls" reveals nothing, it means that you passed through the controller attached to that device.

 

I know this isn't a "step by step" guide, which is why I don't have on published yet.  Truth is that each system's capability to do this is motherboard dependent, and the setting for this may be hidden/obscure to find.  If what I gave you was enough to go off of, you'll have success after a few different configuration attempts / boots.  If not, then it's proof that doing this is still a little less than intuitive and I need to dedicate some time to a video guide on the subject...

Link to comment

Ok, there is actually something else you can try to coax your motherboard to cooperating with you.  I have a similar setup to arch here, but had to tweak my USB settings in the BIOS to get there.  This involves some time, testing, and a little bit of patience ;-).  First, I would recommend setting your array to NOT auto-start before commencing.  You can do this from the Disk Settings page in the webGui.

 

Ok, now you'll need to reboot and enter the BIOS settings.  This is where things will be a little tricky, as different mobos have different options for this.  On mine, I had to locate the XHCI/EHCI handoff settings and tweak those until I found a combination where the unRAID flash device is on a different USB controller as presented by lspci.  The way to test?  vfio-bind 0000:##:##.# from command line, then try to navigate to /boot.  If going there and doing an "ls" reveals nothing, it means that you passed through the controller attached to that device.

 

I know this isn't a "step by step" guide, which is why I don't have on published yet.  Truth is that each system's capability to do this is motherboard dependent, and the setting for this may be hidden/obscure to find.  If what I gave you was enough to go off of, you'll have success after a few different configuration attempts / boots.  If not, then it's proof that doing this is still a little less than intuitive and I need to dedicate some time to a video guide on the subject...

 

Thanks Jon.  I'll give that a try tomorrow and let you know how it goes.  I would still be curious though what you think about running the unRAID flash off a PCI USB card and then following archedraft's method to passthrough all the motherboard's USB controllers to the VM?  I've never used a PCI USB card before but SATA controllers register pre-boot and if the same is true of a USB card then you should be able to use one of those for a boot drive as well, yes? 

Link to comment

Ok, there is actually something else you can try to coax your motherboard to cooperating with you.  I have a similar setup to arch here, but had to tweak my USB settings in the BIOS to get there.  This involves some time, testing, and a little bit of patience ;-).  First, I would recommend setting your array to NOT auto-start before commencing.  You can do this from the Disk Settings page in the webGui.

 

Ok, now you'll need to reboot and enter the BIOS settings.  This is where things will be a little tricky, as different mobos have different options for this.  On mine, I had to locate the XHCI/EHCI handoff settings and tweak those until I found a combination where the unRAID flash device is on a different USB controller as presented by lspci.  The way to test?  vfio-bind 0000:##:##.# from command line, then try to navigate to /boot.  If going there and doing an "ls" reveals nothing, it means that you passed through the controller attached to that device.

 

I know this isn't a "step by step" guide, which is why I don't have on published yet.  Truth is that each system's capability to do this is motherboard dependent, and the setting for this may be hidden/obscure to find.  If what I gave you was enough to go off of, you'll have success after a few different configuration attempts / boots.  If not, then it's proof that doing this is still a little less than intuitive and I need to dedicate some time to a video guide on the subject...

 

Thanks Jon.  I'll give that a try tomorrow and let you know how it goes.  I would still be curious though what you think about running the unRAID flash off a PCI USB card and then following archedraft's method to passthrough all the motherboard's USB controllers to the VM?  I've never used a PCI USB card before but SATA controllers register pre-boot and if the same is true of a USB card then you should be able to use one of those for a boot drive as well, yes?

 

Oh yes, absolutely.  That should be no problem at all.  In fact, if you can get a USB controller that has an internal port, that'd be even better to eliminate the physical exposure of the flash device (outside the case).

Link to comment

Oh yes, absolutely.  That should be no problem at all.  In fact, if you can get a USB controller that has an internal port, that'd be even better to eliminate the physical exposure of the flash device (outside the case).

 

Exactly what I was thinking.  Just ordered this one -- http://www.newegg.com/Product/Product.aspx?Item=N82E16815124047 -- with just that idea to put the unRAID flash on the internal port.  (I know I said I didn't want to buy more hardware not knowing for sure if it would work but for $9 it's hard to go wrong.)

Link to comment

Oh yes, absolutely.  That should be no problem at all.  In fact, if you can get a USB controller that has an internal port, that'd be even better to eliminate the physical exposure of the flash device (outside the case).

 

Exactly what I was thinking.  Just ordered this one -- http://www.newegg.com/Product/Product.aspx?Item=N82E16815124047 -- with just that idea to put the unRAID flash on the internal port.  (I know I said I didn't want to buy more hardware not knowing for sure if it would work but for $9 it's hard to go wrong.)

Couldn't agree more!  Let us know how it goes!!

Link to comment

Couldn't agree more!  Let us know how it goes!!

 

Hi Jon.  Unfortunately this didn't work with the controller I bought (this one -- http://www.newegg.com/Product/Product.aspx?Item=N82E16815124047 ).  First boot after install I left the unRAID flash where it was on one of the motherboard ports and had mouse and keyboard plugged into the controller, and that worked fine as expected.  Powering down and attaching the unRAID flash on the controller though it would only boot into BIOS where the flash was no longer there to be selected as a boot device.  Maybe it would have worked with a different card but I'm not inclined to buy another one myself unless I know for sure it's going to work.  (This one wasn't even $10 so I don't mind however I don't really want to spend any more on trial and error).

 

So I'll try the steps in BIOS you recommended and let you know how that goes instead.

Link to comment

Couldn't agree more!  Let us know how it goes!!

 

Hi Jon.  Unfortunately this didn't work with the controller I bought (this one -- http://www.newegg.com/Product/Product.aspx?Item=N82E16815124047 ).  First boot after install I left the unRAID flash where it was on one of the motherboard ports and had mouse and keyboard plugged into the controller, and that worked fine as expected.  Powering down and attaching the unRAID flash on the controller though it would only boot into BIOS where the flash was no longer there to be selected as a boot device.  Maybe it would have worked with a different card but I'm not inclined to buy another one myself unless I know for sure it's going to work.  (This one wasn't even $10 so I don't mind however I don't really want to spend any more on trial and error).

 

So I'll try the steps in BIOS you recommended and let you know how that goes instead.

Well why not pass through the controller you bought, leaving the motherboard controller for unraid flash device?

Link to comment

Couldn't agree more!  Let us know how it goes!!

 

Hi Jon.  Unfortunately this didn't work with the controller I bought (this one -- http://www.newegg.com/Product/Product.aspx?Item=N82E16815124047 ).  First boot after install I left the unRAID flash where it was on one of the motherboard ports and had mouse and keyboard plugged into the controller, and that worked fine as expected.  Powering down and attaching the unRAID flash on the controller though it would only boot into BIOS where the flash was no longer there to be selected as a boot device.  Maybe it would have worked with a different card but I'm not inclined to buy another one myself unless I know for sure it's going to work.  (This one wasn't even $10 so I don't mind however I don't really want to spend any more on trial and error).

 

So I'll try the steps in BIOS you recommended and let you know how that goes instead.

Well why not pass through the controller you bought, leaving the motherboard controller for unraid flash device?

 

Sure I could do that.  What I really want the Windows guest to have though are USB3 ports (to rip from my USB bluray drive and occasionally read or write to an external hard drive).  USB2 for those tasks would be a downgrade from my current desktop experience and unfortunately I didn't have any PCIe slots available for a USB3 card or I would have bought one of those instead (PCI USB3 cards are limited to PCI bus speed and are a lot more expensive besides).  Any other USB device I'd want to pass through to the Windows guest (mouse/keyboard and IR receivers) I already could just by assigning those individually through the VM tool.

 

I'll let you know how the BIOS steps you recommended work out when I get a chance to try those later this week.

Link to comment

Well it really comes down to bitrate. What rate can your blu ray player rip media at?

 

It's a 14x drive.  I don't know how that's supposed to translate exactly vs. USB speeds.  I just know that my laptop has a flaky USB3 controller and I can always tell when it's decided to operate at USB2 speeds instead because ripping and burning both become noticeably slower (If I'm paying attention instead of multi-tasking I'll be able to tell even before I get the annoying "this device can operate faster" message as if I'm not already plugged into a USB3 port).

 

I'll keep an open mind and give it a shot on the Windows VM.  I'll be happier though if your BIOS method works and I'm able to pass through USB3 ports instead.

Link to comment

Well it really comes down to bitrate. What rate can your blu ray player rip media at?

 

It's a 14x drive.  I don't know how that's supposed to translate exactly vs. USB speeds.  I just know that my laptop has a flaky USB3 controller and I can always tell when it's decided to operate at USB2 speeds instead because ripping and burning both become noticeably slower (If I'm paying attention instead of multi-tasking I'll be able to tell even before I get the annoying "this device can operate faster" message as if I'm not already plugged into a USB3 port).

 

I'll keep an open mind and give it a shot on the Windows VM.  I'll be happier though if your BIOS method works and I'm able to pass through USB3 ports instead.

usb 2 can go up to 480mbps.  From blu-ray.com:

 

According to the Blu-ray Disc specification, 1x speed is defined as 36Mbps. However, as BD-ROM movies will require a 54Mbps data transfer rate the minimum speed we're expecting to see is 2x (72Mbps). Blu-ray also has the potential for much higher speeds, as a result of the larger numerical aperture (NA) adopted by Blu-ray Disc. The large NA value effectively means that Blu-ray will require less recording power and lower disc rotation speed than DVD and HD-DVD to achieve the same data transfer rate. While the media itself limited the recording speed in the past, the only limiting factor for Blu-ray is the capacity of the hardware. If we assume a maximum disc rotation speed of 10,000 RPM, then 12x at the outer diameter should be possible (about 400Mbps). This is why the Blu-ray Disc Association (BDA) already has plans to raise the speed to 8x (288Mbps) or more in the future.

 

Usb 2 shouldn't be a problem for what you are doing. Especially if you're passing through an entire controller dedicated to a single VM with the sole purpose of attached this one blu ray USB device.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...