个人工具

“UbuntuHelp:Spca5xx”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
 
(未显示2个用户的5个中间版本)
第4行: 第4行:
 
Newer Logitech Quick Cam Express Webcams and a lot of other Webcams are supported by the [http://mxhaard.free.fr/download.html spca5xx] driver, a branch of the [http://spca50x.sourceforge.net spca50x] driver. The spca5xx driver supports a wider range of cameras, but classifies itselves as experimental. (This means it might crash your kernel in the worst case.)
 
Newer Logitech Quick Cam Express Webcams and a lot of other Webcams are supported by the [http://mxhaard.free.fr/download.html spca5xx] driver, a branch of the [http://spca50x.sourceforge.net spca50x] driver. The spca5xx driver supports a wider range of cameras, but classifies itselves as experimental. (This means it might crash your kernel in the worst case.)
 
The spca5xx driver is included in the Ubuntu kernel and works out of the box in Ubuntu 6.06 and higher. In Ubuntu 5.10 the included driver is unfortunately buggy and will freeze your system, once the webcam is accessed. That's why you have to replace it by a self-compiled one (see below).
 
The spca5xx driver is included in the Ubuntu kernel and works out of the box in Ubuntu 6.06 and higher. In Ubuntu 5.10 the included driver is unfortunately buggy and will freeze your system, once the webcam is accessed. That's why you have to replace it by a self-compiled one (see below).
 +
== Ubuntu 7.10 (Gutsy), and 8.04 (Hardy) ==
 +
Since Gutsy the <code><nowiki>spca5xx</nowiki></code> driver has been replaced by <code><nowiki>gspca</nowiki></code>. If the webcam does not automatically work check that the <code><nowiki>gspca</nowiki></code> module has been loaded with
 +
<pre><nowiki>
 +
lsmod | grep gspca
 +
</nowiki></pre>
 +
If it is not loaded (the command results in no output) run
 +
<pre><nowiki>
 +
sudo modprobe gspca
 +
</nowiki></pre>
 
== Ubuntu 6.06 (Dapper), 6.10 (Edgy), and 7.04 (Feisty) ==
 
== Ubuntu 6.06 (Dapper), 6.10 (Edgy), and 7.04 (Feisty) ==
 
You don't have to do anything, just go ahead and plugin your webcam. Then you can use any application (e.g. gqcam, kopete, ...) to access the webcam. If it does not work, see the Troubleshooting section below.
 
You don't have to do anything, just go ahead and plugin your webcam. Then you can use any application (e.g. gqcam, kopete, ...) to access the webcam. If it does not work, see the Troubleshooting section below.
第16行: 第25行:
 
wget http://mxhaard.free.fr/spca50x/Download/spca5xx-20051212.tar.gz
 
wget http://mxhaard.free.fr/spca50x/Download/spca5xx-20051212.tar.gz
 
</nowiki></pre>
 
</nowiki></pre>
But check out his site for a newer version at [http://mxhaard.free.fr/download.html] <br>
+
But check out his site for a newer version at [http://mxhaard.free.fr/download.html] <<BR>>
 
Change any occurance of ''spca5xx-20051212'' in this how-to to the version you have downloaded.
 
Change any occurance of ''spca5xx-20051212'' in this how-to to the version you have downloaded.
 
=== Step 2: Become root ===
 
=== Step 2: Become root ===
 
For administrative task Ubuntu uses the '''sudo''' command.  This will not work here.  (We have to change an environment variable (see below).  If we use sudo this change will be discarded when the execution of the sudo commands ends, i.e. immediately.)
 
For administrative task Ubuntu uses the '''sudo''' command.  This will not work here.  (We have to change an environment variable (see below).  If we use sudo this change will be discarded when the execution of the sudo commands ends, i.e. immediately.)
So, we use this method: <br>
+
So, we use this method: <<BR>>
 
Open a terminal window and enter:
 
Open a terminal window and enter:
<pre><nowiki>sudo -s
+
<pre><nowiki>
 +
sudo -s
 
</nowiki></pre>
 
</nowiki></pre>
 
When prompted for your password, enter your user password.
 
When prompted for your password, enter your user password.
 
The prompt should change to:
 
The prompt should change to:
<pre><nowiki>root@yourmachine:
+
<pre><nowiki>
 +
root@yourmachine:
 
</nowiki></pre>
 
</nowiki></pre>
 
=== Step 3: Download the necessary packages ===
 
=== Step 3: Download the necessary packages ===
 
In order to compile and integrate the drivers, the following packages are needed from the Ubuntu repositories:
 
In order to compile and integrate the drivers, the following packages are needed from the Ubuntu repositories:
<code><nowiki>linux-headers-`uname -r`</nowiki></code>
+
<ol><li><code><nowiki>linux-headers-`uname -r`</nowiki></code>
<code><nowiki>linux-restricted-modules-`uname -r`</nowiki></code>
+
</li><li><code><nowiki>linux-restricted-modules-`uname -r`</nowiki></code>
<code><nowiki>build-essential</nowiki></code>
+
</li><li><code><nowiki>build-essential</nowiki></code>
<code><nowiki>gcc-3.4</nowiki></code>
+
</li><li><code><nowiki>gcc-3.4</nowiki></code></li></ol>
 +
 
 
'''linux-...''' - The construct <code><nowiki>`uname -r`</nowiki></code> will evaluate to the version of the running kernel, e.g. 2.6.12.10-k7 (may vary on your system). The "linux" packages will download the headers of your kernel and the restricted modules from the repositories.
 
'''linux-...''' - The construct <code><nowiki>`uname -r`</nowiki></code> will evaluate to the version of the running kernel, e.g. 2.6.12.10-k7 (may vary on your system). The "linux" packages will download the headers of your kernel and the restricted modules from the repositories.
 
'''build-essential''' - contains utilities for compiling source code.
 
'''build-essential''' - contains utilities for compiling source code.
'''gcc-3.4''' - The GNU C compiler. By default Breezy installs gcc-4.0 on your system. But the current kernel is compiled with gcc-3.4.  Kernel modules MUST be compiled with the same compiler version as the kernel itself, so we need the older version. <br>
+
'''gcc-3.4''' - The GNU C compiler. By default Breezy installs gcc-4.0 on your system. But the current kernel is compiled with gcc-3.4.  Kernel modules MUST be compiled with the same compiler version as the kernel itself, so we need the older version. <<BR>>
 
/!\ This information is valid for Breezy and may change in later versions of Ubuntu.
 
/!\ This information is valid for Breezy and may change in later versions of Ubuntu.
 
The command to install these packages is:
 
The command to install these packages is:
<pre><nowiki>apt-get install linux-headers-`uname -r` linux-restricted-modules-`uname -r` build-essential gcc-3.4
+
<pre><nowiki>
 +
apt-get install linux-headers-`uname -r` linux-restricted-modules-`uname -r` build-essential gcc-3.4
 
</nowiki></pre>
 
</nowiki></pre>
 
=== Step 4: Compiling the spca5xx source code ===
 
=== Step 4: Compiling the spca5xx source code ===
 
The linux stuff is installed under '''/usr/src'''. So I suggest, you go there:
 
The linux stuff is installed under '''/usr/src'''. So I suggest, you go there:
<pre><nowiki>cd /usr/src
+
<pre><nowiki>
 +
cd /usr/src
 
</nowiki></pre>
 
</nowiki></pre>
 
and move the spca5xx source from your home directory to this location:
 
and move the spca5xx source from your home directory to this location:
<pre><nowiki>mv ~/spca5xx-20051212.tar.gz .
+
<pre><nowiki>
 +
mv ~/spca5xx-20051212.tar.gz .
 
</nowiki></pre>
 
</nowiki></pre>
 
Unpack it
 
Unpack it
<pre><nowiki>tar xfvz spca5xx-20051212.tar.gz
+
<pre><nowiki>
 +
tar xfvz spca5xx-20051212.tar.gz
 
</nowiki></pre>
 
</nowiki></pre>
 
Enter the spca5xx directory
 
Enter the spca5xx directory
<pre><nowiki>cd spca5xx-20051212
+
<pre><nowiki>
 +
cd spca5xx-20051212
 
</nowiki></pre>
 
</nowiki></pre>
 
==== Workaround to make the Makefile use gcc-3.4 ====
 
==== Workaround to make the Makefile use gcc-3.4 ====
第58行: 第75行:
 
<code><nowiki>export CC=gcc-3.4</nowiki></code>
 
<code><nowiki>export CC=gcc-3.4</nowiki></code>
 
This sets the environment variable CC, which is used in the spac5xx Makefile to select the compiler.
 
This sets the environment variable CC, which is used in the spac5xx Makefile to select the compiler.
[[Anchor(setlink)]]
+
<<Anchor(setlink)>>
 
==== Setting a link back to the source code (headers) ====
 
==== Setting a link back to the source code (headers) ====
 
Furthermore the spca5xx Makefile expect a pointer to the kernel source at a specific location. Let's create it:
 
Furthermore the spca5xx Makefile expect a pointer to the kernel source at a specific location. Let's create it:
<pre><nowiki>ln -s /usr/src/linux-headers-`uname -r` /lib/modules/`uname -r`/build
+
<pre><nowiki>
 +
ln -s /usr/src/linux-headers-`uname -r` /lib/modules/`uname -r`/build
 
</nowiki></pre>
 
</nowiki></pre>
 
(Note: If you compile a kernel, this link is usually there. But as we use a pre-compiled kernel, we have to cheat.)
 
(Note: If you compile a kernel, this link is usually there. But as we use a pre-compiled kernel, we have to cheat.)
 
==== Compiling the spca5xx source code ====
 
==== Compiling the spca5xx source code ====
<pre><nowiki>make
+
<pre><nowiki>
 +
make
 
</nowiki></pre>
 
</nowiki></pre>
 
There should be no errors.
 
There should be no errors.
 
==== Removing the old driver from memory ====
 
==== Removing the old driver from memory ====
<pre><nowiki>modprobe -r spca5xx
+
<pre><nowiki>
 +
modprobe -r spca5xx
 
</nowiki></pre>
 
</nowiki></pre>
 
==== Removing the old driver from the hard drive ====
 
==== Removing the old driver from the hard drive ====
<pre><nowiki>rm -rf /lib/modules/`uname -r`/kernel/drivers/usb/media/spca5xx*
+
<pre><nowiki>
 +
rm -rf /lib/modules/`uname -r`/kernel/drivers/usb/media/spca5xx*
 
</nowiki></pre>
 
</nowiki></pre>
 
==== Install the new driver ====
 
==== Install the new driver ====
<pre><nowiki>make install
+
<pre><nowiki>
 +
make install
 
</nowiki></pre>
 
</nowiki></pre>
 
==== Load the new driver ====
 
==== Load the new driver ====
<pre><nowiki>modprobe spca5xx
+
<pre><nowiki>
 +
modprobe spca5xx
 
</nowiki></pre>
 
</nowiki></pre>
 
There should be no errors and `dmesg` could give you something like
 
There should be no errors and `dmesg` could give you something like
第88行: 第111行:
 
</nowiki></pre>
 
</nowiki></pre>
 
If there are no errors and the 'dmesg' output checks out, but you are still not getting an image from your camera, remove the driver from memory:
 
If there are no errors and the 'dmesg' output checks out, but you are still not getting an image from your camera, remove the driver from memory:
<pre><nowiki>modprobe -r spca5xx
+
<pre><nowiki>
 +
modprobe -r spca5xx
 
</nowiki></pre>
 
</nowiki></pre>
 
then reload the driver with a 'usbgrabber=1' parameter:
 
then reload the driver with a 'usbgrabber=1' parameter:
<pre><nowiki>modprobe spca5xx usbgrabber=1
+
<pre><nowiki>
 +
modprobe spca5xx usbgrabber=1
 
</nowiki></pre>
 
</nowiki></pre>
 
(The 'usbgrabber=1' has been known to solve problems with the X10 VA11A USB capture device.)
 
(The 'usbgrabber=1' has been known to solve problems with the X10 VA11A USB capture device.)
第100行: 第125行:
 
== Troubleshooting ==
 
== Troubleshooting ==
 
* Even if you're running a version of Ubuntu that includes spca5xx out of the box, you still might not have it and need to install the driver. In that case, the easiest way is to enable the universe repository then follow these [http://scottabbey.org/node/12 installation instructions].
 
* Even if you're running a version of Ubuntu that includes spca5xx out of the box, you still might not have it and need to install the driver. In that case, the easiest way is to enable the universe repository then follow these [http://scottabbey.org/node/12 installation instructions].
* If the kernel was compiled using a gcc version different from what was used for compiling the spca5xx module, you will get an error message complaining  
+
* If the kernel was compiled using a gcc version different from what was used for compiling the spca5xx module, you will get an error message complaining <pre><nowiki>
<pre><nowiki>
+
 
FATAL: Error inserting spca5xx (spca5xx.ko): Invalid module format
 
FATAL: Error inserting spca5xx (spca5xx.ko): Invalid module format
 
</nowiki></pre> You will have to recompile with the correct gcc version.
 
</nowiki></pre> You will have to recompile with the correct gcc version.
第108行: 第132行:
 
* Check the last lines of `dmesg` for information about a possible failure
 
* Check the last lines of `dmesg` for information about a possible failure
 
* If you get the error message `No space left on device`, first unplug all other USB devices from your USB port. If the webcam works then, you might want to experiment with which USB port to use, as it seems to have these problems when on the same bus as e.g. a USB mouse.
 
* If you get the error message `No space left on device`, first unplug all other USB devices from your USB port. If the webcam works then, you might want to experiment with which USB port to use, as it seems to have these problems when on the same bus as e.g. a USB mouse.
* To use your spca5xx-supported webcam with GnomeMeeting will require libpt-plugins-v4l. This can be installed by running:  
+
* To use your spca5xx-supported webcam with GnomeMeeting will require libpt-plugins-v4l. This can be installed by running: <pre><nowiki>
<pre><nowiki>
+
 
sudo apt-get install libpt-plugins-v4l
 
sudo apt-get install libpt-plugins-v4l
 
</nowiki></pre> Once installed set up GnomeMeeting with v4l (not v4l2). The video controls (brightness, contrast etc. in GnomeMeeting) do not seem to work.
 
</nowiki></pre> Once installed set up GnomeMeeting with v4l (not v4l2). The video controls (brightness, contrast etc. in GnomeMeeting) do not seem to work.
* spca5xx supports the following cameras (as of version spca5xx-20060402)  
+
* spca5xx supports the following cameras (as of version spca5xx-20060402) <pre><nowiki>
<pre><nowiki>
+
    Vendor ID  Device ID  Support Summary
Vendor ID  Device ID  Support Summary
+
              ---------  ---------  ---------------
---------  ---------  ---------------
+
    {USB_DEVICE(0x0733, 0x0430)}, /* Intel PC Camera Pro */
{USB_DEVICE(0x0733, 0x0430)}, /* Intel PC Camera Pro */
+
    {USB_DEVICE(0x0733, 0x0401)}, /* Intel Create and Share */
{USB_DEVICE(0x0733, 0x0401)}, /* Intel Create and Share */
+
    {USB_DEVICE(0x99FA, 0x8988)}, /* Grandtec V.cap */
{USB_DEVICE(0x99FA, 0x8988)}, /* Grandtec V.cap */
+
    {USB_DEVICE(0x0733, 0x0402)}, /* ViewQuest M318B */
{USB_DEVICE(0x0733, 0x0402)}, /* ViewQuest M318B */
+
    {USB_DEVICE(0x0733, 0x0110)}, /* ViewQuest VQ110 */
{USB_DEVICE(0x0733, 0x0110)}, /* ViewQuest VQ110 */
+
    {USB_DEVICE(0x040A, 0x0002)}, /* Kodak DVC-325 */
{USB_DEVICE(0x040A, 0x0002)}, /* Kodak DVC-325 */
+
    {USB_DEVICE(0x055f, 0xc420)}, /* Mustek gSmart Mini 2 */
{USB_DEVICE(0x055f, 0xc420)}, /* Mustek gSmart Mini 2 */
+
    {USB_DEVICE(0x055f, 0xc520)}, /* Mustek gSmart Mini 3 */
{USB_DEVICE(0x055f, 0xc520)}, /* Mustek gSmart Mini 3 */
+
    {USB_DEVICE(0x041E, 0x400A)}, /* Creative PC-CAM 300 */
{USB_DEVICE(0x041E, 0x400A)}, /* Creative PC-CAM 300 */
+
    {USB_DEVICE(0x084D, 0x0003)}, /* D-Link DSC-350 */
{USB_DEVICE(0x084D, 0x0003)}, /* D-Link DSC-350 */
+
    {USB_DEVICE(0x041E, 0x400B)}, /* Creative PC-CAM 600 */
{USB_DEVICE(0x041E, 0x400B)}, /* Creative PC-CAM 600 */
+
    {USB_DEVICE(0x8086, 0x0630)}, /* Intel Pocket PC Camera */
{USB_DEVICE(0x8086, 0x0630)}, /* Intel Pocket PC Camera */
+
    {USB_DEVICE(0x8086, 0x0110)}, /* Intel Easy PC Camera */
{USB_DEVICE(0x8086, 0x0110)}, /* Intel Easy PC Camera */
+
    {USB_DEVICE(0x0506, 0x00df)}, /* 3Com HomeConnect Lite */
{USB_DEVICE(0x0506, 0x00df)}, /* 3Com HomeConnect Lite */
+
    {USB_DEVICE(0x040a, 0x0300)}, /* Kodak EZ200 */
{USB_DEVICE(0x040a, 0x0300)}, /* Kodak EZ200 */
+
    {USB_DEVICE(0x04fc, 0x504b)}, /* Maxell MaxPocket LE 1.3 */
{USB_DEVICE(0x04fc, 0x504b)}, /* Maxell MaxPocket LE 1.3 */
+
    {USB_DEVICE(0x08ca, 0x2008)}, /* Aiptek Mini PenCam 2 M */
{USB_DEVICE(0x08ca, 0x2008)}, /* Aiptek Mini PenCam 2 M */
+
    {USB_DEVICE(0x08ca, 0x0104)}, /* Aiptek PocketDVII 1.3 */
{USB_DEVICE(0x08ca, 0x0104)}, /* Aiptek PocketDVII 1.3 */
+
    {USB_DEVICE(0x08ca, 0x2018)}, /* Aiptek Pencam SD 2M */
{USB_DEVICE(0x08ca, 0x2018)}, /* Aiptek Pencam SD 2M */
+
    {USB_DEVICE(0x04fc, 0x504a)}, /* Aiptek Mini PenCam 1.3 */
{USB_DEVICE(0x04fc, 0x504a)}, /* Aiptek Mini PenCam 1.3 */
+
    {USB_DEVICE(0x055f, 0xc530)}, /* Mustek Gsmart LCD 3 */
{USB_DEVICE(0x055f, 0xc530)}, /* Mustek Gsmart LCD 3 */
+
    {USB_DEVICE(0x055f, 0xc650)}, /* Mustek MDC5500Z */
{USB_DEVICE(0x055f, 0xc650)}, /* Mustek MDC5500Z */
+
    {USB_DEVICE(0x052b, 0x1513)}, /* Megapix V4 */
{USB_DEVICE(0x052b, 0x1513)}, /* Megapix V4 */
+
    {USB_DEVICE(0x08ca, 0x0103)}, /* Aiptek PocketDV */
{USB_DEVICE(0x08ca, 0x0103)}, /* Aiptek PocketDV */
+
    {USB_DEVICE(0x0af9, 0x0010)}, /* Hama USB Sightcam 100 */
{USB_DEVICE(0x0af9, 0x0010)}, /* Hama USB Sightcam 100 */
+
    {USB_DEVICE(0x1776, 0x501c)}, /* Arowana 300K CMOS Camera */
{USB_DEVICE(0x1776, 0x501c)}, /* Arowana 300K CMOS Camera */
+
    {USB_DEVICE(0x08ca, 0x0106)}, /* Aiptek Pocket DV3100+ */
{USB_DEVICE(0x08ca, 0x0106)}, /* Aiptek Pocket DV3100+ */
+
    {USB_DEVICE(0x08ca, 0x2010)}, /* Aiptek PocketCam 3M */
{USB_DEVICE(0x08ca, 0x2010)}, /* Aiptek PocketCam 3M */
+
    {USB_DEVICE(0x0458, 0x7004)}, /* Genius VideoCAM Express V2 */
{USB_DEVICE(0x0458, 0x7004)}, /* Genius VideoCAM Express V2 */
+
    {USB_DEVICE(0x04fc, 0x0561)}, /* Flexcam 100 */
{USB_DEVICE(0x04fc, 0x0561)}, /* Flexcam 100 */
+
    {USB_DEVICE(0x055f, 0xc430)}, /* Mustek Gsmart LCD 2 */
{USB_DEVICE(0x055f, 0xc430)}, /* Mustek Gsmart LCD 2 */
+
    {USB_DEVICE(0x04fc, 0xffff)}, /* Pure DigitalDakota */
{USB_DEVICE(0x04fc, 0xffff)}, /* Pure DigitalDakota */
+
    {USB_DEVICE(0xabcd, 0xcdee)}, /* Petcam */
{USB_DEVICE(0xabcd, 0xcdee)}, /* Petcam */
+
    {USB_DEVICE(0x04a5, 0x3008)}, /* Benq DC 1500 */
{USB_DEVICE(0x04a5, 0x3008)}, /* Benq DC 1500 */
+
    {USB_DEVICE(0x046d, 0x0960)}, /* Logitech Inc. ClickSmart 420 */
{USB_DEVICE(0x046d, 0x0960)}, /* Logitech Inc. ClickSmart 420 */
+
    {USB_DEVICE(0x046d, 0x0901)}, /* Logitech Inc. ClickSmart 510 */
{USB_DEVICE(0x046d, 0x0901)}, /* Logitech Inc. ClickSmart 510 */
+
    {USB_DEVICE(0x04a5, 0x3003)}, /* Benq DC 1300 */
{USB_DEVICE(0x04a5, 0x3003)}, /* Benq DC 1300 */
+
    {USB_DEVICE(0x0af9, 0x0011)}, /* Hama USB Sightcam 100 */
{USB_DEVICE(0x0af9, 0x0011)}, /* Hama USB Sightcam 100 */
+
    {USB_DEVICE(0x055f, 0xc440)}, /* Mustek DV 3000 */
{USB_DEVICE(0x055f, 0xc440)}, /* Mustek DV 3000 */
+
    {USB_DEVICE(0x041e, 0x4013)}, /* Creative Pccam750 */
{USB_DEVICE(0x041e, 0x4013)}, /* Creative Pccam750 */
+
    {USB_DEVICE(0x060b, 0xa001)}, /* Maxell Compact Pc PM3 */
{USB_DEVICE(0x060b, 0xa001)}, /* Maxell Compact Pc PM3 */
+
    {USB_DEVICE(0x04a5, 0x300a)}, /* Benq DC3410 */
{USB_DEVICE(0x04a5, 0x300a)}, /* Benq DC3410 */
+
    {USB_DEVICE(0x04a5, 0x300c)}, /* Benq DC1016 */
{USB_DEVICE(0x04a5, 0x300c)}, /* Benq DC1016 */
+
    {USB_DEVICE(0x0461, 0x0815)}, /* Micro Innovation IC200 */
{USB_DEVICE(0x0461, 0x0815)}, /* Micro Innovation IC200 */
+
    {USB_DEVICE(0x046d, 0x0890)}, /* Logitech QuickCam traveler */
{USB_DEVICE(0x046d, 0x0890)}, /* Logitech QuickCam traveler */
+
    {USB_DEVICE(0x10fd, 0x7e50)}, /* FlyCam Usb 100 */
{USB_DEVICE(0x10fd, 0x7e50)}, /* FlyCam Usb 100 */
+
    {USB_DEVICE(0x06e1, 0xa190)}, /* ADS Instant VCD */
{USB_DEVICE(0x06e1, 0xa190)}, /* ADS Instant VCD */
+
    {USB_DEVICE(0x055f, 0xc220)}, /* Gsmart Mini */
{USB_DEVICE(0x055f, 0xc220)}, /* Gsmart Mini */
+
    {USB_DEVICE(0x0733, 0x2211)}, /* Jenoptik jdc 21 LCD */
{USB_DEVICE(0x0733, 0x2211)}, /* Jenoptik jdc 21 LCD */
+
    {USB_DEVICE(0x046d, 0x0900)}, /* Logitech Inc. ClickSmart 310 */
{USB_DEVICE(0x046d, 0x0900)}, /* Logitech Inc. ClickSmart 310 */
+
    {USB_DEVICE(0x055f, 0xc360)}, /* Mustek DV4000 Mpeg4  */
{USB_DEVICE(0x055f, 0xc360)}, /* Mustek DV4000 Mpeg4  */
+
    {USB_DEVICE(0x08ca, 0x2024)}, /* Aiptek DV3500 Mpeg4  */
{USB_DEVICE(0x08ca, 0x2024)}, /* Aiptek DV3500 Mpeg4  */
+
    {USB_DEVICE(0x046d, 0x0905)}, /* Logitech ClickSmart820  */
{USB_DEVICE(0x046d, 0x0905)}, /* Logitech ClickSmart820  */
+
    {USB_DEVICE(0x05da, 0x1018)}, /* Digital Dream Enigma 1.3 */
{USB_DEVICE(0x05da, 0x1018)}, /* Digital Dream Enigma 1.3 */
+
    {USB_DEVICE(0x0c45, 0x6025)}, /* Xcam Shanga */
{USB_DEVICE(0x0c45, 0x6025)}, /* Xcam Shanga */
+
    {USB_DEVICE(0x0733, 0x1311)}, /* Digital Dream Epsilon 1.3 */
{USB_DEVICE(0x0733, 0x1311)}, /* Digital Dream Epsilon 1.3 */
+
    {USB_DEVICE(0x041e, 0x401d)}, /* Creative Webcam NX ULTRA */
{USB_DEVICE(0x041e, 0x401d)}, /* Creative Webcam NX ULTRA */
+
    {USB_DEVICE(0x08ca, 0x2016)}, /* Aiptek PocketCam 2 Mega */
{USB_DEVICE(0x08ca, 0x2016)}, /* Aiptek PocketCam 2 Mega */
+
    {USB_DEVICE(0x0734, 0x043b)}, /* 3DeMon USB Capture aka */
{USB_DEVICE(0x0734, 0x043b)}, /* 3DeMon USB Capture aka */
+
    {USB_DEVICE(0x041E, 0x4018)}, /* Creative Webcam Vista (PD1100) */
{USB_DEVICE(0x041E, 0x4018)}, /* Creative Webcam Vista (PD1100) */
+
    {USB_DEVICE(0x0546, 0x3273)}, /* Polaroid PDC2030 */
{USB_DEVICE(0x0546, 0x3273)}, /* Polaroid PDC2030 */
+
    {USB_DEVICE(0x041e, 0x401f)}, /* Creative Webcam Notebook PD1171 */
{USB_DEVICE(0x041e, 0x401f)}, /* Creative Webcam Notebook PD1171 */
+
    {USB_DEVICE(0x041e, 0x4017)}, /* Creative Webcam Mobile PD1090 */
{USB_DEVICE(0x041e, 0x4017)}, /* Creative Webcam Mobile PD1090 */
+
    {USB_DEVICE(0x046d, 0x08a2)}, /* Labtec Webcam Pro */
{USB_DEVICE(0x046d, 0x08a2)}, /* Labtec Webcam Pro */
+
    {USB_DEVICE(0x055f, 0xd003)}, /* Mustek WCam300A */
{USB_DEVICE(0x055f, 0xd003)}, /* Mustek WCam300A */
+
    {USB_DEVICE(0x0458, 0x7007)}, /* Genius VideoCam V2 */
{USB_DEVICE(0x0458, 0x7007)}, /* Genius VideoCam V2 */
+
    {USB_DEVICE(0x0458, 0x700c)}, /* Genius VideoCam V3 */
{USB_DEVICE(0x0458, 0x700c)}, /* Genius VideoCam V3 */
+
    {USB_DEVICE(0x0458, 0x700f)}, /* Genius VideoCam Web V2 */
{USB_DEVICE(0x0458, 0x700f)}, /* Genius VideoCam Web V2 */
+
    {USB_DEVICE(0x041e, 0x401e)}, /* Creative Nx Pro */
{USB_DEVICE(0x041e, 0x401e)}, /* Creative Nx Pro */
+
    {USB_DEVICE(0x0c45, 0x6029)}, /* spcaCam@150 */
{USB_DEVICE(0x0c45, 0x6029)}, /* spcaCam@150 */
+
    {USB_DEVICE(0x0c45, 0x6009)}, /* spcaCam@120 */
{USB_DEVICE(0x0c45, 0x6009)}, /* spcaCam@120 */
+
    {USB_DEVICE(0x0c45, 0x600d)}, /* spcaCam@120 */
{USB_DEVICE(0x0c45, 0x600d)}, /* spcaCam@120 */
+
    {USB_DEVICE(0x04fc, 0x5330)}, /* Digitrex 2110 */
{USB_DEVICE(0x04fc, 0x5330)}, /* Digitrex 2110 */
+
    {USB_DEVICE(0x055f, 0xc540)}, /* Gsmart D30 */
{USB_DEVICE(0x055f, 0xc540)}, /* Gsmart D30 */
+
    {USB_DEVICE(0x0ac8, 0x301b)}, /* Asam Vimicro */
{USB_DEVICE(0x0ac8, 0x301b)}, /* Asam Vimicro */
+
    {USB_DEVICE(0x041e, 0x403a)}, /* Creative Nx Pro 2 */
{USB_DEVICE(0x041e, 0x403a)}, /* Creative Nx Pro 2 */
+
    {USB_DEVICE(0x055f, 0xc211)}, /* Kowa Bs888e Microcamera */
{USB_DEVICE(0x055f, 0xc211)}, /* Kowa Bs888e Microcamera */
+
    {USB_DEVICE(0x0ac8, 0x0302)}, /* Z-star Vimicro zc0302 */
{USB_DEVICE(0x0ac8, 0x0302)}, /* Z-star Vimicro zc0302 */
+
    {USB_DEVICE(0x0572, 0x0041)}, /* Creative Notebook cx11646 */
{USB_DEVICE(0x0572, 0x0041)}, /* Creative Notebook cx11646 */
+
    {USB_DEVICE(0x08ca, 0x2022)}, /* Aiptek Slim 3200 */
{USB_DEVICE(0x08ca, 0x2022)}, /* Aiptek Slim 3200 */
+
    {USB_DEVICE(0x046d, 0x0921)}, /* Labtec Webcam */
{USB_DEVICE(0x046d, 0x0921)}, /* Labtec Webcam */
+
    {USB_DEVICE(0x046d, 0x0920)}, /* QC Express */
{USB_DEVICE(0x046d, 0x0920)}, /* QC Express */
+
    {USB_DEVICE(0x0923, 0x010f)}, /* ICM532 cams */
{USB_DEVICE(0x0923, 0x010f)}, /* ICM532 cams */
+
    {USB_DEVICE(0x055f, 0xc200)}, /* Mustek Gsmart 300 */
{USB_DEVICE(0x055f, 0xc200)}, /* Mustek Gsmart 300 */
+
    {USB_DEVICE(0x0733, 0x2221)}, /* Mercury Digital Pro 3.1p */
{USB_DEVICE(0x0733, 0x2221)}, /* Mercury Digital Pro 3.1p */
+
    {USB_DEVICE(0x041e, 0x4036)}, /* Creative Live ! */
{USB_DEVICE(0x041e, 0x4036)}, /* Creative Live ! */
+
    {USB_DEVICE(0x055f, 0xc005)}, /* Mustek Wcam300A */
{USB_DEVICE(0x055f, 0xc005)}, /* Mustek Wcam300A */
+
    {USB_DEVICE(0x041E, 0x403b)}, /* Creative Webcam Vista (VF0010) */
{USB_DEVICE(0x041E, 0x403b)}, /* Creative Webcam Vista (VF0010) */
+
    {USB_DEVICE(0x0545, 0x8333)}, /* Veo Stingray */
{USB_DEVICE(0x0545, 0x8333)}, /* Veo Stingray */
+
    {USB_DEVICE(0x0545, 0x808b)}, /* Veo Stingray */
{USB_DEVICE(0x0545, 0x808b)}, /* Veo Stingray */
+
    {USB_DEVICE(0x10fd, 0x8050)}, /* Typhoon Webshot II USB 300k */
{USB_DEVICE(0x10fd, 0x8050)}, /* Typhoon Webshot II USB 300k */
+
    {USB_DEVICE(0x0546, 0x3155)}, /* Polaroid PDC3070 */
{USB_DEVICE(0x0546, 0x3155)}, /* Polaroid PDC3070 */
+
    {USB_DEVICE(0x046d, 0x0928)}, /* Logitech QC Express Etch2 */
{USB_DEVICE(0x046d, 0x0928)}, /* Logitech QC Express Etch2 */
+
    {USB_DEVICE(0x046d, 0x092a)}, /* Logitech QC for Notebook */
{USB_DEVICE(0x046d, 0x092a)}, /* Logitech QC for Notebook */
+
    {USB_DEVICE(0x046d, 0x08a0)}, /* Logitech QC IM */
{USB_DEVICE(0x046d, 0x08a0)}, /* Logitech QC IM */
+
    {USB_DEVICE(0x0461, 0x0a00)}, /* MicroInnovation WebCam320 */
{USB_DEVICE(0x0461, 0x0a00)}, /* MicroInnovation WebCam320 */
+
    {USB_DEVICE(0x08ca, 0x2028)}, /* Aiptek PocketCam4M */
{USB_DEVICE(0x08ca, 0x2028)}, /* Aiptek PocketCam4M */
+
    {USB_DEVICE(0x08ca, 0x2042)}, /* Aiptek PocketDV5100 */
{USB_DEVICE(0x08ca, 0x2042)}, /* Aiptek PocketDV5100 */
+
    {USB_DEVICE(0x08ca, 0x2060)}, /* Aiptek PocketDV5300 */
{USB_DEVICE(0x08ca, 0x2060)}, /* Aiptek PocketDV5300 */
+
    {USB_DEVICE(0x04fc, 0x5360)}, /* Sunplus Generic */
{USB_DEVICE(0x04fc, 0x5360)}, /* Sunplus Generic */
+
    {USB_DEVICE(0x046d, 0x08a1)}, /* Logitech QC IM 0x08A1 +sound */
{USB_DEVICE(0x046d, 0x08a1)}, /* Logitech QC IM 0x08A1 +sound */
+
    {USB_DEVICE(0x046d, 0x08a3)}, /* Logitech QC Chat */
{USB_DEVICE(0x046d, 0x08a3)}, /* Logitech QC Chat */
+
    {USB_DEVICE(0x046d, 0x08b9)}, /* Logitech QC IM ??? */
{USB_DEVICE(0x046d, 0x08b9)}, /* Logitech QC IM ??? */
+
    {USB_DEVICE(0x046d, 0x0929)}, /* Labtec Webcam Elch2 */
{USB_DEVICE(0x046d, 0x0929)}, /* Labtec Webcam Elch2 */
+
    {USB_DEVICE(0x10fd, 0x0128)}, /* Typhoon Webshot II USB 300k 0x0128 */
{USB_DEVICE(0x10fd, 0x0128)}, /* Typhoon Webshot II USB 300k 0x0128 */
+
    {USB_DEVICE(0x102c, 0x6151)}, /* Qcam Sangha CIF */
{USB_DEVICE(0x102c, 0x6151)}, /* Qcam Sangha CIF */
+
    {USB_DEVICE(0x102c, 0x6251)}, /* Qcam xxxxxx VGA */
{USB_DEVICE(0x102c, 0x6251)}, /* Qcam xxxxxx VGA */
+
    {USB_DEVICE(0x04fc, 0x7333)}, /* PalmPixDC85 */
{USB_DEVICE(0x04fc, 0x7333)}, /* PalmPixDC85 */
+
    {USB_DEVICE(0x06be, 0x0800)}, /* Optimedia */
{USB_DEVICE(0x06be, 0x0800)}, /* Optimedia */
+
    {USB_DEVICE(0x2899, 0x012c)}, /* Toptro Industrial */
{USB_DEVICE(0x2899, 0x012c)}, /* Toptro Industrial */
+
    {USB_DEVICE(0x06bd, 0x0404)}, /* Agfa CL20 */
{USB_DEVICE(0x06bd, 0x0404)}, /* Agfa CL20 */
+
    {USB_DEVICE(0x046d, 0x092c)}, /* Logitech QC chat Elch2 */
{USB_DEVICE(0x046d, 0x092c)}, /* Logitech QC chat Elch2 */
+
    {USB_DEVICE(0x0c45, 0x607c)}, /* Sonix sn9c102p Hv7131R */
{USB_DEVICE(0x0c45, 0x607c)}, /* Sonix sn9c102p Hv7131R */
+
    {USB_DEVICE(0x0733, 0x3261)}, /* Concord 3045 spca536a */
{USB_DEVICE(0x0733, 0x3261)}, /* Concord 3045 spca536a */
+
    {USB_DEVICE(0x0733, 0x1314)}, /* Mercury 2.1MEG Deluxe Classic Cam */
{USB_DEVICE(0x0733, 0x1314)}, /* Mercury 2.1MEG Deluxe Classic Cam */
+
    {USB_DEVICE(0x041e, 0x401c)}, /* Creative NX */
{USB_DEVICE(0x041e, 0x401c)}, /* Creative NX */
+
    {USB_DEVICE(0x041e, 0x4034)}, /* Creative Instant P0620 */
{USB_DEVICE(0x041e, 0x4034)}, /* Creative Instant P0620 */
+
    {USB_DEVICE(0x041e, 0x4035)}, /* Creative Instant P0620D */
{USB_DEVICE(0x041e, 0x4035)}, /* Creative Instant P0620D */
+
    {USB_DEVICE(0x046d, 0x08ae)}, /* Logitech QuickCam for Notebooks */
{USB_DEVICE(0x046d, 0x08ae)}, /* Logitech QuickCam for Notebooks */
+
    {USB_DEVICE(0x055f, 0xd004)}, /* Mustek WCam300 AN */
{USB_DEVICE(0x055f, 0xd004)}, /* Mustek WCam300 AN */
+
    {USB_DEVICE(0x046d, 0x092b)}, /* Labtec Webcam Plus */
{USB_DEVICE(0x046d, 0x092b)}, /* Labtec Webcam Plus */
+
    {USB_DEVICE(0x0c45, 0x602e)}, /* Genius VideoCam Messenger */
{USB_DEVICE(0x0c45, 0x602e)}, /* Genius VideoCam Messenger */
+
    {USB_DEVICE(0x0c45, 0x602c)}, /* Generic Sonix OV7630 */
{USB_DEVICE(0x0c45, 0x602c)}, /* Generic Sonix OV7630 */
+
    {USB_DEVICE(0x093A, 0x050F)}, /* Mars-Semi Pc-Camera */
{USB_DEVICE(0x093A, 0x050F)}, /* Mars-Semi Pc-Camera */
+
    {USB_DEVICE(0x0458, 0x7006)}, /* Genius Dsc 1.3 Smart */
{USB_DEVICE(0x0458, 0x7006)}, /* Genius Dsc 1.3 Smart */
+
    {USB_DEVICE(0x055f, 0xc630)}, /* Mustek MDC4000 */
{USB_DEVICE(0x055f, 0xc630)}, /* Mustek MDC4000 */
+
    {USB_DEVICE(0x046d, 0x08ad)}, /* Logitech QCCommunicate STX */
{USB_DEVICE(0x046d, 0x08ad)}, /* Logitech QCCommunicate STX */
+
    {USB_DEVICE(0x0c45, 0x602d)}, /* LIC-200 LG */
{USB_DEVICE(0x0c45, 0x602d)}, /* LIC-200 LG */
+
    {USB_DEVICE(0x0c45, 0x6005)}, /* Sweex Tas5110 */
{USB_DEVICE(0x0c45, 0x6005)}, /* Sweex Tas5110 */
+
    {USB_DEVICE(0x0c45, 0x613c)}, /* Sonix Pccam168 */
{USB_DEVICE(0x0c45, 0x613c)}, /* Sonix Pccam168 */
+
    {USB_DEVICE(0x0c45, 0x6130)}, /* Sonix Pccam */
{USB_DEVICE(0x0c45, 0x6130)}, /* Sonix Pccam */
+
    {USB_DEVICE(0x0c45, 0x60c0)}, /* Sangha Sn535 */
{USB_DEVICE(0x0c45, 0x60c0)}, /* Sangha Sn535 */
+
    {USB_DEVICE(0x0c45, 0x60fc)}, /* LG-LIC300 */
{USB_DEVICE(0x0c45, 0x60fc)}, /* LG-LIC300 */
+
    {USB_DEVICE(0x0546, 0x3191)}, /* Polaroid Ion 80 */
{USB_DEVICE(0x0546, 0x3191)}, /* Polaroid Ion 80 */
+
    {USB_DEVICE(0x0ac8, 0x305b)}, /* Z-star Vimicro zc0305b */
{USB_DEVICE(0x0ac8, 0x305b)}, /* Z-star Vimicro zc0305b */
+
    {USB_DEVICE(0x0c45, 0x6028)}, /* Sonix Btc Pc380 */
{USB_DEVICE(0x0c45, 0x6028)}, /* Sonix Btc Pc380 */
+
    {USB_DEVICE(0x046d, 0x08a9)}, /* Logitech Notebook Deluxe */
{USB_DEVICE(0x046d, 0x08a9)}, /* Logitech Notebook Deluxe */
+
    {USB_DEVICE(0x046d, 0x08aa)}, /* Labtec Webcam  Notebook */
{USB_DEVICE(0x046d, 0x08aa)}, /* Labtec Webcam  Notebook */
+
    {USB_DEVICE(0x04f1, 0x1001)}, /* JVC GC A50 */
{USB_DEVICE(0x04f1, 0x1001)}, /* JVC GC A50 */
+
    {USB_DEVICE(0x0497, 0xc001)}, /* Smile International */
{USB_DEVICE(0x0497, 0xc001)}, /* Smile International */
+
    {USB_DEVICE(0x041e, 0x4012)}, /* PC-Cam350 */
{USB_DEVICE(0x041e, 0x4012)}, /* PC-Cam350 */
+
    {USB_DEVICE(0x0ac8, 0x303b)}, /* Vimicro 0x303b */
{USB_DEVICE(0x0ac8, 0x303b)}, /* Vimicro 0x303b */
+
    {USB_DEVICE(0x093a, 0x2468)}, /* PAC207 */
{USB_DEVICE(0x093a, 0x2468)}, /* PAC207 */
+
    {USB_DEVICE(0x093a, 0x2471)}, /* PAC207 Genius VideoCam ge111 */
{USB_DEVICE(0x093a, 0x2471)}, /* PAC207 Genius VideoCam ge111 */
+
    {USB_DEVICE(0x093a, 0x2460)}, /* PAC207 Qtec Webcam 100 */
{USB_DEVICE(0x093a, 0x2460)}, /* PAC207 Qtec Webcam 100 */
+
    {USB_DEVICE(0x0733, 0x3281)}, /* Cyberpix S550V */
{USB_DEVICE(0x0733, 0x3281)}, /* Cyberpix S550V */
+
    {USB_DEVICE(0x093a, 0x2470)}, /* Genius GF112 */
{USB_DEVICE(0x093a, 0x2470)}, /* Genius GF112 */
+
    {USB_DEVICE(0x046d, 0x08a6)}, /* Logitech QCim */
{USB_DEVICE(0x046d, 0x08a6)}, /* Logitech QCim */
+
    {USB_DEVICE(0x08ca, 0x2020)}, /* Aiptek Slim 3000F */
{USB_DEVICE(0x08ca, 0x2020)}, /* Aiptek Slim 3000F */
+
    {USB_DEVICE(0x0698, 0x2003)}, /* CTX M730V built in */
{USB_DEVICE(0x0698, 0x2003)}, /* CTX M730V built in */
+
    {USB_DEVICE(0x0c45, 0x6001)}, /* Genius VideoCAM NB */
{USB_DEVICE(0x0c45, 0x6001)}, /* Genius VideoCAM NB */
+
    {USB_DEVICE(0x041E, 0x4028)}, /* Creative Webcam Vista Plus */
{USB_DEVICE(0x041E, 0x4028)}, /* Creative Webcam Vista Plus */
+
    {USB_DEVICE(0x0471, 0x0325)}, /* Philips SPC 200 NC */
{USB_DEVICE(0x0471, 0x0325)}, /* Philips SPC 200 NC */
+
    {USB_DEVICE(0x0471, 0x0328)}, /* Philips SPC 700 NC */
{USB_DEVICE(0x0471, 0x0328)}, /* Philips SPC 700 NC */
+
    {USB_DEVICE(0x0c45, 0x6040)}, /* Speed NVC 350K */
{USB_DEVICE(0x0c45, 0x6040)}, /* Speed NVC 350K */
+
    {USB_DEVICE(0x055f, 0xc230)}, /* Mustek Digicam 330K */
{USB_DEVICE(0x055f, 0xc230)}, /* Mustek Digicam 330K */
+
    {USB_DEVICE(0x0c45, 0x6007)}, /* Sonix sn9c101 + Tas5110D */
{USB_DEVICE(0x0c45, 0x6007)}, /* Sonix sn9c101 + Tas5110D */
+
    {USB_DEVICE(0x0471, 0x0327)}, /* Philips SPC 600 NC */
{USB_DEVICE(0x0471, 0x0327)}, /* Philips SPC 600 NC */
+
    {USB_DEVICE(0x0471, 0x0326)}, /* Philips SPC 300 NC */
{USB_DEVICE(0x0471, 0x0326)}, /* Philips SPC 300 NC */
+
    {USB_DEVICE(0x0c45, 0x6019)}, /* Generic Sonix OV7630 */
{USB_DEVICE(0x0c45, 0x6019)}, /* Generic Sonix OV7630 */
+
    {USB_DEVICE(0x0c45, 0x6024)}, /* Generic Sonix Tas5130c */
{USB_DEVICE(0x0c45, 0x6024)}, /* Generic Sonix Tas5130c */
+
    {USB_DEVICE(0x0000, 0x0000)}, /* MystFromOri Unknow Camera */
{USB_DEVICE(0x0000, 0x0000)}, /* MystFromOri Unknow Camera */
+
 
</nowiki></pre> (Copied here to be found by searches for camera names; up-to-date on http://mxhaard.free.fr/spca5xx.html)
 
</nowiki></pre> (Copied here to be found by searches for camera names; up-to-date on http://mxhaard.free.fr/spca5xx.html)
 
== "No space left on device" error message ==
 
== "No space left on device" error message ==
第284行: 第306行:
 
[http://www.ubuntuforums.org/showpost.php?p=1444031&postcount=1]
 
[http://www.ubuntuforums.org/showpost.php?p=1444031&postcount=1]
 
----
 
----
[[category:CategoryDocumentation]]
 
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2009年5月12日 (二) 18:55的最新版本

Content: Newer Logitech Quick Cam Express Webcams and a lot of other Webcams are supported by the spca5xx driver, a branch of the spca50x driver. The spca5xx driver supports a wider range of cameras, but classifies itselves as experimental. (This means it might crash your kernel in the worst case.) The spca5xx driver is included in the Ubuntu kernel and works out of the box in Ubuntu 6.06 and higher. In Ubuntu 5.10 the included driver is unfortunately buggy and will freeze your system, once the webcam is accessed. That's why you have to replace it by a self-compiled one (see below).

Ubuntu 7.10 (Gutsy), and 8.04 (Hardy)

Since Gutsy the spca5xx driver has been replaced by gspca. If the webcam does not automatically work check that the gspca module has been loaded with

lsmod | grep gspca

If it is not loaded (the command results in no output) run

sudo modprobe gspca

Ubuntu 6.06 (Dapper), 6.10 (Edgy), and 7.04 (Feisty)

You don't have to do anything, just go ahead and plugin your webcam. Then you can use any application (e.g. gqcam, kopete, ...) to access the webcam. If it does not work, see the Troubleshooting section below.

Ubuntu 5.10 (Breezy)

If you want to replace the spca5xx driver delivered with Ubuntu Breezy Badger, this text shows you how. A compilation of the kernel is not necessary. /!\ The spca5xx module delivered with Ubuntu Breezy is buggy and needs to be replaced, if you want to use it. This bug manifests itself by crashing the system when the camera is activated. This howto is partially based on information found in arnieboy's posting: [1]

Step 1: Get the spca5xx source code

First download the current spca5xx source from Michel Xhaard's homepage and store it in your home directory. At the time of writing 20051212 is the latest version.

cd ~
wget http://mxhaard.free.fr/spca50x/Download/spca5xx-20051212.tar.gz

But check out his site for a newer version at [2] <
> Change any occurance of spca5xx-20051212 in this how-to to the version you have downloaded.

Step 2: Become root

For administrative task Ubuntu uses the sudo command. This will not work here. (We have to change an environment variable (see below). If we use sudo this change will be discarded when the execution of the sudo commands ends, i.e. immediately.) So, we use this method: <
> Open a terminal window and enter:

sudo -s

When prompted for your password, enter your user password. The prompt should change to:

root@yourmachine:

Step 3: Download the necessary packages

In order to compile and integrate the drivers, the following packages are needed from the Ubuntu repositories:

  1. linux-headers-`uname -r`
  2. linux-restricted-modules-`uname -r`
  3. build-essential
  4. gcc-3.4

linux-... - The construct `uname -r` will evaluate to the version of the running kernel, e.g. 2.6.12.10-k7 (may vary on your system). The "linux" packages will download the headers of your kernel and the restricted modules from the repositories. build-essential - contains utilities for compiling source code. gcc-3.4 - The GNU C compiler. By default Breezy installs gcc-4.0 on your system. But the current kernel is compiled with gcc-3.4. Kernel modules MUST be compiled with the same compiler version as the kernel itself, so we need the older version. <
> /!\ This information is valid for Breezy and may change in later versions of Ubuntu. The command to install these packages is:

apt-get install linux-headers-`uname -r` linux-restricted-modules-`uname -r` build-essential gcc-3.4

Step 4: Compiling the spca5xx source code

The linux stuff is installed under /usr/src. So I suggest, you go there:

cd /usr/src

and move the spca5xx source from your home directory to this location:

mv ~/spca5xx-20051212.tar.gz .

Unpack it

tar xfvz spca5xx-20051212.tar.gz

Enter the spca5xx directory

cd spca5xx-20051212

Workaround to make the Makefile use gcc-3.4

The Makefile which controls the compiling process for this driver has to be told to use gcc-3.4 instead of the default version 4.0: export CC=gcc-3.4 This sets the environment variable CC, which is used in the spac5xx Makefile to select the compiler. <<Anchor(setlink)>>

Setting a link back to the source code (headers)

Furthermore the spca5xx Makefile expect a pointer to the kernel source at a specific location. Let's create it:

ln -s /usr/src/linux-headers-`uname -r` /lib/modules/`uname -r`/build

(Note: If you compile a kernel, this link is usually there. But as we use a pre-compiled kernel, we have to cheat.)

Compiling the spca5xx source code

make

There should be no errors.

Removing the old driver from memory

modprobe -r spca5xx

Removing the old driver from the hard drive

rm -rf /lib/modules/`uname -r`/kernel/drivers/usb/media/spca5xx*

Install the new driver

make install

Load the new driver

modprobe spca5xx

There should be no errors and `dmesg` could give you something like

spca5xx-20050419/drivers/usb/spca5xx.c: USB SPCA5xx camera found. Type QC Express (unknown CCD)
spca5xx-20050419/drivers/usb/spca5xx.c: [spca5xx_probe:8174] Camera type GBGR
usbcore: registered new driver spca5xx
spca5xx-20050419/drivers/usb/spca5xx.c: spca5xx driver 00.56.01 registered

If there are no errors and the 'dmesg' output checks out, but you are still not getting an image from your camera, remove the driver from memory:

modprobe -r spca5xx

then reload the driver with a 'usbgrabber=1' parameter:

modprobe spca5xx usbgrabber=1

(The 'usbgrabber=1' has been known to solve problems with the X10 VA11A USB capture device.) /!\ Remember: This process (at least the last 4 steps) has to be repeated if a new kernel version has been installed.

Links

A HowTo in the blog entry [3] Easycam is a script automating the above mentioned procedure. It's only running in a graphical environment. See. Webcam

Troubleshooting

  • Even if you're running a version of Ubuntu that includes spca5xx out of the box, you still might not have it and need to install the driver. In that case, the easiest way is to enable the universe repository then follow these installation instructions.
  • If the kernel was compiled using a gcc version different from what was used for compiling the spca5xx module, you will get an error message complaining
FATAL: Error inserting spca5xx (spca5xx.ko): Invalid module format You will have to recompile with the correct gcc version.
  • Check whether the webcam was recognized by your system: The device node `/dev/video` and/or `/dev/video0` should exist.
  • Try connecting your webcam to a USB port directly. If you're are using a USB hub to connect it, the webcam might not work and might freeze your computer.
  • Check the last lines of `dmesg` for information about a possible failure
  • If you get the error message `No space left on device`, first unplug all other USB devices from your USB port. If the webcam works then, you might want to experiment with which USB port to use, as it seems to have these problems when on the same bus as e.g. a USB mouse.
  • To use your spca5xx-supported webcam with GnomeMeeting will require libpt-plugins-v4l. This can be installed by running:
sudo apt-get install libpt-plugins-v4l Once installed set up GnomeMeeting with v4l (not v4l2). The video controls (brightness, contrast etc. in GnomeMeeting) do not seem to work.
  • spca5xx supports the following cameras (as of version spca5xx-20060402)
   Vendor ID  Device ID  Support Summary
              ---------  ---------  ---------------
   {USB_DEVICE(0x0733, 0x0430)},	/* Intel PC Camera Pro */
   {USB_DEVICE(0x0733, 0x0401)},	/* Intel Create and Share */
   {USB_DEVICE(0x99FA, 0x8988)},	/* Grandtec V.cap */
   {USB_DEVICE(0x0733, 0x0402)},	/* ViewQuest M318B */
   {USB_DEVICE(0x0733, 0x0110)},	/* ViewQuest VQ110 */
   {USB_DEVICE(0x040A, 0x0002)},	/* Kodak DVC-325 */
   {USB_DEVICE(0x055f, 0xc420)},	/* Mustek gSmart Mini 2 */
   {USB_DEVICE(0x055f, 0xc520)},	/* Mustek gSmart Mini 3 */
   {USB_DEVICE(0x041E, 0x400A)},	/* Creative PC-CAM 300 */
   {USB_DEVICE(0x084D, 0x0003)},	/* D-Link DSC-350 */
   {USB_DEVICE(0x041E, 0x400B)},	/* Creative PC-CAM 600 */
   {USB_DEVICE(0x8086, 0x0630)},	/* Intel Pocket PC Camera */
   {USB_DEVICE(0x8086, 0x0110)},	/* Intel Easy PC Camera */
   {USB_DEVICE(0x0506, 0x00df)},	/* 3Com HomeConnect Lite */
   {USB_DEVICE(0x040a, 0x0300)},	/* Kodak EZ200 */
   {USB_DEVICE(0x04fc, 0x504b)},	/* Maxell MaxPocket LE 1.3 */
   {USB_DEVICE(0x08ca, 0x2008)},	/* Aiptek Mini PenCam 2 M */
   {USB_DEVICE(0x08ca, 0x0104)},	/* Aiptek PocketDVII 1.3 */
   {USB_DEVICE(0x08ca, 0x2018)},	/* Aiptek Pencam SD 2M */
   {USB_DEVICE(0x04fc, 0x504a)},	/* Aiptek Mini PenCam 1.3 */
   {USB_DEVICE(0x055f, 0xc530)},	/* Mustek Gsmart LCD 3 */
   {USB_DEVICE(0x055f, 0xc650)},	/* Mustek MDC5500Z */
   {USB_DEVICE(0x052b, 0x1513)},	/* Megapix V4 */
   {USB_DEVICE(0x08ca, 0x0103)},	/* Aiptek PocketDV */
   {USB_DEVICE(0x0af9, 0x0010)},	/* Hama USB Sightcam 100 */
   {USB_DEVICE(0x1776, 0x501c)},	/* Arowana 300K CMOS Camera */
   {USB_DEVICE(0x08ca, 0x0106)},	/* Aiptek Pocket DV3100+ */
   {USB_DEVICE(0x08ca, 0x2010)},	/* Aiptek PocketCam 3M */
   {USB_DEVICE(0x0458, 0x7004)},	/* Genius VideoCAM Express V2 */
   {USB_DEVICE(0x04fc, 0x0561)},	/* Flexcam 100 */
   {USB_DEVICE(0x055f, 0xc430)},	/* Mustek Gsmart LCD 2 */
   {USB_DEVICE(0x04fc, 0xffff)},	/* Pure DigitalDakota */
   {USB_DEVICE(0xabcd, 0xcdee)},	/* Petcam */
   {USB_DEVICE(0x04a5, 0x3008)},	/* Benq DC 1500 */
   {USB_DEVICE(0x046d, 0x0960)},	/* Logitech Inc. ClickSmart 420 */
   {USB_DEVICE(0x046d, 0x0901)},	/* Logitech Inc. ClickSmart 510 */
   {USB_DEVICE(0x04a5, 0x3003)},	/* Benq DC 1300 */
   {USB_DEVICE(0x0af9, 0x0011)},	/* Hama USB Sightcam 100 */
   {USB_DEVICE(0x055f, 0xc440)},	/* Mustek DV 3000 */
   {USB_DEVICE(0x041e, 0x4013)},	/* Creative Pccam750 */
   {USB_DEVICE(0x060b, 0xa001)},	/* Maxell Compact Pc PM3 */
   {USB_DEVICE(0x04a5, 0x300a)},	/* Benq DC3410 */
   {USB_DEVICE(0x04a5, 0x300c)},	/* Benq DC1016 */
   {USB_DEVICE(0x0461, 0x0815)},	/* Micro Innovation IC200 */
   {USB_DEVICE(0x046d, 0x0890)},	/* Logitech QuickCam traveler */
   {USB_DEVICE(0x10fd, 0x7e50)},	/* FlyCam Usb 100 */
   {USB_DEVICE(0x06e1, 0xa190)},	/* ADS Instant VCD */
   {USB_DEVICE(0x055f, 0xc220)},	/* Gsmart Mini */
   {USB_DEVICE(0x0733, 0x2211)},	/* Jenoptik jdc 21 LCD */
   {USB_DEVICE(0x046d, 0x0900)},	/* Logitech Inc. ClickSmart 310 */
   {USB_DEVICE(0x055f, 0xc360)},	/* Mustek DV4000 Mpeg4  */
   {USB_DEVICE(0x08ca, 0x2024)},	/* Aiptek DV3500 Mpeg4  */
   {USB_DEVICE(0x046d, 0x0905)},	/* Logitech ClickSmart820  */
   {USB_DEVICE(0x05da, 0x1018)},	/* Digital Dream Enigma 1.3 */
   {USB_DEVICE(0x0c45, 0x6025)},	/* Xcam Shanga */
   {USB_DEVICE(0x0733, 0x1311)},	/* Digital Dream Epsilon 1.3 */
   {USB_DEVICE(0x041e, 0x401d)},	/* Creative Webcam NX ULTRA */
   {USB_DEVICE(0x08ca, 0x2016)},	/* Aiptek PocketCam 2 Mega */
   {USB_DEVICE(0x0734, 0x043b)},	/* 3DeMon USB Capture aka */
   {USB_DEVICE(0x041E, 0x4018)},	/* Creative Webcam Vista (PD1100) */
   {USB_DEVICE(0x0546, 0x3273)},	/* Polaroid PDC2030 */
   {USB_DEVICE(0x041e, 0x401f)},	/* Creative Webcam Notebook PD1171 */
   {USB_DEVICE(0x041e, 0x4017)},	/* Creative Webcam Mobile PD1090 */
   {USB_DEVICE(0x046d, 0x08a2)},	/* Labtec Webcam Pro */
   {USB_DEVICE(0x055f, 0xd003)},	/* Mustek WCam300A */
   {USB_DEVICE(0x0458, 0x7007)},	/* Genius VideoCam V2 */
   {USB_DEVICE(0x0458, 0x700c)},	/* Genius VideoCam V3 */
   {USB_DEVICE(0x0458, 0x700f)},	/* Genius VideoCam Web V2 */
   {USB_DEVICE(0x041e, 0x401e)},	/* Creative Nx Pro */
   {USB_DEVICE(0x0c45, 0x6029)},	/* spcaCam@150 */
   {USB_DEVICE(0x0c45, 0x6009)},	/* spcaCam@120 */
   {USB_DEVICE(0x0c45, 0x600d)},	/* spcaCam@120 */
   {USB_DEVICE(0x04fc, 0x5330)},	/* Digitrex 2110 */
   {USB_DEVICE(0x055f, 0xc540)},	/* Gsmart D30 */
   {USB_DEVICE(0x0ac8, 0x301b)},	/* Asam Vimicro */
   {USB_DEVICE(0x041e, 0x403a)},	/* Creative Nx Pro 2 */
   {USB_DEVICE(0x055f, 0xc211)},	/* Kowa Bs888e Microcamera */
   {USB_DEVICE(0x0ac8, 0x0302)},	/* Z-star Vimicro zc0302 */
   {USB_DEVICE(0x0572, 0x0041)},	/* Creative Notebook cx11646 */
   {USB_DEVICE(0x08ca, 0x2022)},	/* Aiptek Slim 3200 */
   {USB_DEVICE(0x046d, 0x0921)},	/* Labtec Webcam */
   {USB_DEVICE(0x046d, 0x0920)},	/* QC Express */
   {USB_DEVICE(0x0923, 0x010f)},	/* ICM532 cams */
   {USB_DEVICE(0x055f, 0xc200)},	/* Mustek Gsmart 300 */
   {USB_DEVICE(0x0733, 0x2221)},	/* Mercury Digital Pro 3.1p */
   {USB_DEVICE(0x041e, 0x4036)},	/* Creative Live ! */
   {USB_DEVICE(0x055f, 0xc005)},	/* Mustek Wcam300A */
   {USB_DEVICE(0x041E, 0x403b)},	/* Creative Webcam Vista (VF0010) */
   {USB_DEVICE(0x0545, 0x8333)},	/* Veo Stingray */
   {USB_DEVICE(0x0545, 0x808b)},	/* Veo Stingray */
   {USB_DEVICE(0x10fd, 0x8050)},	/* Typhoon Webshot II USB 300k */
   {USB_DEVICE(0x0546, 0x3155)},	/* Polaroid PDC3070 */
   {USB_DEVICE(0x046d, 0x0928)},	/* Logitech QC Express Etch2 */
   {USB_DEVICE(0x046d, 0x092a)},	/* Logitech QC for Notebook */
   {USB_DEVICE(0x046d, 0x08a0)},	/* Logitech QC IM */
   {USB_DEVICE(0x0461, 0x0a00)},	/* MicroInnovation WebCam320 */
   {USB_DEVICE(0x08ca, 0x2028)},	/* Aiptek PocketCam4M */
   {USB_DEVICE(0x08ca, 0x2042)},	/* Aiptek PocketDV5100 */
   {USB_DEVICE(0x08ca, 0x2060)},	/* Aiptek PocketDV5300 */
   {USB_DEVICE(0x04fc, 0x5360)},	/* Sunplus Generic */
   {USB_DEVICE(0x046d, 0x08a1)},	/* Logitech QC IM 0x08A1 +sound */
   {USB_DEVICE(0x046d, 0x08a3)},	/* Logitech QC Chat */
   {USB_DEVICE(0x046d, 0x08b9)},	/* Logitech QC IM ??? */
   {USB_DEVICE(0x046d, 0x0929)},	/* Labtec Webcam Elch2 */
   {USB_DEVICE(0x10fd, 0x0128)},	/* Typhoon Webshot II USB 300k 0x0128 */
   {USB_DEVICE(0x102c, 0x6151)},	/* Qcam Sangha CIF */
   {USB_DEVICE(0x102c, 0x6251)},	/* Qcam xxxxxx VGA */
   {USB_DEVICE(0x04fc, 0x7333)},	/* PalmPixDC85 */
   {USB_DEVICE(0x06be, 0x0800)},	/* Optimedia */
   {USB_DEVICE(0x2899, 0x012c)},	/* Toptro Industrial */
   {USB_DEVICE(0x06bd, 0x0404)},	/* Agfa CL20 */
   {USB_DEVICE(0x046d, 0x092c)},	/* Logitech QC chat Elch2 */
   {USB_DEVICE(0x0c45, 0x607c)},	/* Sonix sn9c102p Hv7131R */
   {USB_DEVICE(0x0733, 0x3261)},	/* Concord 3045 spca536a */
   {USB_DEVICE(0x0733, 0x1314)},	/* Mercury 2.1MEG Deluxe Classic Cam */
   {USB_DEVICE(0x041e, 0x401c)},	/* Creative NX */
   {USB_DEVICE(0x041e, 0x4034)},	/* Creative Instant P0620 */
   {USB_DEVICE(0x041e, 0x4035)},	/* Creative Instant P0620D */
   {USB_DEVICE(0x046d, 0x08ae)},	/* Logitech QuickCam for Notebooks */
   {USB_DEVICE(0x055f, 0xd004)},	/* Mustek WCam300 AN */
   {USB_DEVICE(0x046d, 0x092b)},	/* Labtec Webcam Plus */
   {USB_DEVICE(0x0c45, 0x602e)},	/* Genius VideoCam Messenger */
   {USB_DEVICE(0x0c45, 0x602c)},	/* Generic Sonix OV7630 */
   {USB_DEVICE(0x093A, 0x050F)},	/* Mars-Semi Pc-Camera */
   {USB_DEVICE(0x0458, 0x7006)},	/* Genius Dsc 1.3 Smart */
   {USB_DEVICE(0x055f, 0xc630)},	/* Mustek MDC4000 */
   {USB_DEVICE(0x046d, 0x08ad)},	/* Logitech QCCommunicate STX */
   {USB_DEVICE(0x0c45, 0x602d)},	/* LIC-200 LG */
   {USB_DEVICE(0x0c45, 0x6005)},	/* Sweex Tas5110 */
   {USB_DEVICE(0x0c45, 0x613c)},	/* Sonix Pccam168 */
   {USB_DEVICE(0x0c45, 0x6130)},	/* Sonix Pccam */
   {USB_DEVICE(0x0c45, 0x60c0)},	/* Sangha Sn535 */
   {USB_DEVICE(0x0c45, 0x60fc)},	/* LG-LIC300 */
   {USB_DEVICE(0x0546, 0x3191)},	/* Polaroid Ion 80 */
   {USB_DEVICE(0x0ac8, 0x305b)},	/* Z-star Vimicro zc0305b */
   {USB_DEVICE(0x0c45, 0x6028)},	/* Sonix Btc Pc380 */
   {USB_DEVICE(0x046d, 0x08a9)},	/* Logitech Notebook Deluxe */
   {USB_DEVICE(0x046d, 0x08aa)},	/* Labtec Webcam  Notebook */
   {USB_DEVICE(0x04f1, 0x1001)},	/* JVC GC A50 */
   {USB_DEVICE(0x0497, 0xc001)},	/* Smile International */
   {USB_DEVICE(0x041e, 0x4012)},	/* PC-Cam350 */
   {USB_DEVICE(0x0ac8, 0x303b)},	/* Vimicro 0x303b */
   {USB_DEVICE(0x093a, 0x2468)},	/* PAC207 */
   {USB_DEVICE(0x093a, 0x2471)},	/* PAC207 Genius VideoCam ge111 */
   {USB_DEVICE(0x093a, 0x2460)},	/* PAC207 Qtec Webcam 100 */
   {USB_DEVICE(0x0733, 0x3281)},	/* Cyberpix S550V */
   {USB_DEVICE(0x093a, 0x2470)},	/* Genius GF112 */
   {USB_DEVICE(0x046d, 0x08a6)},	/* Logitech QCim */
   {USB_DEVICE(0x08ca, 0x2020)},	/* Aiptek Slim 3000F */
   {USB_DEVICE(0x0698, 0x2003)},	/* CTX M730V built in */
   {USB_DEVICE(0x0c45, 0x6001)},	/* Genius VideoCAM NB */
   {USB_DEVICE(0x041E, 0x4028)},	/* Creative Webcam Vista Plus */
   {USB_DEVICE(0x0471, 0x0325)},	/* Philips SPC 200 NC */
   {USB_DEVICE(0x0471, 0x0328)},	/* Philips SPC 700 NC */
   {USB_DEVICE(0x0c45, 0x6040)},	/* Speed NVC 350K */
   {USB_DEVICE(0x055f, 0xc230)},	/* Mustek Digicam 330K */
   {USB_DEVICE(0x0c45, 0x6007)},	/* Sonix sn9c101 + Tas5110D */
   {USB_DEVICE(0x0471, 0x0327)},	/* Philips SPC 600 NC */
   {USB_DEVICE(0x0471, 0x0326)},	/* Philips SPC 300 NC */
   {USB_DEVICE(0x0c45, 0x6019)},	/* Generic Sonix OV7630 */
   {USB_DEVICE(0x0c45, 0x6024)},	/* Generic Sonix Tas5130c */
   {USB_DEVICE(0x0000, 0x0000)},	/* MystFromOri Unknow Camera */
(Copied here to be found by searches for camera names; up-to-date on http://mxhaard.free.fr/spca5xx.html)

"No space left on device" error message

How to Fix the “No space left on device” error message and Install the Spca5xx driver? check the following thread in the forums: [4]