Finally got this working again. The two webcams worked perfectly on my old desktop computer with Linux kernel 2.6.30 (which has gspca 2.6.0 built in). I could send commands to them via v4l2 to change exposure etc. Then I ported the code to a new machine running 64-bit Ubuntu 10.04, kernel 2.6.32 (comes with gspca 2.7.0). The cam still worked, but I had no access to the controls, e.g. exposure, gain and flipping. I spent two days switching back to kernel 2.6.30/31, trying different patches posted on open source forums, modifying the kernels, making an identical OS from the old machine to the new one… no luck. But the solution turns out to be simple: check out the latest source code (2.9.0) from www.linuxtv.org, compile it and load it into the kernel. Bang. But I still don’t know why an identical OS with identical driver wouldn’t work on the new computer. Well, at least problem solved, time to move forward.