I was in Fry’s yesterday and on impulse, for $20, bought a plain brown cardboard box from Logitech labeled “QUICKCAM FOR NB DELUXE REFURB”. “NB” stands for “NoteBook”.
Naturally, the enclosed CD does not include a Linux driver.
However, Logitech’s QuickCam Team has a very nice website with many resources, including Linux links.
I’ve done a certain amount of fumbling around, prior to starting this post, so I’m including some stuff in the order I wish I’d found it, rather than in order.
Hidden behind the spoiler tag is, essentially, a step by step whine log of my attempt to manually install the open source GSPCA driver.
Show ▼
Identifying my camera:
Non-trivial, because I have a refurb.
Well, first, do I have a UVC (USB Video Device Class) compliant unit?
Hard to tell. Here I find QC for Notebook deluxe entries in both the UVC and Non-UVC lists, but none with the product number on my box (996-000037).
I tentatively conclude that I have a “USB PID” of 09c1.
Ha! Somewhere, I stumble across the Linux command “lsusb”, which lists all the devices plugged into your USB ports:
Bus 003 Device 009: ID 058f:6362 Alcor Micro Corp. Hi-Speed 21-in-1 Flash Card Reader/Writer
(Internal/External)
Bus 003 Device 008: ID 0409:005a NEC Corp.
Bus 003 Device 005: ID 152d:2338 JMicron Technology Corp. / JMicron USA Technology Corp. JM20337
Hi-Speed USB to SATA & PATA Combo Bridge
Bus 003 Device 002: ID 04b8:0007 Seiko Epson Corp.
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 004: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 002 Device 003: ID 046d:c018 Logitech, Inc.
Bus 002 Device 002: ID 046e:5542 Behavior Tech. Computer Corp.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 005: ID 046d:08d8 Logitech, Inc.
Bus 001 Device 001: ID 0000:0000
Device 003 is my mouse, plugged into one of the motherboard back panel ports. Device 005 must be it, and sure enough, it disappears when I unplug the camera. So, the camera’s PID is 0×08d8, which I find on this list for the “GSPCA-5xxx” driver.
Then I find this page, on finding my product ID:
My cord tag number has been covered with a black felt marker and a sticker. The sticker says: R-996-00037, same as the box. But Box IDs (so-called “9-Level” IDs) do not necessarily match the device ID (”8-Level” ID). I carefully peeled the sticker off, but the marker has obscured most of what’s there. Here’s what I can read:
M/N: [obscure]
P/N: 8612[obscure]
PID: CE6320F
I am now going to try to clean off the marker. Stand by.
Ha! Denatured alcohol removes the marker, and [Panic!] the ink, but [whew!] leaves a reverse ghost.
I now read:
M/N: V-UBG35
P/N: 861228-0000
PID: CE6320F [The "F" has, unfortunately, been wiped off. That's why I recorded as much as I could before wiping....]
OK then.
Now I can start trying to figure out how to install the GSPCA driver.
I stumble across a site telling me how to “Setup a Ubuntu Web Cam Security System“, which is one of the things I’m planning to try — and the GSPCA driver is the one this project wants to use. That’s nice.
What’s not nice is what I’ve been afraid of from the day I first installed Ubuntu.
This package must be installed by compiling it.
Folks, this is insane. Absolutely insane. If there is anything keeping ordinary users away from Linux, this is it. If I were running Windows, I’d've popped in the CD, ran the installer, and I would have, hours ago, been playing with my webcam. Instead, I am now about to begin turning source code into an executable.
No, wait. Not even that.
First, I have to install something known as “build-essential“. I’m still not clear what the hell this bundle does, because the page for it assumes you are already a Linux coding geek, and just a need a little prompting to make sure this is what you think it is, and will do what you expect it to do. I have no clue. It apparently installs the stuff you need to compile the stuff you need on your particular system. Insane.
OK, I go to the terminal, and install build-essential.
Now I get to compile the driver. Oh. Boy. And here we go….
…Not. I check the READ_AND_INSTALL file:
First this handy hint:
…You need to make sure that the v4l infrastructure is set up and then load the driver. After you’ve done that, any v4l enabled application, such as spcaview, gqcam, xawtv…
“V4L infrastructure”? What. The. Hell? Oh. I see. That makes it all…so fucking stupid I can’t stand it. Compiling and installing the V4L infrastructure is a whole project in and of itself.
The driver should compile and run successfully against most stable versions of
the official Linux 2.6.x kernel upto version 2.6.11 (from <http://www.kernel.org/>)
What kernel… ah. The uname command yields: “2.6.24-19-generic #1 SMP Fri Jul 11 23:41:49 UTC 2008 i686 GNU/Linux” That’s…a little more recent than 2.6.11, yes? No? Am I on a fool’s errand?
Make sure, when compiling the driver, you use the same version of compiler as was used to compile your kernel. Not doing so can create incompatible binaries.
“The same version of the compiler”? “The same version of the compiler”? “The same version of the compiler”? How am I supposed to know what version of the compiler was used? I just downloaded the bloody install package. “The same version of the compiler”, indeed. Assholes.
You know what, guys? Piss off. Just Piss Off. Back to Google.
OK, I find a link to the EasyCam project, “A tool for installing webcam drivers”. OK, that doesn’t look too bad; there’s one odd step, “Adding Repositories”, but at least these folks give short, coherent instructions on how to do that.
I go through the hoops.
Easycam is in French.
Fortunately, it’s a very simple program. It correctly identifies my camera. I do a quick check to translate “Lancer” (”To throw, launch.” OK, then.) and, Voila! Except the progress bar doesn’t run, but eventually, a partial bar appears with the words “Drivers installe!” which I take to be a good sign. I click the “Forward” button, and am presented with:

I take a deep breath…
And click the Apply button.
There is no “Outils” menu on my desktop, but I do have Accessories…no…Graphics…Ah! “Cheese”, as in, I presume, “Say Cheese!” I click, and the application starts. It is worrisomely blank for too long, but eventually I get:

(I tried to take a screenshot, but the screenshot utility cannot grab the live video image. This is a frame-grab of the SATA cable the camera happened to be pointing at.)
Woo Hoo! I haz webcam!
Now if only I had something usefull and entertaining to show you….
My thanks to the folks who put EasyCam together. It really was easy, for a Linux install, and it works.
[Much later...]
OK, I am unable to get VLC to record any video. It displays cam video well enough, but will not stream to file.
Cheese records the video, but doesn’t grab the audio stream.
Again, if I were running Windows, this would be trivial.