Re: genius islim 310 webcam test

2010-06-14 Thread Németh Márton
Hi Sergei, thanks for the report.

Hi Jean-Francois, I got this report about a working Genius iSlim 310
webcam. Maybe it would be a good idea to add the device 0x093a:0x2625
in pac7302.c. Should I send a patch for you?

Regards,

Márton Németh

Krivchikov Sergei wrote:
 Hi! All works.
 From: http://forum.ubuntu.ru/index.php?topic=9767.msg717310#msg717310
 and
 http://stemp.wordpress.com/2009/11/03/karmic-get-the-latest-drivers-for-gspca-uvc-usbvideo-and-other/
 
 |1. sudo aptitude install mercurial build-essential linux-headers
 libncurses5-dev
 ||2. hg clone http://linuxtv.org/hg/v4l-dvb/
 ||3. cd v4l-dvb
 4. Add to | v4l-dvb/linux/drivers/media/video/gspca/pac7302.c in section
 
 /* -- module initialisation -- */
 static const struct usb_device_id device_table[] __devinitconst = {
   {USB_DEVICE(0x06f8, 0x3009)},
   {USB_DEVICE(0x093a, 0x2620)},
   {USB_DEVICE(0x093a, 0x2621)},
   {USB_DEVICE(0x093a, 0x2622), .driver_info = FL_VFLIP},
 
   {USB_DEVICE(0x093a, 0x2624), .driver_info = FL_VFLIP},
 * {USB_DEVICE(0x093a, 0x2625)}*,
   {USB_DEVICE(0x093a, 0x2626)},
   {USB_DEVICE(0x093a, 0x2628)},
   {USB_DEVICE(0x093a, 0x2629), .driver_info = FL_VFLIP},
 
   {USB_DEVICE(0x093a, 0x262a)},
   {USB_DEVICE(0x093a, 0x262c)},
   {}
 };
 
 
 
 |5. sudo cp /boot/config-`uname -r` v4l/.config|
 |6. sudo make menuconfig|
 Set M in Multimedia Support - Video Capture adapters - V4L USB
 devices - GSPCA - pac7302.c and Uncheck all other devices if you want.
 |7. make
 8. sudo make install|
 
 
 Thanks!

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: genius islim 310 webcam test

2010-06-14 Thread Jean-Francois Moine
On Mon, 14 Jun 2010 16:58:15 +0200
Németh Márton nm...@freemail.hu wrote:

 Hi Jean-Francois, I got this report about a working Genius iSlim 310
 webcam. Maybe it would be a good idea to add the device 0x093a:0x2625
 in pac7302.c. Should I send a patch for you?

Hi Németh,

OK for the patch. Don't forget to add the webcam in the file
Documentation/video4linux/gspca.txt.

Thanks.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: genius islim 310 webcam test

2010-03-31 Thread Jean-Francois Moine
On Wed, 31 Mar 2010 07:56:59 +0200
Németh Márton nm...@freemail.hu wrote:

 The next thing is that you need to learn how to compile the Linux
 kernel from source code. There is a description for Ubuntu at
 https://help.ubuntu.com/community/Kernel/Compile . After you are able
 to compile and install your new kernel, you can try to apply the
 patch in this email, recompile the kernel, install the kernel and the
 modules, unload the gspca_pac7302 kernel module (rmmod
 gspca_pac7302), and then plug the webcam in order it can load the
 new kernel module. When you were successful with these steps you'll
 see new messages in the output of dmesg command. Please send this
 output also.

Hello Németh and Sergei,

I think the patch is not needed because it just gives the vend:prod
which is already known by lsusb.

On the other hand, compiling a full kernel is not needed with a small
tarball distribution as the one I have in my page (actual gspca-2.9.10).

Best regards.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: genius islim 310 webcam test

2010-03-31 Thread Németh Márton
Jean-Francois Moine írta:
 On Wed, 31 Mar 2010 07:56:59 +0200
 Németh Márton nm...@freemail.hu wrote:
 
 The next thing is that you need to learn how to compile the Linux
 kernel from source code. There is a description for Ubuntu at
 https://help.ubuntu.com/community/Kernel/Compile . After you are able
 to compile and install your new kernel, you can try to apply the
 patch in this email, recompile the kernel, install the kernel and the
 modules, unload the gspca_pac7302 kernel module (rmmod
 gspca_pac7302), and then plug the webcam in order it can load the
 new kernel module. When you were successful with these steps you'll
 see new messages in the output of dmesg command. Please send this
 output also.
 
 Hello Németh and Sergei,
 
 I think the patch is not needed because it just gives the vend:prod
 which is already known by lsusb.

To avoid misunderstandings, the patch I sent is not just printing the
USB vendor ID and product ID but also really enables the pac7302 gspca
subdriver to actually work with the newly added USB IDs.

 On the other hand, compiling a full kernel is not needed with a small
 tarball distribution as the one I have in my page (actual gspca-2.9.10).

This is also a possible way to go, the important thing is that a kernel
module has to be built and the previous version of gspca_pac7302 kernel
module has to be replaced with the newly built one.

Regards,

Márton Németh

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: genius islim 310 webcam test

2010-03-30 Thread Németh Márton
Hello Sergei,

Krivchikov Sergei wrote:
 Hi!
 I have a Genius iSlim 310 webcam and linux ubuntu 9.10 kernel 2.6.31. My
 developer level under linux - beginner (very beginner) :) but i'm ready
 to test this webcam undr linux. But I need the instructions:) How was
 your success in the launch of this webcam under Linux?
 
 Sincerely, Sergei Krivchikov.

