Canon scanner not working in Linux - will it work in VMware?

Q I have a Canon professional scanner that will not work with Linux. If I installed Windows in a virtual machine so I can run Windows in Linux, would the scanner be able to run in the VM Windows or does USB control not work in that way?

A You don't say which virtual machine software you are using, but this is certainly possible in VMware Workstation and with VirtualBox, though the two apps use very different methods. In VMware Workstation, go to VM > Settings > Hardware > USB Controller and tick the box to 'Automatically Connect USB Devices To This Virtual Machine When It Has Focus' If you then connect (or power up) the scanner while the Windows virtual machine is running and has focus, the scanner will be attached to the Windows guest OS instead of the Linux host. If you don't want to use this auto-connection, or if your scanner is connected and powered up before you boot the Windows virtual machine, you can manually connect it to the virtual machine at any time. Go to VM > Removable Devices > USB Devices, where you will see a list of attached devices - select your scanner. If you are using a version of VMware Workstation older than V6, you may need to disconnect the device from Linux first by unloading the module before it is available to VMware. The later versions are able to force the host OS to relinquish control of hotplugged devices. This was needed with mass storage devices, where you had to do

rmmod usb-storage

before the device could be seen by the guest OS. The procedure with VirtualBox is different: instead of giving it the power to take control of any newly connected USB device, you need to tell it about each device you want the virtual machine to see. Go into the USB section of the settings window for your VM and make sure that 'Enable USB Controller' and 'Enable USB EHCI USB 2.0). Then click on the Add button to the right of the USB Device Filters list and select your scanner from the list that pops up. Click on OK and start the virtual machine and it should detect your scanner.

Instead of adding each device individually, you can leave some or all fields blank to match a range of devices. If you use Gentoo, you will need to install the virtualbox-bin package for USB support, as the app-emulation/virtualbox package - the one that installs from the Gentoo source code - doesn't handle USB on virtual machines. Once you've made the scanner available to your virtual machine, you will need to install drivers. Even if the device is supported in Linux, it now has a direct connection to the virtual machine, so the presence or otherwise of Linux drivers has no effect. The first time you connect the device, Windows should pop up the usual 'found new hardware' message and take you through the driver installation process, so I hope you haven't lost the Windows driver disc that came with the device, as I usually do.

Back to the list