Microsoft LifeCam VX-1000 Linux GSPCA Patch

Update: See the linked comment for more details.

I’ve been in talks with the GSPCA maintainer for a week now discussing possible issues that the Microsoft LifeCam VX-1000 was having in Linux. In case you don’t know (which I didn’t at first either), GSPCA stands for “Generic Software Package for Camera Adapters.”

Microsoft LifeCam VX-1000

This software package contains drivers to a wealth of webcams and other video input devices, the Microsoft LifeCam VX-1000 included. The problem I had was that the built in microphone would stop working as soon as you turned on the camera. If you never used the camera and only opened a sound recording application then the microphone would work perfectly. In the long mailing list discussions that let me to this post, we discovered that the bug was is in setting a GPIO register that instantly breaks communication with the microphone. I’ve worked up a patch that I would like to get tested by others. Basically, the patch just includes conditionals that tell the driver not to apply this GPIO register change if the camera is using the OV7660 sensor. What I would like to test is, does disabling for this sensor affect other OV7660 devices? If not, then this patch will likely go into the main Linux kernel. If you’re using the Microsoft LifeCam VX-1000 or VX-3000 and are having trouble with your microphone, could you please do the following?

Testing the Patch

  1. Download my patched GSPCA: gspca-2.9.51-vx1000-patch-20100712.zip
    Download the latest version of GSPCA which now includes my patch: http://moinejf.free.fr/
  2. Extract the zip file on your Desktop (so you have the folder “gspca-2.9.51-vx1000-patch-20100712”).
  3. Open a terminal window and enter the following commands:
    cd Desktop/gspca-2.9.51-vx1000-patch-20100712/
    make
    sudo make install
  4. Reboot your computer and test your webcam in an application such as Cheese (which can easily be found in the Ubuntu Software Center).

Make sure that when you start your webcam in Cheese that the microphone continues to work. You can verify this in the Sound Preferences window if you click on the Input tab (make sure you have selected “LifeCam VX-1000”  as your input device). Let me know in the comments below or in the Ubuntu thread regarding this issue how it works for you! In case anyone is interested, here is the “diff -uNr” for the original sonixj.c against my modified version:

--- sonixj-original.c	2010-07-10 05:03:02.000000000 -0400
+++ sonixj-patch.c	2010-07-12 17:52:20.000000000 -0400
@@ -1749,7 +1749,8 @@
 		reg_w1(gspca_dev, 0x01, 0x62);
 		reg_w1(gspca_dev, 0x01, 0x42);
 		msleep(100);
-		reg_w1(gspca_dev, 0x02, 0x62);
+		if (sd->sensor != SENSOR_OV7660)
+			reg_w1(gspca_dev, 0x02, 0x62);
 		break;
 	default:
 /*	case SENSOR_HV7131R: */
@@ -2317,8 +2318,10 @@
 		reg2 = 0x40;
 		break;
 	}
-	reg_w1(gspca_dev, 0x02, reg2);
-	reg_w1(gspca_dev, 0x02, reg2);
+	if (sd->sensor != SENSOR_OV7660) {
+		reg_w1(gspca_dev, 0x02, reg2);
+		reg_w1(gspca_dev, 0x02, reg2);
+	}

 	reg_w1(gspca_dev, 0x15, sn9c1xx[0x15]);
 	reg_w1(gspca_dev, 0x16, sn9c1xx[0x16]);

UPDATE 2010-07-13: As of today this patch is included in GSPCA v2.9.52+! It looks like my hard work paid off after all and now all Linux users, not just Ubuntu users, will be able to enjoy the fruit of my labor since GSPCA is merged into the official Linux Kernel. 😉

LifeCam Button Config v1.0.0.0

I’ve just written a tool that lets you bypass the default Windows Live Messenger prompt when you press you LifeCam’s button on top.

It can be a little annoy, but the good news is that now you can open or focus any application you want with the click of that button.

2009-10-20_0031

As you can see from the image above, I’ve made a simple browse option so you can easily find the file you want. When you open this tool it will automatically display the path to the program that is currently set to open.

2009-10-20_0031_001

If you later decide that you want to just use the default application (the one set before you change anything) then it’s only a couple of clicks away!

