diff mbox

spca1528 device (Device 015: ID 04fc:1528 Sunplus Technology)..libv4l2: error turning on stream: Timer expired issue

Message ID 20110905091959.727346d5@tele (mailing list archive)
State New, archived
Headers show

Commit Message

Jean-Francois Moine Sept. 5, 2011, 7:19 a.m. UTC
On Sun, 04 Sep 2011 15:39:30 -0400
Mauricio Henriquez <buhochileno@gmail.com> wrote:

> Recently I'm trying to make work a Sunplus crappy mini HD USB camera, lsusb
> list this info related to the device:
> 
> Picture Transfer Protocol (PIMA 15470)
> Bus 001 Device 015: ID 04fc:1528 Sunplus Technology Co., Ltd
> 
>   idVendor           0x04fc Sunplus Technology Co., Ltd
>    idProduct          0x1528
>    bcdDevice            1.00
>    iManufacturer           1 Sunplus Co Ltd
>    iProduct                2 General Image Devic
>    iSerial                 0
> ...
> 
> Using the gspca-2.13.6 on my Fed12 (2.6.31.6-166.fc12.i686.PAE kernel), the
> device is listed as /dev/video1 and no error doing a dmesg...but trying to
> make it work, let say with xawtv, I get:
	[snip]

Hi Mauricio,

The problem seems tied to the alternate setting. It must be the #3
while the lastest versions of gspca compute a "best" one. May you apply
the following patch to gspca-2.13.6?

----------------------8<----------------------
----------------------8<----------------------

(Theodore, this webcam may work in mass storage mode with ID 04fc:0171.
In webcam mode with ID 04fc:1528, it offers 3 interfaces: interface 0
contains only an interrupt endpoint, interface 1 is the webcam with
only isochronous endpoints and interface 2 contains bulk in, bulk out
and interrupt in endpoints - I don't know how to use the interfaces 0
and 2, but sure the interface 2 could be used to access the camera
images)

Comments

Mauricio Henriquez Sept. 5, 2011, 3:33 p.m. UTC | #1
On 09/05/2011 03:19 AM, Jean-Francois Moine wrote:
> On Sun, 04 Sep 2011 15:39:30 -0400
> Mauricio Henriquez<buhochileno@gmail.com>  wrote:
>
>    
>> Recently I'm trying to make work a Sunplus crappy mini HD USB camera, lsusb
>> list this info related to the device:
>>
>> Picture Transfer Protocol (PIMA 15470)
>> Bus 001 Device 015: ID 04fc:1528 Sunplus Technology Co., Ltd
>>
>>    idVendor           0x04fc Sunplus Technology Co., Ltd
>>     idProduct          0x1528
>>     bcdDevice            1.00
>>     iManufacturer           1 Sunplus Co Ltd
>>     iProduct                2 General Image Devic
>>     iSerial                 0
>> ...
>>
>> Using the gspca-2.13.6 on my Fed12 (2.6.31.6-166.fc12.i686.PAE kernel), the
>> device is listed as /dev/video1 and no error doing a dmesg...but trying to
>> make it work, let say with xawtv, I get:
>>      
> 	[snip]
>
> Hi Mauricio,
>
> The problem seems tied to the alternate setting. It must be the #3
> while the lastest versions of gspca compute a "best" one. May you apply
> the following patch to gspca-2.13.6?
>    
Thanks Jean, yeap I apply the patch, but still the same kind of messages 
about timeout sing xawtv or svv:

xawtv:
ioctl: VIDIOC_S_STD(std=0x0 []): Invalid argument
libv4l2: error turning on stream: Timer expired
libv4l2: error reading: Invalid argument
v4l2: read: Invalid argument
libv4l2: error turning on stream: Timer expired
ioctl: VIDIOC_STREAMON(int=1): Timer expired
v4l2: oops: select timeout
ioctl: VIDIOC_REQBUFS(count=0;type=VIDEO_CAPTURE;memory=MMAP): Device or 
resource busy
libv4l2: error reading: Invalid argument
v4l2: read: Invalid argument

svv:
raw pixfmt: JPEG 640x480
pixfmt: RGB3 640x480
mmap method
VIDIOC_STREAMON error 62, Timer expired

this camera in mass storage mode works ok...

Cheers

Mauricio

