Before you can use all the features of the USB cameras on Linux, you have to master some hurdles but the installation should be quite easy with the following instructions:
1. Step: Firmware Update
The first hurdle is caused by an issue with the firmware version loaded in most of the USB cameras currently present 'in the field'. This issue prevents the driver from discovering the Shutter control of the camera so that the camera will only work in automatic exposure mode. There is a newer version of the firmware which fixes this issue. You may find the new version and an installer for Linux here.
2.Step: Driver Update
The cameras conform to the USB Video Class ( UVC ) specification which is very well supported by Laurent Pincharts excellent uvcvideo driver.
Most distributions already come with binary packages for the uvcvideo driver for easy installation. But since there have been some fixes to the uvcvideo driver just recently, I recommend to install a never driver from source. The following instructions are made for Ubuntu Linux but the steps are very similar for other distributions. If you do the installation on a different Linux distribution, please post the steps in the comment section if they are different to the ones explained here.
We start with installing a build environment for the driver. On Ubuntu, this can be done with the following command:
sudo apt-get install build-essential linux-headers-generic subversionThen create some directory where you build the source and get the driver from the linux-uvc website:
mkdir build
cd build
svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
The next step is specific to Ubuntu: Since Ubuntu comes with its own (old) uvcvideo driver, you need to make sure that the installation of the driver overwrites the Ubuntu driver. To achieve this, edit the file
trunk/Makefile and change the line: INSTALL_MOD_DIR := usb/mediato:
INSTALL_MOD_DIR := kernel/ubuntu/media/usbvideoNow you can build and install the driver:
cd trunk
make
sudo make install
Please note that you need to perform the
sudo make install step again after each kernel update since the Ubuntu updates will overwrite the freshly installed driver.Now unload the old driver and load the new one:
sudo rmmod uvcvideo
sudo modprobe uvcvideo
Step 3: Configuring the driver
With the very recent revisions of the driver, root privileges are required to configure the driver to use proprietary extensions to the UVC protocol. The Imaging Source cameras use protocol extensions for a better control of the auto exposure and for functionality like Trigger and Strobe which is not covered by the UVC specification.
The preferred way of the uvcvideo driver to configure the driver is to use a tool called uvcdynctrl which is provided by Logitech.
uvcdynctrl reads a .xml file with a description of the protocol extensions and configures the driver. Since uvcdynctrl is not quite easy to compile and install, I wrote a small python script which you can use alternatively to just set up the driver. You can find the script HERE. You might still want to look at uvcdynctrl since it also contains instructions for a set up with udev, so that the driver is configured automatically when a camera gets connected. I plan to add udev support to uvcctl later.
To configure the driver with the uvcctls script under an Ubuntu system, just download the script and the xml file and enter the following command before you start your application:
sudo uvcctls tisUVC.xmlFinally: Run your application
If you run a unicap application now, all extended features of the The Imaging Source cameras should work. If you use the camera with UCView now, you should see ( depending on your model ), the following features:
- A Shutter property allowing you to set an absolute time in 'seconds'
- Separate controls for Auto Gain and Auto Shutter
- The colour camera should provide three video formats: YUV 4:2:2, Greyscale and RGB Bayer ( the monochrome camera should only provide Greyscale ).
- If you have a BU camera, you should now have Trigger functionality


I have posted quite a bit of information into the Astronomy Cameras Blog about using The Imaging Source cameras on Linux, and in particular on Ubuntu. In fact, there is an entire category dedicated to the topic. Take a look:
http://www.astronomycamerasblog.com/category/software-linux/
Thank you
All the best
Jonathan Maron