[argyllcms] Re: Spyder

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Sat, 13 Oct 2007 01:33:21 +1000

Stefan Döhla wrote:
I recently posted some of my findings on my blog at
http://colorhacks.blogspot.com/ - basically I discovered mcalib which
seems to be using libusb for driving the Huey. I haven't tested it -
although I have a Huey at home now.

What platform ? Although libusb is capable of driving the Huey,
there are complications due to it being labelled an HID device.
On MSWindows you can install the libusb-win32 driver for it,
and it works without trouble. On OS X, the HID driver grabs it,
and a codeless kext is (presumably) needed to stop it grabbing it,
and letting libusb drive it. On Linux, the HID driver grabs it as
well, stopping libusb using it.

Since this may well be the wave of the future (since it avoids
having to install a driver on MSWindows, something that's
become increasingly burdensome with Microsoft's decision to
start locking people out of their own systems by only
loading drivers that they sign), I've bitten the bullet
and added an HID driver module. On OS X this avoids
needing to install a kext for the Huey. On MS Windows it avoids
having to install the libusb-win32 driver for the Huey.

On Linux, I'm out of luck, since (unlike MSWindows and OS X),
the HID driver doesn't seem to permit the application code to
compose HID messages itself, and this is what the Huey requires
(not to mention hotplug/udev permission hell, all over again!).
I'm even more out of luck in that on my Linux system
at least, calling usb_detach_kernel_driver_np() to kick
the HID driver off the device, so libusb can access it,
appears to succeed, but then trying to send
control messages results in a ENOENT error !
And of course, the HID driver seems to be compiled
into the kernel, so I can't even disable it to see
if libusb will work!

So right now, unless I can figure out what's causing the
ENOENT error, it doesn't look like the Huey is going
to work on Linux at all.

Graeme Gill.

Other related posts: