Using USBmicro U401/U421/U451 under Linux

USBmicro LLC make a series of USB interface cards based on the Cypress Semiconductor CY7C63743 Peripheral Controller chip. The U421 interface card is basically just the controller chip programmed with custom firmware, the U451 also has two SPDT relays.

Although USBmicro advertize these devices as having Linux support, the information given is rudimentary - one example program for Linux, cf. a full interface library for Windows Visual Basic.

Here are a couple of working examples (at least on Fedora Core 9) based on the example from the USBmicro website. Note that the standard Linux distro claims the device with the "usbhid" driver, which we don't want to use. So we must detach the kernel driver first before claiming the device. We also need write access to the device, which is best done using "udev" - either making the device world-writable, or setting ownership to the UID running the code (e.g. some daemon).

To make the USBmicrodevices show up in "lsusb", download the latest usb.ids file (in /usr/share/hwdata/ on RedHat). I submitted the vendor and product IDs.

Code and other files