> ----------------------8<----------------------
> --- build/spca1528.c.orig	2011-09-05 08:41:54.000000000 +0200
> +++ build/spca1528.c	2011-09-05 08:53:51.000000000 +0200
> @@ -307,8 +307,6 @@
>   	sd->color = COLOR_DEF;
>   	sd->sharpness = SHARPNESS_DEF;
>
> -	gspca_dev->nbalt = 4;		/* use alternate setting 3 */
> -
>   	return 0;
>   }
>
> @@ -349,6 +347,9 @@
>   	reg_r(gspca_dev, 0x25, 0x0004, 1);
>   	reg_wb(gspca_dev, 0x27, 0x0000, 0x0000, 0x06);
>   	reg_r(gspca_dev, 0x27, 0x0000, 1);
> +
> +	gspca_dev->alt = 4;		/* use alternate setting 3 */
> +
>   	return gspca_dev->usb_err;
>   }
>
> ----------------------8<----------------------
>
> (Theodore, this webcam may work in mass storage mode with ID 04fc:0171.
> In webcam mode with ID 04fc:1528, it offers 3 interfaces: interface 0
> contains only an interrupt endpoint, interface 1 is the webcam with
> only isochronous endpoints and interface 2 contains bulk in, bulk out
> and interrupt in endpoints - I don't know how to use the interfaces 0
> and 2, but sure the interface 2 could be used to access the camera
> images)
>
>
Jean-Francois Moine Sept. 5, 2011, 5:15 p.m. UTC | #2
On Mon, 05 Sep 2011 11:33:49 -0400
Mauricio Henriquez <buhochileno@gmail.com> wrote:

> Thanks Jean, yeap I apply the patch, but still the same kind of messages 
> about timeout sing xawtv or svv:

OK Mauricio. So, I need more information. May you set the gspca debug
level to 0x0f

	echo 0x0f > /sys/module/gspca_main/parameters/debug

run 'svv' and send me the kernel messages starting from the last gspca
open?

Thanks.
Mauricio Henriquez Sept. 5, 2011, 8:10 p.m. UTC | #3
On 09/05/2011 01:15 PM, Jean-Francois Moine wrote:
> On Mon, 05 Sep 2011 11:33:49 -0400
> Mauricio Henriquez<buhochileno@gmail.com>  wrote:
>
>    
>> Thanks Jean, yeap I apply the patch, but still the same kind of messages
>> about timeout sing xawtv or svv:
>>      
> OK Mauricio. So, I need more information. May you set the gspca debug
> level to 0x0f
>
> 	echo 0x0f>  /sys/module/gspca_main/parameters/debug
>
> run 'svv' and send me the kernel messages starting from the last gspca
> open?
>    
Ok, I set the gspca debug thing and this is the dmesg messages after 
running svv:

gspca-2.13.6: [svv] open
gspca-2.13.6: try fmt cap JPEG 640x480
gspca-2.13.6: try fmt cap JPEG 640x480
gspca-2.13.6: frame alloc frsz: 115790
gspca-2.13.6: reqbufs st:0 c:4
gspca-2.13.6: mmap start:b7739000 size:118784
gspca-2.13.6: mmap start:b7621000 size:118784
gspca-2.13.6: mmap start:b7604000 size:118784
gspca-2.13.6: mmap start:b75e7000 size:118784
gspca-2.13.6: init transfer alt 3
gspca-2.13.6: isoc 128 pkts size 512 = bsize:65536
spca1528-2.13.6: wait_status_0 timeout
gspca-2.13.6: kill transfer
gspca-2.13.6: [svv] close
gspca-2.13.6: frame free
gspca-2.13.6: close done
gspca-2.13.6: [svv] open
gspca-2.13.6: try fmt cap JPEG 640x480
gspca-2.13.6: try fmt cap JPEG 640x480
gspca-2.13.6: frame alloc frsz: 115790
gspca-2.13.6: reqbufs st:0 c:4
gspca-2.13.6: mmap start:b7732000 size:118784
gspca-2.13.6: mmap start:b761a000 size:118784
gspca-2.13.6: mmap start:b75fd000 size:118784
gspca-2.13.6: mmap start:b75e0000 size:118784
gspca-2.13.6: init transfer alt 3
gspca-2.13.6: isoc 128 pkts size 512 = bsize:65536
spca1528-2.13.6: wait_status_0 timeout
gspca-2.13.6: kill transfer
gspca-2.13.6: [svv] close
gspca-2.13.6: frame free
gspca-2.13.6: close done

...hope you know what it mean :-) ..let me know if I can help in 
anything else, here I'm also playing with the code :-)

Mauricio
> Thanks.
>
>
diff mbox

Patch

--- build/spca1528.c.orig	2011-09-05 08:41:54.000000000 +0200
+++ build/spca1528.c	2011-09-05 08:53:51.000000000 +0200
@@ -307,8 +307,6 @@ 
 	sd->color = COLOR_DEF;
 	sd->sharpness = SHARPNESS_DEF;
 
-	gspca_dev->nbalt = 4;		/* use alternate setting 3 */
-
 	return 0;
 }
 
@@ -349,6 +347,9 @@ 
 	reg_r(gspca_dev, 0x25, 0x0004, 1);
 	reg_wb(gspca_dev, 0x27, 0x0000, 0x0000, 0x06);
 	reg_r(gspca_dev, 0x27, 0x0000, 1);
+
+	gspca_dev->alt = 4;		/* use alternate setting 3 */
+
 	return gspca_dev->usb_err;
 }