Title Support HP 1812 UVC camera
Priority bug Status testing
Superseder Nosy List ahixon, gonzaloab
Assigned To ahixon Topics blocker

Created on 2008-03-12.01:42:14 by ahixon, last changed 2008-06-26.04:35:01 by cobra.

Messages
msg93 (view) Author: cobra Date: 2008-06-26.04:35:01
i have a pavilion dv9722eg laptop with, and i'd like to help.
i tried to extract the firmware, but i haven't found the mentioned
file. how can i found out, what file would be helpful/needed?
msg61 (view) Author: PuPPeTeeR Date: 2008-04-18.23:58:58
Strangely, my webcam worked only one time, once I installed it worked
with success... I notice that time it loaded the firmware correctly,
but once I rebooted I just cannot load the firmware and I only get HP
Pavilion Webcam (UVC - NO FW).
Keep up the good work, getting really close now!
msg57 (view) Author: joaoborsoi Date: 2008-04-15.22:35:27
Ok. Tell me if I can help you in anything. Tks for your work.
msg47 (view) Author: ahixon Date: 2008-04-12.08:59:45
joaoborsoi: Yes, at the moment, it's incomplete.
msg40 (view) Author: joaoborsoi Date: 2008-04-03.11:26:54
It works for me also. But I can't use it with skype. Is it because
it's unfinished or there is a work around? 
Tks.
msg24 (view) Author: gonzaloab Date: 2008-03-13.23:54:31
New try for a usb log from windows. Hope this is a readable format:
http://dv6597.netia.es/up/usbsnoop.coldboot.log

I used sniffusb (http://www.pcausa.com/Utilities/UsbSnoop/default.htm)
but if you know a better program, please, tell me.

I had to cut lot of lines in the middle (I think packets of video)
If you need it all, please tell me and i'll compress and upload it again.

Cheers.
msg23 (view) Author: ahixon Date: 2008-03-13.23:36:42
So close, but no cigar! :)
This error seems a bit more of a pain in the arse compared to the
other problems. 

From the looks of it, seems to be a problem with the way its getting
the packets back from the webcam (obviously). Not sure how to solve
this at the moment.

Could you get us a text dump from usbsnoop or whatever you used in
the first one from a cold boot? The one you attached here (not XML)
was in binary, and I can't read that. Sorry.
msg22 (view) Author: gonzaloab Date: 2008-03-13.23:14:44
this is the beginning of the dmesg output:
http://dv6597.netia.es/up/dmesg.r74.init

after a while seeing myself xawtv halted with this error:

ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0
[];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown):
Error de entrada/salida
v4l2: read: Error de entrada/salida

and dmesg output (end of it)

[ 5072.644000] r5u870-0: urbstream[6] processing f6343f60
[ 5072.648000] r5u870-0: urbstream[6] urb complete: f6343ba0/0
[ 5072.648000] r5u870-0: urbstream[6] processing f6343ba0
[ 5072.648000] r5u870-0: capture abort: too many empty pkts
[ 5072.648000] r5u870-0: urbstream[6] stopping
[ 5072.652000] r5u870-0: urbstream[6] urb complete: f6343b40/0
[ 5072.652000] r5u870-0: urbstream[6] request canceled, ignoring
[ 5072.656000] r5u870-0: urbstream[6] urb complete: f6343f60/0
[ 5072.656000] r5u870-0: urbstream[6] request canceled, ignoring
[ 5072.656000] r5u870-0: urbstream[6] stopped
[ 5072.656000] r5u870-0: minidriver aborting all frames
[ 5072.656000] r5u870-0: completing frame 0 STATE_ERROR
[ 5072.656000] r5u870-0: urbstream[6] stopping
[ 5072.656000] r5u870-0: urbstream[6] stopped
msg21 (view) Author: gonzaloab Date: 2008-03-13.23:05:56
r74 WORKS!!!!! - I can see myself :))))
dmesg out on load:

