JoJo jojo schrieb:
Hi Lennart

Thanks for testing,
can you try insmodding the driver with log_level=0x08 ?

The device is not created 'coz sensor probing failed & program exited.

-JoJo

On Sat, Nov 29, 2008 at 12:46 AM, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
Operating System: ubuntu 8.10
Kernel: 2.6.27
Model: 0c45:628f

Everything regarding compilation and installing the module worked out
fine. Though the /dev/video0 device is not created nor does it work
when i create it myself. The dmesg puts up the following log when
loading the module:

[ 3518.178805] microdia: Microdia USB 2.0 webcam driver loaded
[ 3518.179072] microdia: Microdia USB 2.0 Webcam - 0C45:628F plugged-
in.
[ 3518.179077] microdia: Detected SN9C20X Bridge
[ 3518.192502] usb_microdia_driver: probe of 7-4:1.0 failed with error
-22
[ 3518.193129] usbcore: registered new interface driver
usb_microdia_driver
[ 3518.194393] microdia: v2008.10 : Microdia USB 2.0 Webcam Driver

I haven't found any information regarding this error in this group nor
on google.


--~--~---------~--~----~------------~-------~--~----~
Lets make microdia webcams plug'n play, (currently plug'n pray)
To post to this group, send email to [email protected]
Visit us online https://groups.google.com/group/microdia
-~----------~----~----~----~------~----~------~--~---


Here is mostly harmless patch(0003) that adds so far missing devices to the device-sensor translation table.

The other patches(0001) does the reclassification of some INFO messages and change the default log_level.

The even more other patch(0002) hopes to fix the build problems users with <=2.6.25 kernel may experience.

One "breaks nothing" should be enough to push this.

GWater
From edae3a5f22303d19e0c82415b18f4787859f8690 Mon Sep 17 00:00:00 2001
From: GWater <[EMAIL PROTECTED]>
Date: Fri, 28 Nov 2008 21:25:01 +0100
Subject: [PATCH] Reclassify some messages from INFO to DEBUG or ERROR

        This patch also changes the default log_level to 5
        which means "output INFO and ERROR messages". Ideally
        only errors are fatal and it's one more message to
        the user which tells us precisely where the problem is.

Signed-off-by: GWater <[EMAIL PROTECTED]>
---
 microdia-dev.c   |    2 +-
 microdia-queue.c |    2 +-
 microdia-usb.c   |    6 +++---
 microdia-v4l.c   |    2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/microdia-dev.c b/microdia-dev.c
index 622945f..98456ba 100644
--- a/microdia-dev.c
+++ b/microdia-dev.c
@@ -540,7 +540,7 @@ int dev_microdia_initialize_device(struct usb_microdia 
*dev, __u32 flags)
                UDIA_INFO("Detected SN9C20X Bridge\n");
                return sn9c20x_initialize(dev);
        default:
-               UDIA_INFO("Unsupported bridge\n");
+               UDIA_ERROR("Unsupported bridge\n");
        }
        return -ENODEV;
 }
