Hello. This is a placeholder page for a site that will be dedicated to my Logitech Quickcam Messenger, a fun little USB camera. Unfortunately, there is no Linux driver for the device, though there are drivers available for several other Logitech cameras. It turns out that even though it is easy to get the data stream, nobody really knows what the data means.

I am trying to use the QCM on a microcontroller, and thus intend to change that.

It looks like there is now a driver!



I sent the following email here:
If you send me the white papers for the Quickcam Messenger -- specifically the USB command protocol and video codec -- I will write a Linux drive for you, thus increasing the value of your product and making a large number of geeks happy.

I guess webqa@logitech.com isn't the way to go, so I sent the following email via the web form on September 29th, 2004..
How much would it cost to buy the rights to look at the specifications (under an NDA) so that I could write a [binary only] driver for the Quickcam Messenger? I want to use your product in a research project, but the embedded controller we use can't run Windows.

They responded! This is what I got back, on October 1st, 2004..
Dear Derrick,
 
Thank you for your recent inquiry about your QuickCam Messenger. I am forwarding you information to contact our Developer Relations dept. Please refer any further correspondence to this department as the representatives of this department will have the resources to adequately respond to your inquiries.
 
Logitech, Inc.
Attn: Developer Relations
6505 Kaiser Drive
Fremont, CA 94555
 
Fax: 510-505-0978
 
Your letter should include the specific information you are requesting as well as daytime or appropriate contact information. Thank you for your interest in Logitech.

I've written to Logitech Developer Relations.
Well, I've gotten an email back, but it really doesn't say who it's from. All it says is that I should just be happy to own one of their products.
Hello Derrick,
 
Thank you for your interest in our Logitech products.
 
Unfortunately, we are unable to release the information you are looking for pertaining to our Logitech webcams. The information you are looking for is proprietary information and can not be released to the public. We apologize for the inconvenience and appreciate your cooperation regarding this matter.
 
Technical Support.
Yeah, back at ya..
They emailed me again after I expressed interest in signing an NDA. Maybe this'll work out after all!
Today (November 8th,2004) was rather special, as I got two letters from Logitech: one a form letter, the other very nice.
Dear Derrick Pallas,
 
Thank you for your submission to the Logitech New Business Evaluation Team. We have reviewed your submission and, unfortunately, have decided not to pursue your proposal at this time. There are many reasons why Logitech chooses not pursue particular products, features or technology -- most often, it is because an idea is outside our current area of focus, or because market conditions are not right for introducing a particular product. Other times, it may be because Logitech is already familiar with the ideas proposed in a submission, and may already be independently developing similar concepts for future use. However, due to the large volume of submissions that we receive, we regret that we are unable to provide you with specific feedback on the reasons for not pursuing your submission. Logitech sincerely appreciates your interest in our company and wishes you well in your future endeavors.
 
Regards,
Logitech New Business Evaluation Team
Quite informative! However, this came about an hour later..
Derrick,
 
Your request for a NDA was forwarded to me. Unfortunately, the System-On-Chip used in QuickCam Messenger is proprietary and therefore a driver can not be made public. On the technical side, our Messenger is a "SW webcam", which means that all the color processing is done in the driver. Therefore, such driver could not be embedded in a simple micro-controller.
 
If I may suggest, our QuickCam Zoom and Pro use a Philips video processor, which means that you would not have to worry about image porcessing. You could also find a Linux driver on the web for this platform. Let me know if I can be of any assistance.
 
Best Regards,
Jean-Michel Chardon
System Engineering Manager, Video Division
Jean Michel seems like a very nice guy, so I decided to write him back. It seems like he thinks I want an "open-source" driver. I just want my webcam, the hardware that I paid for, to work.
Hello, thanks for your quick reply. I should clarify that I'm not proposing an open-source driver. I'm proposing a closed-source driver that can be used with open-source software.
 
It seems like "a driver can not be made public" is a rather weak statement in light of the fact that a driver is public, namely the Windows WDM driver. I'm not suggesting that source be publicly available -- just a binary version of the driver with a client side, post-processing interface. Other drivers that have successfully used this technique, for example, are the Atheros madwifi driver; which uses a HAL supplied by Atheros (closed-source) to a developer who wrote an adapter to the Linux wireless interface. This approach protects both the intellectual property of the company (and ensures that FCC regulations are met, as the Atheros is software based) but also allows end-users more freedom in using the hardware they have purchased.
 
The microcontroller I am using is from Rabbit semiconductors; with it's large memory core and vector processing instructions, it has been used for this kind of processing before.
 
I've noticed the Zoom and Pro, and their driver. Unfortunately, I have several Messengers and no Zooms or Pros. Please take no offense, but it seems that since Logitech is primarily a hardware company, having a freely developed closed-source binary-only driver would only benefit the company. I myself have gotten a number of letters asking me how my attempt at an NDA have faired, always with an expressed interest in a driver. It is my hope that your company pursues this, through some means, in the future. If the company ever comes around, I'm still interested. Until then, my Quickcams are still dark.
 
With regards,
Derrick.

Google logo via Quickcam Messenger.

Normal Google logo.
Looks like someone got this working! Still doesn't quite work on mine, though.. the colors are not decoded correctly, and there is some kind of triple-ghost packet coming through.
 
In order to fix the color problem, someone should probably look at what happens to the bits when a particular color is held in front of the camera. When I do it, black and white are fine. Red comes out blue. Blue comes out yellow. Yellow comes out cyan. Green comes out green.  


Time to start taking apart their driver, as per section 1201(f) of the DMCA.
 
I believe that the decoding is happening in lcodec2.dll or lvcm.sys. Does any one know anything about WDM?

Links:
The Quickcam Express driver.
Before that, this.
Real data.
A compression hack.