flirc

I've been working on setting up a gaming/htpc computer using Xen (Debian Wheezy). VGA passthrough works, however, after much head banging, I gave up trying to pass through the USB ports and (lucky for me) found Virtualhere! I have been successfully using Virtualhere to share a Logitech remote keyboard and a Microsoft Xbox 360 wireless adapter without a problem between the Xen server (dom0) and the Windows 7 guest without any issues.

After having this much success, I got bold and ordered a FLIRC USB device from http://flirc.tv to use as a remote control receiver and plugged it in. The Windows guest saw the device and I was able to install the device driver, however, the flirc software utility (to program the remote) is indicating that the device is not available. Subsequently, I tried this device on another Windows 7 machine and it is working as it should be, so I'm reasonably sure that it's not the device itself.

Here's some relevant system information:

>lsusb -v


Bus 001 Device 019: ID 20a0:0001 Clay Logic
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x20a0 Clay Logic
idProduct 0x0001
bcdDevice 1.00
iManufacturer 1 flirc.tv
iProduct 2 flirc
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 50
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.01
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 41
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 50
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 50
Device Status: 0x0000
(Bus Powered)

/var/log/messages


3298.151458] usb 1-12: new low-speed USB device number 19 using xhci_hcd
[ 3298.174533] usb 1-12: New USB device found, idVendor=20a0, idProduct=0001
[ 3298.174535] usb 1-12: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3298.174536] usb 1-12: Product: flirc
[ 3298.174536] usb 1-12: Manufacturer: flirc.tv
[ 3298.435590] usb 1-12: reset low-speed USB device number 19 using xhci_hcd
[ 3298.461836] usb 1-12: ep 0x81 - rounding interval to 256 microframes, ep desc says 400 microframes
[ 3298.461839] usb 1-12: ep 0x83 - rounding interval to 256 microframes, ep desc says 400 microframes

>ps aux|grep vh

root 3336 0.0 0.3 220764 3332 ? Sl Mar25 0:29 /opt/virtualhere/vhusbdw64

I have stopped and started the daemon several times just in case it needed a kick, but it didn't help or change anything. I looked through the forum for clues but didn't see anything that might help me. Any ideas?

#2

If possible, could you cross post this on the flirc forums. I took a look at the flirc website to see if could download their client source (it says open source) however i was unable to find it, and hence i dont know why it doesnt detect the device. It might expecting the device to be attached to a particular microsoft host controller and traverse that to find the device rather than a virtual host controller.

If you could post the question in the flirc forums asking how it detects the flirc i may be able to modify the virutalhere driver to enable the detection to work.

The flirc is just appearing as a USB keyboard so it will work with virtualhere if we can get the detection working..

First, let me thank you for the extremely prompt response.

I found some time to do some further troubleshooting. I moved the flirc device to the windows 7 machine that worked previously and ran the setup software from that PC and programmed the remote successfully. I then removed the flirc and inserted it back into the Xen server and it is working 100%.

Conclusion: The flirc device programming software didn't work correctly on my windows guest.

I would be happy to contact the author of the flirc software if you're still interested but this is NOT an issue with Virtualhere. Please accept my apologies for wasting your time. Perhaps this will help someone else in the future and provide clarification that Virtualware does work with the flirc device 100% (at least with my setup). You've written some very cool software.

Thanks again!