diff --git a/microdia-queue.c b/microdia-queue.c
index 86b4d02..04008f2 100644
--- a/microdia-queue.c
+++ b/microdia-queue.c
@@ -182,7 +182,7 @@ done:
 int microdia_free_buffers(struct microdia_video_queue *queue)
 {
        unsigned int i;
-       UDIA_INFO("Freeing %d v4l2 buffers\n", queue->count);
+       UDIA_DEBUG("Freeing %d v4l2 buffers\n", queue->count);
 
        for (i = 0; i < queue->count; ++i) {
                if (queue->buffer[i].vma_use_count != 0)
diff --git a/microdia-usb.c b/microdia-usb.c
index 48219f9..e9b405b 100644
--- a/microdia-usb.c
+++ b/microdia-usb.c
@@ -144,7 +144,7 @@ static int auto_whitebalance = 1;
  * @var log_level
  *   Module parameter to set the log level
  */
-__u8 log_level = 1;
+__u8 log_level = 5;
 
 
 /**
@@ -243,7 +243,7 @@ struct usb_endpoint_descriptor *find_endpoint(struct 
usb_host_interface *alts,
        for (i = 0; i < alts->desc.bNumEndpoints; ++i) {
                ep = &alts->endpoint[i].desc;
                if ((ep->bEndpointAddress & 0xf) == epaddr) {
-                       UDIA_INFO("Found Endpoint 0x%X\n", epaddr);
+                       UDIA_DEBUG("Found Endpoint 0x%X\n", epaddr);
                        return ep;
                }
        }
@@ -541,7 +541,7 @@ void usb_microdia_completion_handler(struct urb *urb)
        ret = usb_submit_urb(urb, GFP_ATOMIC);
 
        if (ret != 0) {
-               UDIA_INFO("Error (%d) re-submitting urb in "
+               UDIA_ERROR("Error (%d) re-submitting urb in "
                           "microdia_isoc_handler.\n", ret);
        }
 }
diff --git a/microdia-v4l.c b/microdia-v4l.c
index ad274f6..c42826d 100644
--- a/microdia-v4l.c
+++ b/microdia-v4l.c
@@ -1095,7 +1095,7 @@ int microdia_vidioc_reqbufs(struct file *file, void *priv,
 
        request->count = ret;
        ret = 0;
-       UDIA_INFO("Buffers Allocated %d\n", request->count);
+       UDIA_DEBUG("Buffers Allocated %d\n", request->count);
 done:
        return ret;
 }
-- 
1.6.0.4

From dede60f9eca785ed5eff7587bb8ac1c7e46b1b15 Mon Sep 17 00:00:00 2001
From: GWater <[EMAIL PROTECTED]>
Date: Fri, 28 Nov 2008 21:34:07 +0100
Subject: [PATCH] Fix build problems for kernel < 2.6.25 because of undefined 
V4L2_CID

The V4L2 spec claims that the changes were included into kernel
        2.6.25 therefore I also changed the #if statement.

Signed-off-by: GWater <[EMAIL PROTECTED]>
---
 microdia-v4l.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/microdia-v4l.c b/microdia-v4l.c
index c42826d..ce2c206 100644
--- a/microdia-v4l.c
+++ b/microdia-v4l.c
@@ -40,8 +40,9 @@
 
 
 /* USER DEFINED V4L2-CONTROLS: */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
 #define V4L2_CID_SHARPNESS             (V4L2_CID_PRIVATE_BASE + 0)
+#define V4L2_CID_EXPOSURE_AUTO         (V4L2_CID_PRIVATE_BASE + 1)
 #endif
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
-- 
1.6.0.4

From 0dca2c0e8e06521c6f78503c89c951b4eda42f6f Mon Sep 17 00:00:00 2001
From: GWater <[EMAIL PROTECTED]>
Date: Sat, 29 Nov 2008 09:37:22 +0100
Subject: [PATCH] Add missing devices to the device-sensor table

Signed-off-by: GWater <[EMAIL PROTECTED]>
---
 microdia-dev.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/microdia-dev.c b/microdia-dev.c
index 98456ba..2f684ce 100644
--- a/microdia-dev.c
+++ b/microdia-dev.c
@@ -147,12 +147,16 @@ static __u16 known_cams[][2] = {
        {0x6248, OV9655_SENSOR},
        {0x624e, SOI968_SENSOR},
        {0x624f, OV9650_SENSOR},
+       {0x6251, OV9650_SENSOR},
        {0x6253, OV9650_SENSOR},
        {0x6260, OV7670_SENSOR},
        {0x627b, OV7660_SENSOR},
        {0x627f, OV9650_SENSOR},
+       {0x6280, MT9M001_SENSOR},
+       {0x6282, MT9M111_SENSOR},
        {0x6288, OV9655_SENSOR},
        {0x628e, SOI968_SENSOR},
+       {0x628f, OV9650_SENSOR},
        {0x62a0, OV7670_SENSOR},
        {0x62b3, OV9655_SENSOR},
        {0x62bb, OV7660_SENSOR},
-- 
1.6.0.4

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to