[ 4447.340000] Linux video capture interface: v2.00
[ 4447.376000] usbcam: registering driver r5u870 0.11.1SVN
[ 4447.376000] r5u870-0: Detected HP Pavilion Webcam (UVC - NO FW)
[ 4447.376000] r5u870-0: Found format 1: YUYV (5 frames)
[ 4447.376000] r5u870-0: Found resolution 1: 640x480 ival 416666
(14745600 B/s)
[ 4447.376000] r5u870-0: Found resolution 2: 352x288 ival 416666
(4866048 B/s)
[ 4447.376000] r5u870-0: Found resolution 3: 320x240 ival 416666
(3686400 B/s)
[ 4447.376000] r5u870-0: Found resolution 4: 176x144 ival 416666
(1216512 B/s)
[ 4447.376000] r5u870-0: Found resolution 5: 160x120 ival 416666
(921600 B/s)
[ 4447.376000] r5u870-0: Found UVC control Hue [-180,180] def:0 info:03
[ 4447.380000] r5u870-0: Added 6 WDM controls
[ 4447.380000] r5u870-0: control Hue/uvc 06 <= 0
[ 4447.380000] r5u870-0: control White Balance Red <= 127 [capture off]
[ 4447.380000] r5u870-0: control White Balance Green <= 127 [capture off]
[ 4447.380000] r5u870-0: control White Balance Blue <= 127 [capture off]
[ 4447.380000] r5u870-0: control V-Flip <= 0 [capture off]
[ 4447.380000] r5u870-0: control H-Flip <= 0 [capture off]
[ 4447.380000] r5u870-0: control Privacy <= 0 [capture off]
[ 4447.380000] r5u870-0: registered as video0
[ 4447.380000] usbcore: registered new interface driver r5u870

xawtv out:
ioctl: VIDIOC_S_STD(std=0x0 []): Invalid argument
v4l2: read: Input/Output error

dmesg out;
http://dv6597.netia.es/up/dmesg.r74 (I think is cutted because not
enough buffer space in syslog, I'll try to get only one frame)
msg20 (view) Author: ahixon Date: 2008-03-13.22:48:21
Try the latest revision.
I've set it so that hopefully it won't bomb out if it can't set a
control value (which is the main reason it's giving you -32 errors atm).
msg19 (view) Author: gonzaloab Date: 2008-03-13.22:40:31
First of all, thanks to you for your time. It's my pleasure.
r73. dmesg out on load:

[ 2941.428000] Linux video capture interface: v2.00
[ 2941.456000] usbcam: registering driver r5u870 0.11.1SVN
[ 2941.456000] r5u870-0: Detected HP Pavilion Webcam (UVC - NO FW)
[ 2941.456000] r5u870-0: Found format 1: YUYV (5 frames)
[ 2941.456000] r5u870-0: Found resolution 1: 640x480 ival 416666
(14745600 B/s)
[ 2941.456000] r5u870-0: Found resolution 2: 352x288 ival 416666
(4866048 B/s)
[ 2941.456000] r5u870-0: Found resolution 3: 320x240 ival 416666
(3686400 B/s)
[ 2941.456000] r5u870-0: Found resolution 4: 176x144 ival 416666
(1216512 B/s)
[ 2941.456000] r5u870-0: Found resolution 5: 160x120 ival 416666
(921600 B/s)
[ 2941.456000] r5u870-0: Found UVC control Hue [-180,180] def:0 info:03
[ 2941.460000] r5u870-0: Added 7 WDM controls
[ 2941.460000] r5u870-0: control Hue/uvc 06 <= 0
[ 2941.460000] r5u870-0: control White Balance Red <= 127 [capture off]
[ 2941.460000] r5u870-0: control White Balance Green <= 127 [capture off]
[ 2941.460000] r5u870-0: control White Balance Blue <= 127 [capture off]
[ 2941.460000] r5u870-0: control Auto White Balance <= 1 [capture off]
[ 2941.460000] r5u870-0: control V-Flip <= 0 [capture off]
[ 2941.460000] r5u870-0: control H-Flip <= 0 [capture off]
[ 2941.460000] r5u870-0: control Privacy <= 0 [capture off]
[ 2941.460000] r5u870-0: registered as video0
[ 2941.460000] usbcore: registered new interface driver r5u870

xawtv output:

v4l-conf had some trouble, trying to continue anyway
Warning: Cannot convert string
"-*-ledfixed-medium-r-*--39-*-*-*-c-*-*-*" to type FontStruct
ioctl: VIDIOC_S_STD(std=0x0 []): Invalid argument
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0
[];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown):
Input/Output error
v4l2: read: Input/Output error