Currently the implementation used could be error prone. I have written the application to “assume” that the default application should be installed to “C:\Program Files\Microsoft LifeCam\icepick.exe” for 32-bit computers and to “C:\Program Files (x86)\Microsoft LifeCam\icepick.exe” for 64-bit computers.

If problems are experienced with this then please let me know. It may be better to scan for the application rather than to assume it’s in that location, but typically it should always be in that location.

2009-10-20_0032

Thanks for checking out this little tool! I hope you find it helpful. If you’re curious about the source code just fire off an email! It’s currently written in Visual Basic 2008, but could easily be ported to another language especially since I overly document code so others know what I’m doing. 😉

Download163kb

LifeCam VX-1000 Live Call Button Hack

After digging into process and id’s I was able to track down the Guid for the Microsoft LifeCam VX-1000 and inspect several settings assigned to it via the Windows Registry.

As it turns out, there is a very simple hack to use the Windows Live Call button for any program you’d like!

I don’t have time at the moment to write a script or a program for this, but you can manually configure your webcam to open a program. If it’s already open then pressing the Windows Live Call button will simply bring it back into focus.

So far, I’ve only tested this button to open and focus Digsby and Opera, but it could in theory be used to call and or focus any application.

If you’re a little sketched about editing your Registry then that’s a sign that this hack isn’t for you and you should wait until I (or someone else) releases a tool that suits you.

If you’re still reading, then you probably want to get rid of that annoying Windows Live prompt. 😉

  1. Open up RegEdit.
  2. Navigate through the Registry to the following location:
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0000\Settings
  3. The key that you want to edit is conveniently labeled “QuickStartPath“.
  4. Just change this key to the direct path of any file you want to launch. You can test that it works immediately after saving the key. No need to close RegEdit until you’re done.

If it works, great! You’re done! If not, then you’ve done something wrong.

Remember that the original file that was being launched was something similar to “C:\Program Files (x86)\Microsoft LifeCam\icepick.exe” depending on your platform. Mine is 64-bit, so you’re may not need the “ (x86)” specific Program Files directory (if you’re using a 32-bit computer).

If I find some free time soon I may write a simple program that can be called to do more than just open your messenger. Possibly start a video chat with someone who just signed on. We’ll see in time. 😉

Enjoy this little hack!

Microsoft LifeCam VX-1000

I just recently bought a new webcam via eBay for a great price of $5.50 and have been catching up with some of my Skype friends just for fun.

What’s great about this little webcam is that it has an excellent turning radius and can tilt to just about any angle you need it to.

microsoft-lifecam-vx-1000-front

Another great feature that this webcam offers is the ability to be mounted are rest just about anywhere. The base of the camera opens if you need to hang it somewhere rather than resting it on your desk or tower. The clip can be used to mount it onto your desktop monitor whether it’s an old CRT or a new LCD and it even mounts on very sturdy to my HP Pavilion dv4000 laptop screen.

microsoft-lifecam-vx-1000-side

The picture quality of this little camera is great. Not surprisingly, you can pay a little more and get even better cameras such as the VX-3000 or the VX-6000.

With a built-in microphone, I was able to give away my old microphone and maintain the same capabilities. 😀

My only complaint is that the focus ring around the lens was never mentioned on or in the packaging so it took me a little while to figure out how to get rid of the blur (just rotate the lens to adjust).

The camera even offers a one-click access button on the top of it that can launch video calls instantly for Windows Live Messenger. I don’t use Windows Live Messenger much myself (read: at all), but I figured I could play around with the drivers in a hex editor and figure out how to make the button customizable…maybe open the Digsby or Trillian contact list (who knows) so I wrote an application to make this button customizable.

I had plug-and-play luck in Windows 7 with this webcam, however, Ubuntu 9.10 x86_64 has been less than forgiving. I’ve been searching around for a little while trying to configure my webcam that seems to be detected, but the video that’s displayed is corrupt. It seems that it’s a small problem with a fairly easy fix, but I just haven’t found it yet. At least it’s recognized! Hopefully I can write a script or a guide to get this webcam working in Ubuntu for others…once I get it working for myself of course. 😉

If you’ve been looking for a webcam and debating whether or not to buy one then I would suggest this one. It’s affordable, has everything you need and extremely good picture quality!