Currently the Genius iSlim 310 webcam is not supported by the mainline Linux
kernel, but I think that the support can be added very easily. See the
description at http://linuxtv.org/wiki/index.php/PixArt_PAC7301/PAC7302 why.

First thing what I'll need that you connect your Genius iSlim 310 to the Linux
box, open an xterm and send the output of lsusb command. Then we can find
out the USB ID of the device.

Also, please send the output of dmesg. The easiest way to do this is to redirect
the standard output to a file like this: dmesg dmesg.txt and then send the
created file as an attachment.

The next thing is that you need to learn how to compile the Linux kernel
from source code. There is a description for Ubuntu at
https://help.ubuntu.com/community/Kernel/Compile . After you are able to
compile and install your new kernel, you can try to apply the patch in this
email, recompile the kernel, install the kernel and the modules,
unload the gspca_pac7302 kernel module (rmmod gspca_pac7302), and then
plug the webcam in order it can load the new kernel module. When you were
successful with these steps you'll see new messages in the output of dmesg
command. Please send this output also.

Finally, what you will also need is that the libv4l-0 package of Ubuntu
( http://packages.ubuntu.com/intrepid/libv4l-0 ) is installed on your computer.
This package you may have already installed.

These are the main points. Let's see how far you can proceed. Let me know
if you need further assistance.

Regards,

Márton Németh

---
From: Márton Németh nm...@freemail.hu

On the schematics in PixArt PAC7301/PAC7302 datasheet
(http://www.pixart.com.tw/upload/PAC7301_7302%20%20Spec%20V1_20091228174030.pdf)
pages 19, 20, 21 and 22 there is a note titled PID IO_TRAP which describes
the possible product ID range 0x2620..0x262f. In this range there are some
known webcams, however, there are some PIDs with unknown or future devices.
Because PixArt PAC7301/PAC7302 is a System on a Chip (SoC) device is is
probable that this driver will work correctly independent of the used PID.

Signed-off-by: Márton Németh nm...@freemail.hu
---
diff -r dfa82cf98a85 linux/drivers/media/video/gspca/pac7302.c
--- a/linux/drivers/media/video/gspca/pac7302.c Sat Jan 30 20:03:02 2010 +0100
+++ b/linux/drivers/media/video/gspca/pac7302.c Sun Jan 31 11:08:21 2010 +0100
@@ -96,6 +96,7 @@
u8 flags;
 #define FL_HFLIP 0x01  /* mirrored by default */
 #define FL_VFLIP 0x02  /* vertical flipped by default */
+#define FL_EXPERIMENTAL 0x80   /* USB IDs based on heuristic without any known 
product */

u8 sof_read;
u8 autogain_ignore_frames;
@@ -1220,17 +1221,33 @@
 };

 /* -- module initialisation -- */
+/* Note on FL_EXPERIMENTAL:
+ * On the schematics in PixArt PAC7301/PAC7302 datasheet
+ * 
(http://www.pixart.com.tw/upload/PAC7301_7302%20%20Spec%20V1_20091228174030.pdf)
+ * pages 19, 20, 21 and 22 there is a note titled PID IO_TRAP which describes
+ * the possible product ID range 0x2620..0x262f. In this range there are some
+ * known webcams, however, there are some PIDs with unknown or future devices.
+ * Because PixArt PAC7301/PAC7302 is a System on a Chip (SoC) device is is
+ * probable that this driver will work correctly independent of the used PID.
+ */
 static const struct usb_device_id device_table[] __devinitconst = {
{USB_DEVICE(0x06f8, 0x3009)},
{USB_DEVICE(0x093a, 0x2620)},
{USB_DEVICE(0x093a, 0x2621)},
{USB_DEVICE(0x093a, 0x2622), .driver_info = FL_VFLIP},
+   {USB_DEVICE(0x093a, 0x2623), .driver_info = FL_EXPERIMENTAL },
{USB_DEVICE(0x093a, 0x2624), .driver_info = FL_VFLIP},
+   {USB_DEVICE(0x093a, 0x2625), .driver_info = FL_EXPERIMENTAL },
{USB_DEVICE(0x093a, 0x2626)},
+   {USB_DEVICE(0x093a, 0x2627), .driver_info = FL_EXPERIMENTAL },
{USB_DEVICE(0x093a, 0x2628)},
{USB_DEVICE(0x093a, 0x2629), .driver_info = FL_VFLIP},
{USB_DEVICE(0x093a, 0x262a)},
+   {USB_DEVICE(0x093a, 0x262b), .driver_info = FL_EXPERIMENTAL },
{USB_DEVICE(0x093a, 0x262c)},
+   {USB_DEVICE(0x093a, 0x262d), .driver_info = FL_EXPERIMENTAL },
+   {USB_DEVICE(0x093a, 0x262e), .driver_info = FL_EXPERIMENTAL },
+   {USB_DEVICE(0x093a, 0x262f), .driver_info = FL_EXPERIMENTAL },
{}
 };
 MODULE_DEVICE_TABLE(usb, device_table);
@@ -1239,6 +1256,17 @@
 static int __devinit sd_probe(struct usb_interface *intf,
const struct usb_device_id *id)
 {
+   if ((u8)id-driver_info  FL_EXPERIMENTAL) {
+   PDEBUG(D_ERR | D_PROBE, WARNING: USB device ID