Installation notes 8.*

Since the PWC driver 8.0 and higher are in the main Linux kernel tree, you probably don't have to install anything on your system; just load the kernel module pwc.o and optionally pwcx.o and you should be up and running. Here's an extremely small HOWTO for upgrading your PWC in your current kernel; it's not very specific for the very simple reason that there are way too many different Linux distributions and I cannot describe them all. So I assume you know at least how to copy files, build a kernel, etc.

If this all went well, you should now have a new PWC module available for your system!

I will write a small HOWTO soon if you want/need to upgrade the PWC in your kernel.

For module parameters, etc., see >Documentation/usb/philips.txt in the kernel source for the latest information.

RedHat 7.3/7.2

For those who are less familiair with building kernels and loading modules or are afraid to login as 'root', Curt Noll put up elaborate instrunctions on his site on how configure your RedHat system, including fully automated hotplug support. Please direct all questions regarding these instructions to Curt Noll, and no, it's no use asking me or Curt for instructions on other Linux distributions.

Installation notes for older versions of PWC


Common installation problems

First, if you get these errors while loading the module:

/lib/modules/2.4.3/kernel/drivers/usb/pwc.o: unresolved symbol kmalloc
/lib/modules/2.4.3/kernel/drivers/usb/pwc.o: unresolved symbol kfree
/lib/modules/2.4.3/kernel/drivers/usb/pwc.o: unresolved symbol printk

you forgot to turn module versioning off in your current kernel (or your Linux distribution has such a kernel installed for you). Recompile and install your kernel without this.

Second, I've received a number of error reports that unfortunately have nothing to do with my driver. The error messages look like this:

	usb.c: USB device not accepting new address=10 (error=-110) 
	hub.c: USB new device connect on bus1/1, assigned device number 12 
	usb_control/bulk_msg: timeout 
	usb.c: USB device not accepting new address=12 (error=-110) 

The key phrase in here is "device not accepting new address". When a USB device is plugged in, it gets assigned a unique bus number (the address) by the USB core; only after this succeeds the device is probed for its Vendor and Device ID and a driver is sought. But appearantly this fails, and the USB device does not accept the new address. There can be a number of causes:

The long and short of it is: it has nothing to do with my driver, so please don't send me bug reports when this happens. However, there are a few things you can try out:

If this doesn't help, try the linux-usb-user mailinglist at SourceForge. Try to search the archives first. When you must mail, make sure to include a description of your hardware (motherboard, USB controller, kernel, etc).

Module load order

This isn't strictly related to the Philips Webcam modules, but it's useful information anyway. The best order in which to load your USB modules is to load all 'device' drivers first (audio, pwc, acm, scanners, etc), and finally your USB controller (usb-uhci, usb-ohci).

If you do it the other way around, you'll get spammed crazy by the USB-core with descriptor dumps because it couldn't find a driver for a particular device. The order in which you load the device drivers doesn't matter.