1 Ricoh R5U870 Linux Driver 2 Version 0.11.1, 2008/06/15 3 4 Requirements 5 ============ 6 7 To build/install this driver, you must have a set of configuration and 8 interface headers, or the complete build directory, for your running kernel, 9 or the target kernel for which the driver is to be built. This should 10 include most files in the include/linux directory, and specifically 11 include/linux/autoconf.h and include/linux/version.h. 12 13 The required interface headers are usually located at or symlinked from: 14 /lib/modules/<version>/build 15 16 Your kernel must be 2.6.17 or newer. 17 18 19 Supported Hardware 20 ================== 21 22 This driver supports the following OEM webcams: 23 24 05ca:1810 HP Pavilion Webcam - UVC 25 05ca:1830 Sony Visual Communication Camera VGP-VCC2 (for VAIO SZ) 26 05ca:1832 Sony Visual Communication Camera VGP-VCC3 (for VAIO UX) 27 05ca:1833 Sony Visual Communication Camera VGP-VCC2 (for VAIO AR1) 28 05ca:1834 Sony Visual Communication Camera VGP-VCC2 (for VAIO AR2) 29 05ca:1835 Sony Visual Communication Camera VGP-VCC5 (for VAIO SZ) 30 05ca:1836 Sony Visual Communication Camera VGP-VCC4 (for VAIO FE) 31 05ca:1837 Sony Visual Communication Camera VGP-VCC4 (for VAIO FZ) 32 05ca:1839 Sony Visual Communication Camera VGP-VCC6 (for VAIO CR) 33 05ca:183a Sony Visual Communication Camera VGP-VCC7 (for VAIO SZ) 34 05ca:183b Sony Visual Communication Camera VGP-VCC8 (for VAIO FZ) 35 05ca:1870 HP Pavilion Webcam / HP Webcam 1000 36 37 38 Installation Process 39 ==================== 40 41 To attempt to build against the running kernel: 42 43 make 44 45 To build against a specific kernel: 46 47 make KDIR=/path/to/kernel 48 49 To install the modules to the appropriate location: 50 51 make install 52 53 -or- 54 55 make install KDIR=/path/to/kernel 56 57 Installed modules will be automatically probed for supported devices by the 58 udev coldplug component at boot, and the driver should be automatically 59 loaded on subsequent reboots. 60 61 NOTE: Previous releases of this driver have produced modules named 62 ry5u870.ko. With the current release, the module name was changed to 63 r5u870.ko. Ensure that any old versions are deleted after installing a 64 new version. 65 66 67 Loading the Driver 68 ================== 69 70 If you installed the driver, you can just run: 71 72 modprobe r5u870 73 74 If you wish to load the driver without installing it, you must load the 75 prerequisite modules: 76 77 modprobe videodev 78 modprobe video-buf 79 modprobe v4l1-compat 80 modprobe v4l2-common 81 modprobe compat_ioctl32 (on 64-bit platforms) 82 83 You must also copy the microcode files (r5u870_*.fw) to /lib/firmware. 84 85 Then you may load the module manually: 86 87 insmod r5u870.ko 88 89 Debugging 90 ========= 91 92 If you would like to enable debugging, please uncomment the line found 93 in debug.mk, and recompile. 94 95 Driver Options 96 ============== 97 98 Below is a list of module parameters that may be used with the r5u870 module: 99 100 dv1000 -- HP Webcam handling mode 101 HP has done it again and used ID 05ca:1870 for two distinct pieces 102 of hardware: the HP Webcam 1000, found in HP Pavilion dv1000 series 103 machines, and the HP Pavilion Webcam, found in other HP Pavilion 104 machines that don't have Microdia cameras, and don't have the 105 05ca:1810 Ricoh UVC camera -- which is not actually any different 106 from the 05ca:1870 HP Pavilion webcam. These two devices have 107 different image sensors and require different microcode. 108 0: Assume HP Pavilion Webcam 109 1: Assume HP Webcam 1000 110 2: Check DMI product name field (DEFAULT) 111 112 video_nr -- list of favored minor numbers 113 A list of video capture minor numbers (/dev/videoX) to try to 114 associate devices with, in order, before resorting to the first 115 available minor number. 116 117 fixed_fbsize -- integer 118 Sets the size in bytes of fixed-length frame buffers. The default 119 value is 1MB. This is a compatibilty feature for buggy programs 120 that use the V4L1 VIDIOCGMBUF call to allocate a frame buffer 121 based on the current capture size, choose a larger capture size, 122 and then attempt to capture frames. 123 124 125 Changes from original version (0.10.0) 126 ====================================== 127 128 * Properly implements V4L1 query ioctl functions. While version 1 has been 129 obsoleted, it is still necessary to support it as a number of applications 130 still use it, including GStreamer's v4lsrc element. 131 * Support for VGP-VCC7, VGP-VCC4, VGP-VCC6, and VGP-VCC8, including supplied 132 microcode, as well as other cameras. 133 * Can compile against Linux kernels 2.6.24 or later. 134 * Uses a module approach to usbcam, and only require minidrivers to link 135 against a header file. This code was posted in an email to LKML by Chris 136 on May 1, 2007. 137 138 Bugs 139 ==== 140 141 Use the bug tracker at http://bugs.mediati.org/r5u870/. 142 If you get a 404, make sure there's a forward slash on the end. :) 143 144 Remember to submit in your bug report: 145 * Version of the driver 146 * Kernel version (uname -a) 147 * Distribution name & version 148 * lsusb output 149 * lsmod output 150 * dmesg output after loading r5u870 with debug=1 151 * if you're getting distorted images, a sample of the camera output 152 153 Also remember to check if your bug has already been fixed! 154 155 Kopete 0.12 and earlier can be used with this driver, but colors may appear 156 distorted. This is a problem with Kopete's YUV decoder, and should be fixed 157 in a future version. Kopete may also set the gamma picture control to 0 158 for no apparent reason, causing the image to appear too dark to Kopete and 159 to other applications that subsequently open the camera. 160 161 162 Copyright and License 163 ===================== 164 165 Copyright (c) 2007-2008 Sam Revitch <firstname.lastname@example.org>, 166 Alexander Hixon <email@example.com> 167 168 This driver is licensed to you under the terms of the GNU GPL v2. See 169 the included file 'COPYING'. 170 171 The Makefile and Kbuild components are derived from the ivtv project. 172 173 The files: 174 r5u870_1810.fw 175 r5u870_1812.fw 176 r5u870_1830.fw 177 r5u870_1832.fw 178 r5u870_1833.fw 179 r5u870_1834.fw 180 r5u870_1835.fw 181 r5u870_1836.fw 182 r5u870_1839.fw 183 r5u870_183a.fw 184 r5u870_183b.fw 185 r5u870_1841.fw 186 r5u870_1870.fw 187 r5u870_1870_1.fw 188 189 were derived from usbsnoop/sniffusb tracing of various Windows drivers, 190 including some named Mvc25u870.sys, 5U870CAP.sys, and R5U870FLx86.sys. 191 192 193 Acknowledgements 194 ================ 195 196 Huge kudos to Sam Revitch for writing the driver. Cheers, mate. I owe you a 197 beer (or two). :) 198 199 Thanks to Albert Vilella for establishing an interest group for this type of 200 webcam, for early VAIO SZ testing, and generally collecting a good set of 201 resources for Linux on VAIO SZ laptops. 202 203 Thanks to Geert Willems for extensive testing of HP Webcam support, general 204 driver compatibility testing, and putting up with endless crazy requests for 205 more debug information. :-) 206 207 Thanks to Mattia Dongili for taking usbsnoop traces of the VAIO UX50 webcam 208 driver on Windows, and testing initial support in the Linux driver. 209 210 Thanks to Benoît Canet for updating this driver to work with the Sony VAIO AR 211 webcam (05ca:1834). 212 213 Thanks to Utz-Uwe Haus for getting the Sony VGP-VCC7 firmware extracted, and 214 providing a patch against the original r5u870 driver, and providing the 215 recode-fw.scm script. 216 217 Some friendly folk on the Ubuntu Forums for providing extracted version of 218 firmwares and their associated version numbers. 219 220 Thanks to 'franz' for providing an updated version of 183b driver, and testing. 221 222 Thanks to Gonzalo Alvarez for testing the 1812 driver and providing usbsnoop 223 traces of the device.