Luc Saillard Lair's

Sections
You are here: Home » linux » pwc

Philips USB Webcam Driver for Linux

Up one level
Free Philips USB Webcam driver for Linux that supports VGA resolution, newer kernels and replacing the old pwcx module.
Latest release: 10.0.12-rc1
Latest snapshot: spc900nc support

This is a fork of the discontinuity pwc driver made by Nemosoft Unv. You don't need binary module with this driver, however decompression is supported for big resolution (640x480). The driver is designed for Linux 2.6, patches for 2.4 is not tested. I'll try to produce update for the 2.4 kernel.

If you don't want to patches your kernel, just grab the tarball, and do a make to build the module (or better read the INSTALL.en). The module is ~80kbytes long, and allocate ~60kbytes of kernel memory for decompressor. Add some bits for buffering images and you will have a idea of the kernel size.

Patches modify the following files:

 Documentation/usb/philips.txt          |  236 +++
 drivers/usb/media/Kconfig              |   36 
 drivers/usb/media/Makefile             |    1 
 drivers/usb/media/pwc/Makefile         |   56 
 drivers/usb/media/pwc/pwc-ctrl.c       | 1644 +++++++++++++++++++++++++++
 drivers/usb/media/pwc/pwc-dec1.c       |   42 
 drivers/usb/media/pwc/pwc-dec1.h       |   36 
 drivers/usb/media/pwc/pwc-dec23.c      |  654 ++++++++++
 drivers/usb/media/pwc/pwc-dec23.h      |   58 
 drivers/usb/media/pwc/pwc-if.c         | 1965 +++++++++++++++++++++++++++++++++
 drivers/usb/media/pwc/pwc-ioctl.h      |  307 +++++
 drivers/usb/media/pwc/pwc-kiara.c      |  891 ++++++++++++++
 drivers/usb/media/pwc/pwc-kiara.h      |   45 
 drivers/usb/media/pwc/pwc-misc.c       |  142 ++
 drivers/usb/media/pwc/pwc-nala.h       |   66 +
 drivers/usb/media/pwc/pwc-timon.c      | 1446 ++++++++++++++++++++++++
 drivers/usb/media/pwc/pwc-timon.h      |   61 +
 drivers/usb/media/pwc/pwc-uncompress.c |  144 ++
 drivers/usb/media/pwc/pwc-uncompress.h |   41 
 drivers/usb/media/pwc/pwc-v4l.c        |  914 +++++++++++++++
 drivers/usb/media/pwc/pwc.h            |  295 ++++
 21 files changed, 9080 insertions(+)

Warning: This driver does not support these newer Logitech webcam:

Product IdModel
0x8C1Logitech QuickCam Fusion
0x8C2Logitech QuickCam PTZ (newer version of the sphere)
0x8C3QuickCam for Notebooks Pro
0x8C5Logitech QuickCam Pro 5000
0x8CFLogitech QuickCam UpdateMe
A new driver that support USB Video Class is now available at http://linux-uvc.berlios.de/. Thanks to Laurent Pinchart for working on it. You can help him by testing the driver and reports bugs.

Documentation:

  • Bugs to see know bugs.
  • Consult the ChangeLog to know what's changed between each releases.
  • Read this Howto to install the driver in english.
  • Lisez ce manuel pour installer le driver en franšais.

Kenneth Lavrsen have setup a wiki to answer all questions about the pwc driver. You will find on the wiki a very good API documentation describing ioctls implemented by the driver

A mailing list is available for both user and developper. So please ask questions to the mailing list and not me.

Small howto in french to patch the kernel for Debian/GNU Linux.

Files:

Links:

Some very usefull links:

Random Quotes:

Note
this version of pwc is an unofficial (modified) release of pwc & pwcx driver and thus may have bugs that are not present in the original version. Please send bug reports and support requests to <luc @ saillard . org>. The decompression routines have been implemented by reverse-engineering the Nemosoft binary pwcx module. Caveat emptor.
Note 2
With this driver, you don't need the binary module pwcx.ko. The module pwc.ko contains all code to support you webcam in full resolution. Big tables in the driver is not a binary blob execute on your CPU, but some datas used to do the image transformation.
Note 3
On some webcam likes Quickcam Zoom Silver (usb product ID: 046d:08b4), you need to set module option: power_save=1
Note 4
Some Samsung Webcam need to change the type of the webcam.
Note 5
Last drivers need to have a recent kernel >= 2.6.9
Note 6
Always try the latest snapshots before reporting a bug. Thanks !
Created by Luc Saillard
Last updated: Apr 13, 2006