dmesg out on that point:
http://dv6597.netia.es/up/dmesg.r73
msg18 (view) Author: ahixon Date: 2008-03-13.22:26:34
See if r73 gets you any further. 

Thanks for taking the time to get this all working btw. :)
msg17 (view) Author: gonzaloab Date: 2008-03-13.22:21:49
tried with r72.
dmesg out on load:

[ 1739.716000] Linux video capture interface: v2.00
[ 1740.012000] usbcam: registering driver r5u870 0.11.1SVN
[ 1740.012000] r5u870-0: Detected HP Pavilion Webcam (UVC - NO FW)
[ 1740.012000] r5u870-0: Found format 1: YUYV (5 frames)
[ 1740.012000] r5u870-0: Found resolution 1: 640x480 ival 416666
(14745600 B/s)
[ 1740.012000] r5u870-0: Found resolution 2: 352x288 ival 416666
(4866048 B/s)
[ 1740.012000] r5u870-0: Found resolution 3: 320x240 ival 416666
(3686400 B/s)
[ 1740.012000] r5u870-0: Found resolution 4: 176x144 ival 416666
(1216512 B/s)
[ 1740.012000] r5u870-0: Found resolution 5: 160x120 ival 416666
(921600 B/s)
[ 1740.012000] r5u870-0: Found UVC control Hue [-180,180] def:0 info:03
[ 1740.016000] r5u870-0: Added 9 WDM controls
[ 1740.016000] r5u870-0: control Hue/uvc 06 <= 0
[ 1740.016000] r5u870-0: control Brightness <= 63 [capture off]
[ 1740.016000] r5u870-0: control Contrast <= 63 [capture off]
[ 1740.016000] r5u870-0: control White Balance Red <= 127 [capture off]
[ 1740.016000] r5u870-0: control White Balance Green <= 127 [capture off]
[ 1740.016000] r5u870-0: control White Balance Blue <= 127 [capture off]
[ 1740.016000] r5u870-0: control Auto White Balance <= 1 [capture off]
[ 1740.016000] r5u870-0: control V-Flip <= 0 [capture off]
[ 1740.016000] r5u870-0: control H-Flip <= 0 [capture off]
[ 1740.016000] r5u870-0: control Privacy <= 0 [capture off]
[ 1740.016000] r5u870-0: registered as video0
[ 1740.016000] usbcore: registered new interface driver r5u870

Everything seems normal (to me)
Xawtv fails. Xawtv out:

v4l-conf had some trouble, trying to continue anyway
Warning: Cannot convert string
"-*-ledfixed-medium-r-*--39-*-*-*-c-*-*-*" to type FontStruct
ioctl: VIDIOC_S_STD(std=0x0 []): Invalid Argument
ioctl: VIDIOC_DQBUF(index=0;type=VIDEO_CAPTURE;bytesused=0;flags=0x0
[];field=ANY;;timecode.type=0;timecode.flags=0;timecode.frames=0;timecode.seconds=0;timecode.minutes=0;timecode.hours=0;timecode.userbits="";sequence=0;memory=unknown):
Input/Output error
v4l2: read: Input/Output Error

in this point (after xawtv shutdown) dmesg output is in this link:
http://dv6597.netia.es/up/dmesg.r72
msg16 (view) Author: gonzaloab Date: 2008-03-13.09:39:09
With r70.. dmesg output on load (modprobe r5u870 debug=1)

[  387.308000] Linux video capture interface: v2.00
[  387.336000] usbcam: registering driver r5u870 0.11.1SVN
[  387.336000] r5u870-0: Detected HP Pavilion Webcam (UVC - NO FW)
[  387.336000] r5u870-0: Found format 1: YUYV (5 frames)
[  387.336000] r5u870-0: Found resolution 1: 640x480 ival 416666
(14745600 B/s)
[  387.336000] r5u870-0: Found resolution 2: 352x288 ival 416666
(4866048 B/s)
[  387.336000] r5u870-0: Found resolution 3: 320x240 ival 416666
(3686400 B/s)
[  387.336000] r5u870-0: Found resolution 4: 176x144 ival 416666
(1216512 B/s)
[  387.336000] r5u870-0: Found resolution 5: 160x120 ival 416666
(921600 B/s)
[  387.336000] r5u870-0: Found UVC control Hue [-180,180] def:0 info:03
[  387.340000] r5u870-0: control "Hue" id=9963779 already defined
[  387.340000] r5u870-0: Vendor control setup failed: -12
[  387.340000] r5u870-0: minidriver init failed: -12
[  387.340000] r5u870: probe of 2-4:1.0 failed with error -12
[  387.340000] usbcore: registered new interface driver r5u870

