This is the website of an IT geek, technologist, freelance writer, photographer, musician, rock climber, classic mini enthusiast, iPad and Mac zealot.
You have been warned.

How To Share a Non-Supported USB Device with a Fusion VM

Submitted by daemonchild on Thu, 2010-12-16 - 09:44
daemonchild's picture

I've been looking at monitoring temperatures in and outside my house using a USB based thermometer solution. I found the PCTEMPer devices and bought a few to play with. There are no current Mac OS X drivers that I can get to work with Snow Leopard, so I figured I'd run a VM (FreeBSD) and share the PCTEMPer devices with that. It's not as simple as you'd think because Fusion only allows you to share a small number of devices with the VM. But there is an easy fix to the problem as you'll read below.

When I plug the PCTEMPer device into my MacBook, I can see it as a USB device in System Profiler as shown here:

4247915767_64e2f0a9ff

The problem is that there is no suitable OS X driver for it. So while it has detected the USB device and read the device string data from it, Snow Leopard doesn't actually load anything to support this hardware. This means that Fusion doesn't see it as a valid USB device to share with the VM. If Max OS doesn't know what the device is then Fusion can't share it with a VM. Which is a shame, as the VM knows exactly what to do with this device. The following shows how Fusion can't see the device in it's USB list.

4248702492_d6eb5319f6

The trick is to allow the VM to see generic USB devices. Edit the .vmx file for the VM and add:


usb.generic.allowHID = "TRUE"

Then, you must disable the "Automatically Connect USB Devices" option because it will cause you nightmares as Apple keyboards, mighty-mice and so on get plugged and replugged into your VM... Hmm not what we want at all.

Having power-cycled the VM, here is what I get now:

4249454962_e608fd2ccc

And to prove it works, here is a dmesg from the freebsd VM:

4249455526_ca2e692476

Hello