I/O Error with USB passthrough for Fujitsu ScanSnap iX500


jsn0327

Recommended Posts

Hi everyone.  I recently purchased a Fujitsu ScanSnap iX500 Document scanner and I would like to pass it through to a Windows 8.1 Professional VM.  I have successfully passed through other USB devices to this VM, including a Smart Card Reader, and USB Hard Drives in the past.  Although Windows does acknowledge the scanner as being a connected USB device, it is unable to start the device.  In Windows Device Manager, the device has a yellow exclamation mark next to it and an error code 10, which states "The I/O device reported an I/O error."  The ScanSnap Manager icon in the system tray also shows the scanner as not being connected.  I have installed the drivers and all of the software for the scanner onto the VM, so I know that it is not a Windows software issue; as  I also installed the same software to my stand-alone Windows 10 desktop and the scanner connects to it with no issue at all.  I would like to connect the scanner to my Windows 8.1 VM because it runs 24/7.  After running some commands on the unRAID server, I noticed that unRAID does not list a driver for the scanner, although it has a driver listed for all other USB devices that are connected, including the usb ports themselves.  Please see the attached screenshots.  Any advice and/or troubleshooting tips to get this scanner working would be greatly appreciated!  Thanks!

DeviceManager.jpg.da543abe0f3f5e81df33d6f204e38992.jpg

VM_XML.png.cfccdf7acd3541155de953e12c032f93.png

lsusb.png.202456f31136346e515641a14e0f49e4.png

usb-devices.jpg.3aa3263542dea1ede03ad41a8d9ef44e.jpg

Link to comment

Have you tried passing through an entire controller rather than just the device? I had weird issues like this (with other devices) when i previously tried to pass through individual things.

 

Bought a dedicated usb card for my windows VM and pass that through instead. Now i can plug in devices on the fly the same way i would on a normal PC and everything 'just works'.

if other troubleshooting goes nowhere, id say this is the next thing on the list to try.

Link to comment

You've used a slightly different addition to your XML than i have... I used this guide: https://lime-technology.com/forum/index.php?topic=38259.0

 

in my case, my USB controller is listed as this in my 'System Deivces':

60:00.0 USB controller: VIA Technologies, Inc. Device 3483 (rev 01)

 

so that translates to:

 <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x60' slot='0x00' function='0x0'/>
      </source>
    </hostdev>

 

Code above will go between <devices> and </devices> tags in your domain XML. There will already be other stuff in there that looks the same, just tag it on at the end before </devices>.

 

Bear in mind that this is an expansion card and not an integrated motherboard USB controller. if you are passing an onboard controller, you'll need to ensure that your USB boot device isnt in a port on that controller.

Link to comment

Thanks a lot jonp and billington.mark!  jonp your method worked right away!  Now my scanner works perfectly with my Windows 8.1 VM with one little exception.... The SnapScan iX500 goes into a sleep mode after 4 hours of inactivity; or if you close the top cover.  When it goes into sleep mode, the USB disconnects and does not reconnect until i stop and restart the VM.  I am guessing that the only way to disconnect and reconnect a USB device while the VM is running is to pass through the whole controller?  jonp, is there any way to do it with your method?  Thanks again for both of your help.  I went ahead and ordered a USB 3.0 PCIe controller today before I saw jonp's reply, so if I can't do it without passing the whole controller, then I have one on the way.  :D

Link to comment

Id have thought this issue will be a little more complicated to fix than just adding something into the xml...

sounds like unraid or libvirt isnt keeping hold of the assigned device when its disconnected. then only grabs it again once you start up the VM.

 

is there a way to disable the scanner going to 'sleep'? Id have thought not, but its worth a quick look!

 

passing through an entire controller would resolve this as the sleep\disconnect would only be reported to the VMs OS and not get as far back as libvirt\unraid.

 

 

Link to comment

Id have thought this issue will be a little more complicated to fix than just adding something into the xml...

sounds like unraid or libvirt isnt keeping hold of the assigned device when its disconnected. then only grabs it again once you start up the VM.

 

is there a way to disable the scanner going to 'sleep'? Id have thought not, but its worth a quick look!

 

passing through an entire controller would resolve this as the sleep\disconnect would only be reported to the VMs OS and not get as far back as libvirt\unraid.

You can set the scanner to not sleep, but I won't use the scanner on a daily basis, so I'd rather let it sleep and extend the life of it. I received my USB 3.0 PCIe card and installed it. After modifying the XML of my Windows 8.1 VM and trying to start it,  I receive an error stating that my host does not support PCI pass-through. After researching the processor in my server (AND Turion II) I discovered that my processor does support AMD-V for virtualization,  but not AMD-Vi, which is needed for PCI pass-through.

 

Is there a way to make the USB port hot pluggable without passing through the whole PCI card? Perhaps I can still pass-through the on-board USB controller without AMD-Vi? Thanks a lot for your help!

Link to comment

Can you connect the scanner via WiFi? I find it quite liberating to just plug in power and scan some documents away from the computer.

Thanks a lot for the recommendation. I may end up going that route. Unfortunately, in order to scan wirelessly, the scan has to be initiated by the desktop. I was hoping to have the ability to quickly scan documents by pressing the scan button on the front of the scanner and sorting the files later without having to turn my desktop on (since my VM is always running), but that may not be possible without PCI pass-through, or leaving the scanner on all of the time.

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.