/dev/video0 not created. Cannot launch any tv app.
msg12 (view) Author: ahixon Date: 2008-03-12.23:01:22
Looks like the camera doesn't support some of the UVC controls (ie
brightness, contrast, hue, vflip, etc).

I've created a separate control list for the camera in the latest
revision, so, hopefully, it'll get a bit further (and possibly capture :)

It's also probably easier if you just used tvtime or xawtv to test
the webcam instead, since uvcview has issues with some of the cams,
and the args you passed to mplayer don't match the image format
returned by the camera (so, if you got passed that error, it'd still
fail trying to display an image).
msg10 (view) Author: gonzaloab Date: 2008-03-12.12:30:15
I finally got the right module to load. I had some problems with the
versions. r61 initializes correctly the device. This is the output:

[ 1097.172000] Linux video capture interface: v2.00
[ 1097.280000] usbcam: registering driver r5u870 0.11.0
[ 1097.280000] r5u870-0: Detected HP Pavilion Webcam (WDM - NO FW)
[ 1097.280000] r5u870-0: Found format 1: YUYV (5 frames)
[ 1097.280000] r5u870-0: Found resolution 1: 640x480 ival 416666
(14745600 B/s)
[ 1097.280000] r5u870-0: Found resolution 2: 352x288 ival 416666
(4866048 B/s)
[ 1097.280000] r5u870-0: Found resolution 3: 320x240 ival 416666
(3686400 B/s)
[ 1097.280000] r5u870-0: Found resolution 4: 176x144 ival 416666
(1216512 B/s)
[ 1097.280000] r5u870-0: Found resolution 5: 160x120 ival 416666
(921600 B/s)
[ 1097.284000] r5u870-0: Found UVC control Hue [-180,180] def:0 info:03
[ 1097.284000] r5u870-0: Added 11 WDM controls
[ 1097.284000] r5u870-0: control Hue/uvc 06 <= 0
[ 1097.284000] r5u870-0: control Auto White Balance <= 1 [capture off]
[ 1097.284000] r5u870-0: control White Balance Red <= 127 [auto suppress]
[ 1097.284000] r5u870-0: control White Balance Blue <= 127 [auto
suppress]
[ 1097.284000] r5u870-0: control Auto Exposure Control <= 1 [capture off]
[ 1097.284000] r5u870-0: control Exposure <= 255 [auto suppress]
[ 1097.284000] r5u870-0: control Auto Gain Control <= 1 [capture off]
[ 1097.284000] r5u870-0: control Gain <= 63 [auto suppress]
[ 1097.284000] r5u870-0: control V-Flip <= 0 [capture off]
[ 1097.284000] r5u870-0: control H-Flip <= 0 [capture off]
[ 1097.284000] r5u870-0: control Privacy <= 0 [capture off]
[ 1097.284000] r5u870-0: control Night Mode <= 0 [capture off]
[ 1097.284000] r5u870-0: registered as video0
[ 1097.284000] usbcore: registered new interface driver r5u870

but i can't get it work. I've tried to use it with uvcview with this
error output:

YUV422
YUY2
parm.parm.capture.timeperframe.numerator   = 1
parm.parm.capture.timeperframe.denominator = 25
parm.parm.capture.timeperframe.numerator   = 1
parm.parm.capture.timeperframe.denominator = 25
VIDIOC_DQBUF error 5, Input/Output error.

and with this dmesg output:
http://dv6597.netia.es/up/dmesg.uvcview

