PWC camera stopped working after upgrade to 1.24
Posted: Tue May 05, 2009 6:16 pm
Hi,
I just upgraded to version 1.24, and my two usb cameras both stopped working.
I spent the day troubleshooting it, with no luck.
My cameras are both using the pwc driver and while different (philips and logitech) they seems to be based on same chipset.
Both the cameras work with aMSN, cheese and xawtv. YUV420p is the only format supported by the camera.
With 1.23 (v4l 1?) I used them in YUV420P without any problem.
With 1.24 I tried v4l 1 - YUV420P fails to initialise the camera.
I also tried v4l 2. Only YUV420 initialises the camera successfully, (all the other make zmc crash) but the colours are all wrong (the white become a bright green), and the YUV420P does not seem to be available.
Am I missing something obvious?
v4l-info /dev/video2
### v4l2 device info [/dev/video2] ###
general info
VIDIOC_QUERYCAP
driver : "pwc"
card : "Philips 680 webcam"
bus_info : "usb-0000:00:02.0-3"
version : 10.0.12
capabilities : 0x5000001 [VIDEO_CAPTURE,READWRITE,STREAMING]
standards
VIDIOC_ENUMSTD(0)
index : 0
id : 0x0 []
name : "webcam"
frameperiod.numerator : 0
frameperiod.denominator : 0
framelines : 0
inputs
VIDIOC_ENUMINPUT(0)
index : 0
name : "usb"
type : unknown
audioset : 0
tuner : 0
std : 0x0 []
status : 0x0 []
video capture
VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index : 0
type : VIDEO_CAPTURE
flags : 1
description : "Raw Philips Webcam"
pixelformat : 0x32435750 [PWC2]
VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
index : 1
type : VIDEO_CAPTURE
flags : 0
description : "4:2:0, planar, Y-Cb-Cr"
pixelformat : 0x32315559 [YU12]
VIDIOC_G_FMT(VIDEO_CAPTURE)
type : VIDEO_CAPTURE
fmt.pix.width : 352
fmt.pix.height : 288
fmt.pix.pixelformat : 0x32315559 [YU12]
fmt.pix.field : NONE
fmt.pix.bytesperline : 528
fmt.pix.sizeimage : 152064
fmt.pix.colorspace : unknown
fmt.pix.priv : 0
controls
VIDIOC_QUERYCTRL(BASE+0)
id : 9963776
type : INTEGER
name : "Brightness"
minimum : 0
maximum : 128
step : 1
default_value : 64
flags : 0
VIDIOC_QUERYCTRL(BASE+1)
id : 9963777
type : INTEGER
name : "Contrast"
minimum : 0
maximum : 64
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(BASE+2)
id : 9963778
type : INTEGER
name : "Saturation"
minimum : -100
maximum : 100
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+0)
id : 134217728
type : BUTTON
name : "Save User Settings"
minimum : 0
maximum : 0
step : 0
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+1)
id : 134217729
type : BUTTON
name : "Restore User Settings"
minimum : 0
maximum : 0
step : 0
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+2)
id : 134217730
type : BUTTON
name : "Restore Factory Settings"
minimum : 0
maximum : 0
step : 0
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+3)
id : 134217731
type : BOOLEAN
name : "Colour mode"
minimum : 0
maximum : 1
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+4)
id : 134217732
type : BOOLEAN
name : "Auto contour"
minimum : 0
maximum : 1
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+5)
id : 134217733
type : INTEGER
name : "Contour"
minimum : 0
maximum : 63
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+6)
id : 134217734
type : BOOLEAN
name : "Backlight compensation"
minimum : 0
maximum : 1
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+7)
id : 134217735
type : BOOLEAN
name : "Flickerless"
minimum : 0
maximum : 1
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+8)
id : 134217736
type : INTEGER
name : "Noise reduction"
minimum : 0
maximum : 3
step : 1
default_value : 0
flags : 0
### video4linux device info [/dev/video2] ###
general info
VIDIOCGCAP
name : "Philips 680 webcam"
type : 0x1 [CAPTURE]
channels : 1
audios : 1
maxwidth : 640
maxheight : 480
minwidth : 128
minheight : 96
channels
VIDIOCGCHAN(0)
channel : 0
name : "Webcam"
tuners : 0
flags : 0x0 []
type : CAMERA
norm : 0
tuner
ioctl VIDIOCGTUNER: Invalid argument
audio
VIDIOCGAUDIO
audio : -1
volume : 0
bass : 0
treble : 0
picture
VIDIOCGPICT
brightness : 32256
hue : 65535
colour : 65535
contrast : 0
whiteness : 0
depth : 24
palette : YUV420P
buffer
VIDIOCGFBUF
base : (nil)
height : 0
width : 0
depth : 0
bytesperline : 0
window
VIDIOCGWIN
x : 0
y : 0
width : 352
height : 288
chromakey : 0
flags : 655360
I just upgraded to version 1.24, and my two usb cameras both stopped working.
I spent the day troubleshooting it, with no luck.
My cameras are both using the pwc driver and while different (philips and logitech) they seems to be based on same chipset.
Both the cameras work with aMSN, cheese and xawtv. YUV420p is the only format supported by the camera.
With 1.23 (v4l 1?) I used them in YUV420P without any problem.
With 1.24 I tried v4l 1 - YUV420P fails to initialise the camera.
I also tried v4l 2. Only YUV420 initialises the camera successfully, (all the other make zmc crash) but the colours are all wrong (the white become a bright green), and the YUV420P does not seem to be available.
Am I missing something obvious?
v4l-info /dev/video2
### v4l2 device info [/dev/video2] ###
general info
VIDIOC_QUERYCAP
driver : "pwc"
card : "Philips 680 webcam"
bus_info : "usb-0000:00:02.0-3"
version : 10.0.12
capabilities : 0x5000001 [VIDEO_CAPTURE,READWRITE,STREAMING]
standards
VIDIOC_ENUMSTD(0)
index : 0
id : 0x0 []
name : "webcam"
frameperiod.numerator : 0
frameperiod.denominator : 0
framelines : 0
inputs
VIDIOC_ENUMINPUT(0)
index : 0
name : "usb"
type : unknown
audioset : 0
tuner : 0
std : 0x0 []
status : 0x0 []
video capture
VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index : 0
type : VIDEO_CAPTURE
flags : 1
description : "Raw Philips Webcam"
pixelformat : 0x32435750 [PWC2]
VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
index : 1
type : VIDEO_CAPTURE
flags : 0
description : "4:2:0, planar, Y-Cb-Cr"
pixelformat : 0x32315559 [YU12]
VIDIOC_G_FMT(VIDEO_CAPTURE)
type : VIDEO_CAPTURE
fmt.pix.width : 352
fmt.pix.height : 288
fmt.pix.pixelformat : 0x32315559 [YU12]
fmt.pix.field : NONE
fmt.pix.bytesperline : 528
fmt.pix.sizeimage : 152064
fmt.pix.colorspace : unknown
fmt.pix.priv : 0
controls
VIDIOC_QUERYCTRL(BASE+0)
id : 9963776
type : INTEGER
name : "Brightness"
minimum : 0
maximum : 128
step : 1
default_value : 64
flags : 0
VIDIOC_QUERYCTRL(BASE+1)
id : 9963777
type : INTEGER
name : "Contrast"
minimum : 0
maximum : 64
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(BASE+2)
id : 9963778
type : INTEGER
name : "Saturation"
minimum : -100
maximum : 100
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+0)
id : 134217728
type : BUTTON
name : "Save User Settings"
minimum : 0
maximum : 0
step : 0
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+1)
id : 134217729
type : BUTTON
name : "Restore User Settings"
minimum : 0
maximum : 0
step : 0
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+2)
id : 134217730
type : BUTTON
name : "Restore Factory Settings"
minimum : 0
maximum : 0
step : 0
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+3)
id : 134217731
type : BOOLEAN
name : "Colour mode"
minimum : 0
maximum : 1
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+4)
id : 134217732
type : BOOLEAN
name : "Auto contour"
minimum : 0
maximum : 1
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+5)
id : 134217733
type : INTEGER
name : "Contour"
minimum : 0
maximum : 63
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+6)
id : 134217734
type : BOOLEAN
name : "Backlight compensation"
minimum : 0
maximum : 1
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+7)
id : 134217735
type : BOOLEAN
name : "Flickerless"
minimum : 0
maximum : 1
step : 1
default_value : 0
flags : 0
VIDIOC_QUERYCTRL(PRIVATE_BASE+8)
id : 134217736
type : INTEGER
name : "Noise reduction"
minimum : 0
maximum : 3
step : 1
default_value : 0
flags : 0
### video4linux device info [/dev/video2] ###
general info
VIDIOCGCAP
name : "Philips 680 webcam"
type : 0x1 [CAPTURE]
channels : 1
audios : 1
maxwidth : 640
maxheight : 480
minwidth : 128
minheight : 96
channels
VIDIOCGCHAN(0)
channel : 0
name : "Webcam"
tuners : 0
flags : 0x0 []
type : CAMERA
norm : 0
tuner
ioctl VIDIOCGTUNER: Invalid argument
audio
VIDIOCGAUDIO
audio : -1
volume : 0
bass : 0
treble : 0
picture
VIDIOCGPICT
brightness : 32256
hue : 65535
colour : 65535
contrast : 0
whiteness : 0
depth : 24
palette : YUV420P
buffer
VIDIOCGFBUF
base : (nil)
height : 0
width : 0
depth : 0
bytesperline : 0
window
VIDIOCGWIN
x : 0
y : 0
width : 352
height : 288
chromakey : 0
flags : 655360