Message ID | 20110905091959.727346d5@tele (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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) > >
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.
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. > >
--- 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; }