and if i try with mplayer (mplayer -fps 24 -tv
driver=v4l2:outfmt=uyvy:width=640 tv://)
this is the output:
http://dv6597.netia.es/up/dmesg.mplayer

I also upload the snoopypro output after a cold reboot (the system
was a couple of minutes switched off without any source power -
battery/AC) in xml and normal output:
http://dv6597.netia.es/up/snoopyproexport.log  (XML)
http://dv6597.netia.es/up/usblog1.usblog
msg9 (view) Author: ahixon Date: 2008-03-12.07:19:55
Marked as blocker for next release.
msg8 (view) Author: ahixon Date: 2008-03-12.05:14:14
The only possible way you got that output is if either you didn't update
correctly or its detecting a 1810 device instead.
msg7 (view) Author: ahixon Date: 2008-03-12.05:11:26
You sure you're updated all the way?
In the latest code I have (synced to the server), and 1812 is associated with
R5U870_DI_HP_PAVWC_UVC_1 in the table, which should have the model "HP Pavilion
Webcam (WDM - NO FW)" rather than "HP Pavilion Webcam (UVC)".
msg6 (view) Author: gonzaloab Date: 2008-03-12.04:58:49
I'm trying r60 now. No result. dmesg output to sudo modprobe r5u870 debug=1
after compiling without errors:

[ 3405.616000] Linux video capture interface: v2.00
[ 3405.632000] usbcam: registering driver r5u870 0.11.0
[ 3405.632000] r5u870-0: Detected HP Pavilion Webcam (UVC)
[ 3405.632000] r5u870-0: requesting microcode state
[ 3405.632000] r5u870-0: command 0xa4 failed: -32
[ 3405.632000] r5u870-0: initialization failed: -32
[ 3405.632000] r5u870-0: minidriver init failed: -32
[ 3405.632000] r5u870: probe of 7-4:1.0 failed with error -32
[ 3405.632000] usbcore: registered new interface driver r5u870

I realized that the id_table is still associated 1812 with the same as 1810. I
tried to change it to "right". Exactly the same output. I will try to use usbsnoop.
msg5 (view) Author: ahixon Date: 2008-03-12.04:29:08
Seems as though the 1812 device doesn't really need any microcode stuff.
Either that, or I need to get some fresh dumps.

Marking as needing testing.
msg4 (view) Author: ahixon Date: 2008-03-12.03:55:38
Progress in working out the protocol is on
http://wiki.mediati.org/R5u870/1812_Protocol
msg1 (view) Author: ahixon Date: 2008-03-12.01:42:14
At the moment, I've done a bit of hackery in r5u870.c
Basically, I just need to get the correct firmware happening (at the moment,
current one seems to be buggered and return -32).
History
Date User Action Args
2008-06-26 04:35:01cobrasetmessages: + msg93
2008-04-18 23:58:58PuPPeTeeRsetpriority: feature -> bug
messages: + msg61
2008-04-15 22:35:27joaoborsoisetmessages: + msg57
2008-04-12 08:59:45ahixonsetmessages: + msg47
2008-04-03 11:26:54joaoborsoisetmessages: + msg40
2008-03-13 23:54:31gonzaloabsetmessages: + msg24
2008-03-13 23:36:42ahixonsetmessages: + msg23
2008-03-13 23:14:44gonzaloabsetmessages: + msg22
2008-03-13 23:05:56gonzaloabsetmessages: + msg21
2008-03-13 22:48:21ahixonsetmessages: + msg20
2008-03-13 22:40:31gonzaloabsetmessages: + msg19
2008-03-13 22:26:34ahixonsetmessages: + msg18
2008-03-13 22:21:49gonzaloabsetmessages: + msg17
2008-03-13 09:39:09gonzaloabsetmessages: + msg16
2008-03-12 23:01:22ahixonsetmessages: + msg12
2008-03-12 12:30:15gonzaloabsetmessages: + msg10
2008-03-12 07:19:55ahixonsettopic: + blocker
messages: + msg9
2008-03-12 05:14:14ahixonsetmessages: + msg8
2008-03-12 05:11:50ahixonsetnosy: + gonzaloab
2008-03-12 05:11:26ahixonsetmessages: + msg7
2008-03-12 04:58:49gonzaloabsetmessages: + msg6
2008-03-12 04:29:09ahixonsetstatus: in-progress -> testing
messages: + msg5
2008-03-12 03:55:38ahixonsetmessages: + msg4
2008-03-12 01:42:14ahixoncreate