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. 😉

29 thoughts on “Microsoft LifeCam VX-1000 Linux GSPCA Patch”

  1. using Firefox 3 Firefox 3 on Ubuntu 10.04 Ubuntu 10.04
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6

    Some feedback from me. Perfect thank you. I’ve been trying to make my Lifecam vx-1000 to work for a year now, thanks to you now it’s working. The sound/mic works perfectly. The only issue is that the video is slower and is choppy, is that just me?

    1. using Opera 10 Opera 10 on GNU/Linux GNU/Linux
      Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.6.30 Version/10.70

      I’ve noticed slow and choppy video with the driver, but the patch that I applied shouldn’t have any affect on video performance. There must be differences between my patched version and your previous installed version, which I think is GSPCA 2.7.0 in Ubuntu 10.04 (by default).

      I’d like to look into this myself, but I don’t have time to invest in this at the moment. Maybe sometime soon. 😉

      1. using Firefox 3 Firefox 3 on Ubuntu 10.04 Ubuntu 10.04
        Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6

        Thanks very much for your reply. Some more feedback, I used the Lifecam with Skype today and I was told everything was perfect! Great, it looks like the choppy video issue maybe due to cheese itself. No matter, Skype is what I need the webcam for and thanks to you I can now use it :).

  2. using Firefox 3 Firefox 3 on Mac OS X 10.4 Mac OS X 10.4
    Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; de; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 GTB7.0

    Thank you very much, Kyle.

    Maybe you can help me with this: I got the cam working in Ubuntu 9.10 half a year ago or so on a friends PC, but everytime a kernel update arrives, the driver stops working of course and needs to be recompiled (and he needs to phone me to do this).

    Now my question to you would be, if
    a) the cam will work in Ubuntu 10.04.1 out of the box, or if not, then
    b) if there is any way to make sure the cam will still work after a kernel update.

  3. using Google Chrome 5 Google Chrome 5 on GNU/Linux GNU/Linux
    Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.125 Safari/533.4

    Worked perfectly on Ubuntu 10.04 64-bit. Thanks so much for doing this; I’ve been trying for a while to get the mic to work on my lifecam.

    All the best.

  4. using Google Chrome 7 Google Chrome 7 on GNU/Linux GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7

    hey kyle…

    thanks a lot for this ..its been almost 6 months to get this cam working….and i had to rely on windows just for skpe :\

    thanks again…

    P.S: The video in cheese was kinda choppy…so were the recordings…but still great release!!..

    goodluck for you future efforts..!!

  5. using Firefox 3 Firefox 3 on Ubuntu 10.10 Ubuntu 10.10
    Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

    Hi kyleabaker!
    May i have some troubles on applying your GSPCA Patch in my Microsoft LifeCam VX-3000? OS Ubuntu 10.10 Maverick 32bit.
    Thx for your kind answer

  6. using Firefox 3 Firefox 3 on Ubuntu 10.10 Ubuntu 10.10
    Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

    Just downloaded gspca-2.10.23.tar.gz and then dezipped, as per your suggestion, kyleabaker.
    I’ll soon inform this blog of the hoped(!) success. Thank you very much and best wishes.

  7. using Firefox 3 Firefox 3 on Ubuntu 10.10 Ubuntu 10.10
    Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

    Failure! No sound in my LifeCam VX-3000

    Patch tested as below:
    1. Downloaded and extracted gspca-2.10.23.tar.gz
    2. Transfer into ~/DEsktop/gspca-2.10.23
    3. Commands from terminal:
    make
    sudo make install
    4. Computer rebooted
    5. Cheese activated -> Video -> Start registration
    [singing something for about 20 sec’s] -> End registration
    File formed: date-time.ogv
    6. Clicking on it: video is performed, with **no** sound, unfortunately!
    ————
    All the best, Giuseppe

  8. using Firefox 3 Firefox 3 on Ubuntu 10.10 Ubuntu 10.10
    Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

    Surely the webcam VX-3000 works properly, the green light in the top is on.
    Only cheese -> Video can be selected and then start registration. Preferences doesn’t show nothing about the sound; only images characteristics appear. Remarks: Cheese downloaded from Maverick repository.

    1. using Opera 11 Opera 11 on Mac OS X 10.6 Mac OS X 10.6
      Opera/9.80 (Macintosh; Intel Mac OS X 10.6.4; U; en) Presto/2.7.38 Version/11.00

      I’m not talking about sound preferences in Cheese. Left or right click on the sound icon in the gnome panel and look for a preferences option for sound. Open it and select the input tab. Make sure your webcam is selected there.

      You may be able to find the sound preferences via System -> Preferences -> Sound or something like that.

      I can’t help you with cheese, I think you’re misunderstanding me. 😉

  9. using Firefox 3 Firefox 3 on Ubuntu 10.10 Ubuntu 10.10
    Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13

    Works if you start vid first then change input to webcam?? Thanks for all your effort, didn’t think anyone was gonna get it working!

  10. using Chromium 9 Chromium 9 on Ubuntu 10.10 Ubuntu 10.10
    Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Ubuntu/10.10 Chromium/9.0.597.94 Chrome/9.0.597.94 Safari/534.13

    Hi there, thanks for that!

    But, … ( yes of course ) doesn’t work with skype, impossible to assign mic or video… !

    any idea ?

  11. using Firefox 3 Firefox 3 on Fedora 13 Fedora 13
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100403 Fedora/3.6.3-4.fc13 Firefox/3.6.3

    Hello Sir,

    I have been using the latest gspca drivers gspca 2.12.7 for my microsoft lifecam vx 1000 on fedora 13 and the application i use is qutecom. The device gets detected but after a while an error pops up the terminal as below.

    “libv4l2: error converting / decoding frame data: v4l-convert: error parsing JPEG header: Bogus jpeg format”

    Regards,

    Sudhish

  12. using Firefox 3 Firefox 3 on Fedora 13 Fedora 13
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100403 Fedora/3.6.3-4.fc13 Firefox/3.6.3

    Hello Sir,

    U were right, i find from dmesg that some driver other than gspca drivers is getting registered. Here is the dmesg output:

    [root@localhost qutecom-2-2-fd680f034aa8]# dmesg
    usb 1-5: new high speed USB device using ehci_hcd and address 4
    usb 1-5: New USB device found, idVendor=045e, idProduct=0761
    usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 1-5: Product: Microsoft® LifeCam VX-2000
    usb 1-5: Manufacturer: Microsoft
    uvcvideo: Found UVC 1.00 device Microsoft® LifeCam VX-2000 (045e:0761)
    input: Microsoft® LifeCam VX-2000 as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/input/input7

    So can i black list this driver and see that gspca driver is registered.

    Any suggestions are appretiated.

    Regards,

    Sudhish

  13. using Firefox 4 Firefox 4 on GNU/Linux GNU/Linux
    Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20100101 Firefox/4.0

    I’m running ubuntu 10.10 on a machine i built recently with the MS VX-3000 webcam, for some reason I STILL have to compile gspca-2.12.21.tar.gz into the 2.6.35-28-generic kernel even though it’s mentioned that the kernel has the patched gspca in it? Then why does mic still not work? It only works when I compile the module manually into the kernel, which is frustrating to have to recompile at every new kernel upgrade. Please advise.

    1. using Opera 11 Opera 11 on Mac OS X 10.7 Mac OS X 10.7
      Opera/9.80 (Macintosh; Intel Mac OS X 10.7.0; U; en) Presto/2.8.119 Version/11.10

      Unfortunately my patch was not added to the the kernel used by Ubuntu 10.10. Though, Ubuntu 11.04 will have my patch applied by default (as I’m using Ubuntu 11.04 already).

      With Ubuntu 10.10 and prior you will have to manually install the gspca updates on each kernel update as you’ve already discovered.

      If you upgrade to Ubuntu 11.04 when its released in a month, you won’t have to manually install the drivers anymore. 😉

Leave a Reply

Your email address will not be published. Required fields are marked *