PWC insanity

Submitted by ahz
on July 10, 2005 - 1:10pm

I have a QuickCam Orbit that works great with my desktop: x86, Linux 2.6, PWC driver 10.

When I try to use the same camera with my embedded, single board computer with ARM processor (TS-7250) and Linux 2.4.26, and pwc driver 10.0.4, almost all operations fail. (Only the Linux 2.4.26 is supported for the TS-7250.)

I would sincerely appreciate any help, as I am mostly lost, and this is a fundamental part of a bigger extracurricular college project due later this month. I was expecting to do application development, but am running into kernel issues which are beyond my expertise.

$ insmod /mnt/nfs/linux24_ts8/drivers/usb/pwc.o
Using /mnt/nfs/linux24_ts8/drivers/usb/pwc.o
pwc Philips webcam module version 9.0.2-unofficial loaded.
pwc Supports Philips PCA645/646, PCVC675/680/690, PCVC720[40]/730/740/750 & PCVC830/840.
pwc Also supports the Askey VC010, various Logitech Quickcams, Samsung MPC-C10 and MPC-C30,
pwc the Creative WebCam 5 & Pro Ex, SOTEC Afina Eye and Visionite VCS-UC300 and VCS-UM100.
usb.c: registered new driver Philips webcam
pwc Logitech QuickCam Orbit/Sphere USB webcam detected.
pwc Registered as /dev/video0.

The actual device is /dev/v4l/video0, but I don't think that should matter.

Here is the first sign of trouble when querying tilt and pan. There is an error and values out of range.

$ /mnt/nfs/compiled/setpwc -d /dev/v4l/video0 -u
setpwc v0.9, (C) 2003-2005 by folkert@vanheusden.com
Error while doing ioctl VIDIOCPWCMPTSTATUS: Broken pipe
Status: 6
Time pan: -1065797440
Time tilt: 76720/pre>

More trouble when dumping settings. Notice that at least the device name (Logitech QuickCam Orbit) is OK. Some values are clearly out of range, and it's a good guess the rest of them are wrong too.

$ /mnt/nfs/compiled/setpwc -d /dev/v4l/video0 -p
setpwc v0.9, (C) 2003-2005 by folkert@vanheusden.com
Current device: Logitech QuickCam Orbit
VIDIOCPWCPROBE returns: Logitech QuickCam Orbit - 740  
Resolution (x, y): 160, 120
Offset: 0, 0
Framerate: 10
Brightness: 7680
Hue: 65535
Colour: 32768
Contrast: 32768
Whiteness: 49152
Palette: YUV 4:2:0 Planar
Compression preference: 2
Automatic gain control: -4956
Whitebalance mode: auto
Blinking of LED is not supported by the combination
of your webcam and the driver.
Sharpness: -1
Backlight compensation mode: off
Anti-flicker mode: on
Noise reduction mode: 1
Pan min. : -7000, max.: 7000
Tilt min.: -3000, max.: 2500
Pan  (degrees * 100): 0
Tilt (degrees * 100): 0

OK, so I thought I could maybe capture an image anyway, but I can't. For example:

$ /mnt/nfs/compiled/videograb -d /dev/v4l/video0 -c 1
ioctl (VIDIOCSPICT): Invalid argument
wrong palette/depth: Invalid argument