jAER's Windows USB interfaces use the Thesycon USB Driver development kit, except for some of the earliest driver to the SiLabs C8051F320 mini monitor board (see below).
For libusb-based Windows, Linux and Mac OS X support, scroll down near the end of the page. This support does not require any particular driver to be installed on Linux or MacOS X, while it requires minimal effort on Windows.
The Thesycon drivers work for Windows XP, Windows 7 and Windows 8. The Windows drivers for the DVS128 retina and some of the other USBIO controlled devices are now signed by "iniLabs GmbH" and you should be able to install them on both 32 and 64 bit Windows. For some reason, you may still get a warning about the publisher not being verified, but the drivers are signed and can be installed under Windows 7/8 32/64 bit.
First, make sure to have a checkout of the drivers/ folder, which is not located alongside the jAER project! It can be downloaded with Git from:
https://github.com/inilabs/devices-bin/tree/master/drivers
Windows 7 steps are illustrated here. After you plug in the device, you should get a dialog asking if you want to browse for the driver yourself.
If you don't get this option, open the Device Manager (Run "devmgmt.msc") and select "Update driver" for the unknown device.
The following applies to Windows XP, but Windows Vista/7 are similar.
The basic installation can use our customized .inf driver installation, following these steps.
After you plug in your CypressFX2 or CypressFX2LP based board follow these steps:
1. You will get the Found New Hardware dialog:
2. Tell it to install from a specific location:
3. Navigate to the drivers folder and select the correct folder for your device. e.g. for the silicon retinas, choose the folder drivers\windows\driverDVS_USBAERmini2, select OK, and click Next
(Note that the actual folder name has changed compared with the screenshot shown below). You may need to select the proper 32/64 bit subfolder if the installer cannot search subfolders.
4. The installation should complete appropriately. Here is what happens for a Tmpdiff128 retina:
5. Now the Device Manager should show the device:
This is deprecated, support for SiLabs C8051F320 is available via the Thesycon USBIO driver and is recommended.
Run the SiLabs driver preinstaller to prepare Windows to sucessfully search for the SiLabs USBXPress driver. It is located here:
driverSiLabs\PreInstaller.exe
Now when you plug in the SiLabs device the New Hardware Found dialog should be able to automagically install the correct USBXPress driver.
The USBXPress driver has real limitations: Only a single device can be accessed at one time because it uses a java native interface DLL with a single global namespace and set of static variables.
A new driver based upon libusb and the usb4java wrapper is available that transparently supports all major operating systems: Windows XP/Vista/7/8, Linux and Mac OS X 10.8+, both 32bit x86 and 64bit x86_64 versions. On Linux, ARMv7-hf is also supported (Raspberry Pi, Pandaboard, ...).
On Windows you have to make sure your device is using the WinUSB kernel driver (standard USB driver developed by Microsoft).
The easiest way to do this is by using the zadig utility and following these steps:
0) Plug in your device (retina or cochlea).
1) Download the utility (take care that there is a version for Windows XP and another for more recent Windows OSes) and run it.
2) Enable "Show all devices" under Options.
3) Select your device in the dropdown menu. Make sure it's the correct device!
4) Make sure the WinUSB driver is selected on the right side.
5) Click on "Install Driver" or "Replace Driver". Done!
On Linux it can happen that udev doesn't give your user access to USB devices it doesn't know about, in this case you just need to add an udev rules file and reload udev.
You can reload udev by either issuing the command udevadm control --reload or by rebooting your machine.
While everybody will need the 65-inilabs.rules file, the 66-inilabs_dev.rules file is only needed if you want to develop new device firmware or do major firmware upgrades.
Here an example for distributions like Fedora, which use SELinux tags to grant access:
/etc/udev/rules.d/65-inilabs.rules
# All DVS/DAVIS systems
SUBSYSTEM=="usb", ATTR{idVendor}=="152a", ATTR{idProduct}=="84[0-1]?", TAG+="uaccess"
# eDVS 4337
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6014", TAG+="uaccess"
/etc/udev/rules.d/66-inilabs_dev.rules
# Lattice Programmer cable
SUBSYSTEM=="usb", ATTR{idVendor}=="1134", ATTR{idProduct}=="8001", TAG+="uaccess"
# Blank FX2 devices
SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="8613", TAG+="uaccess"
# Blank FX3 devices
SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="0053", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="00f3", TAG+="uaccess"
And another one for other Linux distributions, which use standard permissions:
/etc/udev/rules.d/65-inilabs.rules
# All DVS/DAVIS systems
SUBSYSTEM=="usb", ATTR{idVendor}=="152a", ATTR{idProduct}=="84[0-1]?", MODE="0666"
# eDVS 4337
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6014", MODE="0666"
/etc/udev/rules.d/66-inilabs_dev.rules
# Lattice Programmer cable
SUBSYSTEM=="usb", ATTR{idVendor}=="1134", ATTR{idProduct}=="8001", MODE="0666"
# Blank FX2 devices
SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="8613", MODE="0666"
# Blank FX3 devices
SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="0053", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="04b4", ATTR{idProduct}=="00f3", MODE="0666"
On Mac OS X the driver is enabled by default and no special work is usually needed to access devices.
Wiki: Developer Setup Linux
Wiki: Developer Setup MacOSX
Wiki: Home
Could use some screen shots for the libusb driver.
The device is installed in windows for me (CypressFX2Blank) but does not appear in the AEViewer Interface menu.