Genesys Logic Webcam Support?

Asked by ANDREA on 2007-12-10

hi everyone
does anybody know how to configure a genesys webcam? here's my lsusb:
Bus 007 Device 002: ID 090c:1000 Feiya Technology Corp. Memory Bar
Bus 007 Device 001: ID 0000:0000
Bus 006 Device 002: ID 05e3:0505 Genesys Logic, Inc.
Bus 006 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 002 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000

as you can see on bus 6 dev 2 there's the genesys logic usb 2.0 device a built-in webcam but i haven't found any way to get it working. i got gspca (i think) installed and tried camorama as well as easycam2 but nothing works. ekiga sees a camera but returns errors ("could not open chosen channel with the chosen video format") and well /dev/video0 seems to be a problem for easycam2 and camorama. anybody know anything about this issue? or any ideas? can also be stuff i tried in different ways and such well i'd really love to get this one working as i bought this laptop brandnew windows-free so i was thrilled to see that everything worked perfectly and then came the webcam ... oh well :-)

ok thank you in advance for your help. answers in german, french, italian, english and spanish welcome ... thanks!

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
albert_chuang
Solved:
2008-03-08
Last query:
2008-03-08
Last reply:
2008-03-03

This question was reopened

Gabriel (xgammax) said : #1

Hi,

i have the same problem like Andrea with my Genesys Logic USB 2.0 camera.
System: Ubuntu 7.10 on a ASUS C90s Notebook.

lsusb:
Bus 005 Device 008: ID 05e3:0702 Genesys Logic, Inc. USB 2.0 IDE Adapter
Bus 005 Device 003: ID 05e3:0503 Genesys Logic, Inc.
Bus 005 Device 001: ID 0000:0000
Bus 001 Device 005: ID 046d:c50b Logitech, Inc. Cordless Desktop Optical
Bus 001 Device 004: ID 058f:9254 Alcor Micro Corp. Hub
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 003: ID 147e:2016
Bus 004 Device 002: ID 0b05:1712 ASUSTek Computer, Inc.
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000

Thanks a lot
Gabriel

ANDREA (andrea54) said : #2

yeah there is a way to see half an image for a couple of milliseconds ... if you install ov51xx, spca5xx, ucvideo etc. all kernel modules and then fire it up with a special vlc command the image shows half the way for a split second. funny, isn't it yet it's not too smart to do that plus the cam doesn't work after that fragment of a second afterwards ... hasn't worked since either :-)

any hints would be appreciate - thank you.

andrea

ANDREA (andrea54) said : #3

meant to say still need an answer :-)

Launchpad Janitor (janitor) said : #4

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

ANDREA (andrea54) said : #5

"This question was expired because it remained in the 'Open' state without activity for the last 15 days." nice!

that simply means that there are FEW people with such a webcam. QUESTION REOPENED!

ANDREA (andrea54) said : #6

i found that this might be linked to

https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/87054

as apparently the chip is the same (SN9C201). I'm trying the solution:

Generic driver SN9CXXX driver at http://www.linux-projects.org

but still nothing working... ideas? any at all?

ANDREA (andrea54) said : #7

argh! I meant to say i still need an answer...

Launchpad Janitor (janitor) said : #8

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

ANDREA (andrea54) said : #9

question reopened as it has still not been answered. any suggestions are very welcome!

Launchpad Janitor (janitor) said : #10

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

ANDREA (andrea54) said : #11

still need an answer.

albert_chuang (vradmin) said : #12

Hi.. Andrea

the new linux UVC driver (after r185) had supported Genesyslogic(GL860A chipset) 05e3:0505 which is UVC device.
you can use "svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk" and compile it.

then use "luvcview -f yuv" to try it.

ANDREA (andrea54) said : #13

hm works half the way but that's way more than before. kopete crashes when i try to load the webcam in the configuration menu. in luvcview the image is static ... is that normal or does it just mean that the driver is now being worked on? or am i missing something (configuration or so?)

thank you so much for your help!

andrea

ANDREA (andrea54) said : #14

hm works half the way but that's way more than before. kopete crashes when i try to load the webcam in the configuration menu. in luvcview the image is static ... is that normal or does it just mean that the driver is now being worked on? or am i missing something (configuration or so?)

thank you so much for your help!

andrea

albert_chuang (vradmin) said : #15

Hello Andrea..

Could you help me to do something ?
Please rmmod uvcvideo, reload it and run "luvcview -f yuv" then quit luvcview.
Then provide your UVC driver version, "lsusb -v -d 05e3:0505" and dmesg.
Let me see them if the same with my device.

Thank you

Albert

ANDREA (andrea54) said : #16

hi albert
ok here's what i've done:
sudo rmmod uvcvideo
sudo modprobe uvcvideo
luvcview -f yuv

that gave me an error so i continued. i then returned and did the same thing again (simply luvcview -f yuv) and the thingie started up but wouldn't close (in the konsole it says:
luvcview version 0.2.1
Video driver: x11
A window manager is available
video /dev/video0

Stop asked
)
so ok i killed it (sudo killall luvcview), didn't work, so i started xterm and killed konsole :-) obviously that worked ... anyway.

my uvc driver version ... saved it to lsusb.txt (attached). last step: dmesg | tail:
[ 1364.752000] usbcore: deregistering interface driver uvcvideo
[ 1369.792000] uvcvideo: Found UVC 1.00 device USB2.0 UVC PC Camera (05e3:0505)
[ 1369.792000] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 1370.588000] usbcore: registered new interface driver uvcvideo
[ 1370.588000] USB Video Class driver (v0.1.0)
[ 1385.988000] uvcvideo: Failed to query (129) UVC control 1 (unit 0) : -110 (exp. 26).
[ 1396.312000] uvcvideo: Failed to query (130) UVC control 1 (unit 0) : -110 (exp. 26).

if i did something wrong or so let me know. thank you so much for your help :-) IF it helps the luvcview image was very orange i mean the contours were correct but heck that was weird :-)

andrea

ANDREA (andrea54) said : #17

attaching doesn't seem to work. so here's the content of lsusb:

Bus 001 Device 002: ID 05e3:0505 Genesys Logic, Inc.
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
  bMaxPacketSize0 64
  idVendor 0x05e3 Genesys Logic, Inc.
  idProduct 0x0505
  bcdDevice 2.00
  iManufacturer 0
  iProduct 1 USB2.0 UVC PC Camera
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 389
    bNumInterfaces 2
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0x80
      (Bus Powered)
    MaxPower 500mA
    Interface Association:
      bLength 8
      bDescriptorType 11
      bFirstInterface 0
      bInterfaceCount 2
      bFunctionClass 14 Video
      bFunctionSubClass 3 Video Interface Collection
      bFunctionProtocol 0
      iFunction 0
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 1
      bInterfaceClass 14 Video
      bInterfaceSubClass 1 Video Control
      bInterfaceProtocol 0
      iInterface 0
      VideoControl Interface Descriptor:
        bLength 13
        bDescriptorType 36
        bDescriptorSubtype 1 (HEADER)
        bcdUVC 1.00
        wTotalLength 51
        dwClockFrequency 6.000000MHz
        bInCollection 1
        baInterfaceNr( 0) 1
      VideoControl Interface Descriptor:
        bLength 9
        bDescriptorType 36
        bDescriptorSubtype 3 (OUTPUT_TERMINAL)
        bTerminalID 4
        wTerminalType 0x0101 USB Streaming
        bAssocTerminal 0
        bSourceID 3
        iTerminal 0
      VideoControl Interface Descriptor:
        bLength 18
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 1
        wTerminalType 0x0201 Camera Sensor
        bAssocTerminal 0
        iTerminal 0
        wObjectiveFocalLengthMin 0
        wObjectiveFocalLengthMax 0
        wOcularFocalLength 0
        bControlSize 3
        bmControls 0x00000000
      VideoControl Interface Descriptor:
        bLength 11
        bDescriptorType 36
        bDescriptorSubtype 5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID 3
        bSourceID 1
        wMaxMultiplier 0
        bControlSize 2
        bmControls 0x0000013f
          Brightness
          Contrast
          Hue
          Saturation
          Sharpness
          Gamma
          Backlight Compensation
        iProcessing 0
        bmVideoStandards 0x72
          NTSC - 525/60
          NTSC - 625/50
          PAL - 525/60
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0004 1x 4 bytes
        bInterval 6
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 1
      bAlternateSetting 0
      bNumEndpoints 0
      bInterfaceClass 14 Video
      bInterfaceSubClass 2 Video Streaming
      bInterfaceProtocol 0
      iInterface 0
      VideoStreaming Interface Descriptor:
        bLength 14
        bDescriptorType 36
        bDescriptorSubtype 1 (INPUT_HEADER)
        bNumFormarts 1
        wTotalLength 33024
        bEndPointAddress 0
        bmInfo 4
        bTerminalLink 0
        bStillCaptureMethod 0
        bTriggerSupport 0
        bTriggerUsage 1
        bControlSize 1
        bmaControls( 0) 27
      VideoStreaming Interface Descriptor:
        bLength 27
        bDescriptorType 36
        bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
        bFormatIndex 1
        bNumFrameDescriptors 6
        guidFormat {32595559-0000-0010-8000-00aa00389b71}
        bBitsPerPixel 16
        bDefaultFrameIndex 1
        bAspectRatioX 0
        bAspectRatioY 0
        bmInterlaceFlags 0x00
          Interlaced stream or variable: No
          Fields per frame: 1 fields
          Field 1 first: No
          Field pattern: Field 1 only
          bCopyProtect 0
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 1
        bmCapabilities 0x00
          Still image unsupported
        wWidth 640
        wHeight 480
        dwMinBitRate 18432000
        dwMaxBitRate 18432000
        dwMaxVideoFrameBufferSize 614400
        dwDefaultFrameInterval 416666
        bFrameIntervalType 1
        dwFrameInterval( 0) 416666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 2
        bmCapabilities 0x00
          Still image unsupported
        wWidth 160
        wHeight 120
        dwMinBitRate 1152000
        dwMaxBitRate 1152000
        dwMaxVideoFrameBufferSize 38400
        dwDefaultFrameInterval 416666
        bFrameIntervalType 1
        dwFrameInterval( 0) 416666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 3
        bmCapabilities 0x00
          Still image unsupported
        wWidth 176
        wHeight 144
        dwMinBitRate 1520640
        dwMaxBitRate 1520640
        dwMaxVideoFrameBufferSize 50688
        dwDefaultFrameInterval 416666
        bFrameIntervalType 1
        dwFrameInterval( 0) 416666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 4
        bmCapabilities 0x00
          Still image unsupported
        wWidth 320
        wHeight 240
        dwMinBitRate 4608000
        dwMaxBitRate 4608000
        dwMaxVideoFrameBufferSize 153600
        dwDefaultFrameInterval 416666
        bFrameIntervalType 1
        dwFrameInterval( 0) 416666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 5
        bmCapabilities 0x00
          Still image unsupported
        wWidth 352
        wHeight 288
        dwMinBitRate 6082560
        dwMaxBitRate 6082560
        dwMaxVideoFrameBufferSize 202752
        dwDefaultFrameInterval 416666
        bFrameIntervalType 1
        dwFrameInterval( 0) 416666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 6
        bmCapabilities 0x00
          Still image unsupported
        wWidth 1280
        wHeight 1024
        dwMinBitRate 23592960
        dwMaxBitRate 23592960
        dwMaxVideoFrameBufferSize 2621440
        dwDefaultFrameInterval 1428571
        bFrameIntervalType 1
        dwFrameInterval( 0) 1428571
      VideoStreaming Interface Descriptor:
        bLength 6
        bDescriptorType 36
        bDescriptorSubtype 13 (COLORFORMAT)
        bColorPrimaries 0 (Unspecified)
        bTransferCharacteristics 0 (Unspecified)
        bMatrixCoefficients 0 (Unspecified)
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 1
      bAlternateSetting 1
      bNumEndpoints 1
      bInterfaceClass 14 Video
      bInterfaceSubClass 2 Video Streaming
      bInterfaceProtocol 0
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 5
          Transfer Type Isochronous
          Synch Type Asynchronous
          Usage Type Data
        wMaxPacketSize 0x1400 3x 0 bytes
        bInterval 1
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 1
      bAlternateSetting 2
      bNumEndpoints 1
      bInterfaceClass 14 Video
      bInterfaceSubClass 2 Video Streaming
      bInterfaceProtocol 0
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 5
          Transfer Type Isochronous
          Synch Type Asynchronous
          Usage Type Data
        wMaxPacketSize 0x0400 1x 0 bytes
        bInterval 1
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 1
      bAlternateSetting 3
      bNumEndpoints 1
      bInterfaceClass 14 Video
      bInterfaceSubClass 2 Video Streaming
      bInterfaceProtocol 0
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 5
          Transfer Type Isochronous
          Synch Type Asynchronous
          Usage Type Data
        wMaxPacketSize 0x0c00 2x 0 bytes
        bInterval 1
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 1
      bAlternateSetting 4
      bNumEndpoints 1
      bInterfaceClass 14 Video
      bInterfaceSubClass 2 Video Streaming
      bInterfaceProtocol 0
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 5
          Transfer Type Isochronous
          Synch Type Asynchronous
          Usage Type Data
        wMaxPacketSize 0x0000 1x 0 bytes
        bInterval 1
Device Qualifier (for other device speed):
  bLength 10
  bDescriptorType 6
  bcdUSB 2.00
  bDeviceClass 239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
  bMaxPacketSize0 64
  bNumConfigurations 1
Device Status: 0x0000
  (Bus Powered)

albert_chuang (vradmin) said : #18

Oh ..
You don't install new svn version .....
I see your dmesg ..

the line "[ 1370.588000] USB Video Class driver (v0.1.0) "
should be like this ====> USB Video Class driver (SVN r189)
note that should have SVN rXXX

that's all right ..
now we go from scratch ..
1. aptitude install subversion
2. svn co svn://svn.berlios.de/linux-uvc/linux-uvc/trunk linux-uvc
3. cd linux-uvc
4. make
5. make install
6. rmmod uvcvideo
7. modprobe uvcvideo

thanks..

ANDREA (andrea54) said : #19

hm this is weird. i had checked out the svn and everything just as you posted and i've done it again now. yet when i dmesg | tail it, it still claims

[ 257.916000] usbcore: registered new interface driver uvcvideo
[ 257.916000] USB Video Class driver (v0.1.0)

so basically no SVN. here's my complete console stuff (maybe you find an error i totally overlooked) :

vishnu@vishnu-laptop:~$ cd Desktop && mkdir svn-driver && cd svn-driver
vishnu@vishnu-laptop:~/Desktop/svn-driver$ svn co svn://svn.berlios.de/linux-uvc/linux-uvc/trunk linux-uvc
A linux-uvc/uvc_status.c
A linux-uvc/svn-version.sh
A linux-uvc/uvc_ctrl.c
A linux-uvc/uvc_queue.c
A linux-uvc/uvc_video.c
A linux-uvc/uvc_isight.c
A linux-uvc/uvc_v4l2.c
A linux-uvc/uvc_compat.h
A linux-uvc/uvc_driver.c
A linux-uvc/uvcvideo.h
A linux-uvc/Makefile
A linux-uvc/dynctrl.txt
Checked out revision 189.
vishnu@vishnu-laptop:~/Desktop/svn-driver$ cd linux-uvc && sudo make
Building USB Video Class driver...
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic'
  CC [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvc_driver.o
  CC [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvc_queue.o
  CC [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvc_v4l2.o
  CC [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvc_video.o
  CC [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvc_ctrl.o
  CC [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvc_status.o
  CC [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvc_isight.o
  LD [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvcvideo.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC /home/vishnu/Desktop/svn-driver/linux-uvc/uvcvideo.mod.o
  LD [M] /home/vishnu/Desktop/svn-driver/linux-uvc/uvcvideo.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
vishnu@vishnu-laptop:~/Desktop/svn-driver/linux-uvc$ sudo make install
Installing USB Video Class driver...
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic'
  INSTALL /home/vishnu/Desktop/svn-driver/linux-uvc/uvcvideo.ko
  DEPMOD 2.6.22-14-generic
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
depmod -ae `uname -r`
vishnu@vishnu-laptop:~/Desktop/svn-driver/linux-uvc$ sudo rmmod uvcvideo
ERROR: Module uvcvideo does not exist in /proc/modules
vishnu@vishnu-laptop:~/Desktop/svn-driver/linux-uvc$ sudo modprobe uvcvideo
vishnu@vishnu-laptop:~/Desktop/svn-driver/linux-uvc$ dmesg | tail
[ 251.644000] usbcore: deregistering interface driver uvcvideo
[ 257.116000] uvcvideo: Found UVC 1.00 device USB2.0 UVC PC Camera (05e3:0505)
[ 257.116000] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 257.916000] usbcore: registered new interface driver uvcvideo
[ 257.916000] USB Video Class driver (v0.1.0)
[ 318.912000] usbcore: deregistering interface driver uvcvideo
[ 612.072000] uvcvideo: Found UVC 1.00 device USB2.0 UVC PC Camera (05e3:0505)
[ 612.076000] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 612.876000] usbcore: registered new interface driver uvcvideo
[ 612.876000] USB Video Class driver (v0.1.0)

as you can see on the last line, unfortunately, the usb video class driver is STILL 0.1.0 ... though this time an interesting error occured!
vishnu@vishnu-laptop:~/Desktop/svn-driver/linux-uvc$ sudo rmmod uvcvideo
ERROR: Module uvcvideo does not exist in /proc/modules

was i supposed to copy something in there? [if someone else reads this having the same problem, steps 4-7 are done "as root", using sudo ... )

thank you

andrea

ANDREA (andrea54) said : #20

got it!
sudo modprobe -r uvcvideo
sudo mv /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko.original
sudo cp uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko
sudo modprobe uvcvideo

then it's...

[ 1211.376000] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 1212.176000] usbcore: registered new interface driver uvcvideo
[ 1212.176000] USB Video Class driver (SVN r189)

ANDREA (andrea54) said : #21

btw it's still not really working i'm getting

vishnu@vishnu-laptop:~/Desktop/svn-driver/linux-uvc$ luvcview -f yuv
luvcview version 0.2.1
Video driver: x11
A window manager is available
video /dev/video0
Unable to set format: 5.
 Init v4L2 failed !! exit fatal

....
my steps:
1. sudo aptitude install subversion
2. svn co svn://svn.berlios.de/linux-uvc/linux-uvc/trunk linux-uvc
3. cd linux-uvc
4. sudo make
5. sudo make install
6. sudo modprobe -r uvcvideo
7. sudo mv /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko.original
8. sudo cp uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko
9. sudo modprobe uvcvideo
10. luvcview -f yuv

getting the above result. feels like we're almost there :-)

ANDREA (andrea54) said : #22

... almost but not quite (i hit solved by accident, sorry.)

Best albert_chuang (vradmin) said : #23

Hi ...

your dmesg
[ 1211.376000] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 1212.176000] usbcore: registered new interface driver uvcvideo
[ 1212.176000] USB Video Class driver (SVN r189)
show uvc_get_video_ctrl(video, probe, 1, GET_DEF) fails but not uvc_get_video_ctrl(video, probe, 1, GET_CUR) should is successful.
the uvc_video_init() is in uvc_video.c. I believe you can trace it.
so I suppose your device can be used.

but I don't know these
----
Unable to set format: 5.
 Init v4L2 failed !! exit fatal
----
because your "guidFormat {32595559-0000-0010-8000-00aa00389b71}" is yuv...

the followings are my dmesg and "luvcview -L "
[ 5937.945398] uvcvideo: Found UVC 1.00 device USB 2.0 Camera (05e3:0505)
[ 5937.950759] uvcvideo: 856 87 81
[ 5937.950767] uvcvideo: version 100
[ 5937.979546] uvcvideo: query 135 control 1 unit 0 26 exp. 26
[ 5937.979555] uvcvideo: 864
[ 5937.981533] uvcvideo: query 1 control 2 unit 0 26 exp. 26
[ 5937.982212] usbcore: registered new interface driver uvcvideo
[ 5937.982315] USB Video Class driver (SVN r189)

./luvcview -L
luvcview version 0.2.1
Video driver: x11
A window manager is available
video /dev/video0
/dev/video0 does not support read i/o
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 640, height = 480 }
        Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
        Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
        Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
        Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
        Time interval between frame: 1/30,

ANDREA (andrea54) said : #24

hi
i've just checked out r193 ... here's luvcview -L :

luvcview version 0.2.1
Video driver: x11
A window manager is available
video /dev/video0
/dev/video0 does not support read i/o
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 640, height = 480 }
 Time interval between frame: 1/24,
{ discrete: width = 160, height = 120 }
 Time interval between frame: 1/24,
{ discrete: width = 176, height = 144 }
 Time interval between frame: 1/24,
{ discrete: width = 320, height = 240 }
 Time interval between frame: 1/24,
{ discrete: width = 352, height = 288 }
 Time interval between frame: 1/24,
{ discrete: width = 1280, height = 1024 }
 Time interval between frame: 1/7,

so the time interval seems to differ. in dmesg i still constantly get errors:
[ 225.332000] usbcore: deregistering interface driver uvcvideo
[ 245.268000] uvcvideo: Found UVC 1.00 device USB2.0 UVC PC Camera (05e3:0505)
[ 245.312000] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[ 246.108000] usbcore: registered new interface driver uvcvideo
[ 246.108000] USB Video Class driver (SVN r193)
[ 322.912000] uvcvideo: Failed to query (129) UVC control 1 (unit 0) : -110 (exp. 26).

what did you mean by
"show uvc_get_video_ctrl(video, probe, 1, GET_DEF) fails but not uvc_get_video_ctrl(video, probe, 1, GET_CUR) should is successful.
the uvc_video_init() is in uvc_video.c. I believe you can trace it."

how do i trace it? what do i do? thanks in advance!

ANDREA (andrea54) said : #25

ok i've advanced a bit.
there was a line with GET_DEF and GET_CUR (with if (...)>0) so i kicked the part with GET_DEF. result in luvcview: it works! kind of orange, kind of crappy, but it's a start.

right now in kopete i see ... in the top third twice the orange webcam picture (two on one line) and the rest of the area is green ... err.... how do i fix that?

ANDREA (andrea54) said : #26

ok works with amsn, colors are weird but that's acceptable. will be tweaking on it a bit though :-) here's the EXACT thing i did:

first of all, obviously

1. sudo aptitude install subversion
2. svn co svn://svn.berlios.de/linux-uvc/linux-uvc/trunk linux-uvc
3. cd linux-uvc

there i had to edit uvcvideo.c
find the place where it says

 /* Some webcams don't suport GET_DEF request on the probe control. We
  * fall back to GET_CUR if GET_DEF fails.
  */
 if ((ret = uvc_get_video_ctrl(video, probe, 1, GET_DEF)) < 0 &&
     (ret = uvc_get_video_ctrl(video, probe, 1, GET_CUR)) < 0)
  return ret;

well and then simply replace the long if, i mean

 if ((ret = uvc_get_video_ctrl(video, probe, 1, GET_DEF)) < 0 &&
     (ret = uvc_get_video_ctrl(video, probe, 1, GET_CUR)) < 0)

by
 if ((ret = uvc_get_video_ctrl(video, probe, 1, GET_CUR)) < 0)

then save .... and proceed!

4. sudo make
5. sudo make install
6. sudo modprobe -r uvcvideo
7. sudo mv /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko.original
8. sudo cp uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko
9. sudo modprobe uvcvideo
10. luvcview -f yuv

if you like you could also try to visualize it with
mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 24

IMPORTANT: i found that my cam has a frame rate of 24 frames per second (fps) ... not 30. ok to anybody whom this serves good luck and report back! To albert_chuang a big THANK YOU!!!!!!!!!!!!!

getting the above result. feels like we're almost there :-)

ANDREA (andrea54) said : #27

Thanks albert_chuang, that solved my question.

Thanks for the hard work.
Is there any chance that this module will land in the kernel, soon?

Gareth (gareth-harries) said : #29

Hi Guys

I'm new to Linux. I have recently set my laptop to triple boot Vista/XP/ Ubuntu 8.04. I have the same problem with the onboard Genesys webcam. I have tries to follow what you have said above, but got completely lost.

I would be grateful if someone could giv me the step-by-step instructions to follow and treat me as a total newbie (which is what I am on linux!)

Thanks

Gareth

ANDREA (andrea54) said : #30

hi gareth
first of all: welcome to the world of ubuntu - you'll love it :-) now let's get your webcam working!

1) start a terminal or konsole (if your setup looks a bit like this: http://shots.osdir.com/slideshows/786/4.gif click on the bottom left on the blue button, point on System, then click Konsole. if your setup looks like this: http://www.ubuntu.com/products/whatisubuntu/804features/images/features/screens/home/1.jpg then click on applications, accessories, then click terminal)
2) in the command line, paste the following commands one after the other (if you want, i'll explain, for the moment i'll just give you the commands) - it will ask you for your password though to install stuff :-)

sudo aptitude install subversion
svn co svn://svn.berlios.de/linux-uvc/linux-uvc/trunk linux-uvc
cd linux-uvc
sudo make
sudo make install
sudo modprobe -r uvcvideo
sudo mv /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko.original
sudo cp uvcvideo.ko /lib/modules/$(uname -r)/ubuntu/media/usbvideo/uvcvideo.ko
sudo modprobe uvcvideo
luvcview -f yuv

3) after this copy&paste work, you should see yourself :-) that is, if you have luvcview installed which of course is optional, the last step is just to check :-) after that, your cam works :-)

get back to me either way so i know if it worked!!!

ANDREA

Gareth (gareth-harries) said : #31

Hi Andrea

Apologies for the delay in replying.. Have followed your instructions, and yes had some problems making sure I had the correct commands. Think I have finally copied them correctly. Did not have Lucview installed so went to the net to install it. I have downloaded it, but do not understand how to install it. Can you help - sory for being such a newbie on linux!

Thanks

Gareth

ANDREA (andrea54) said : #32

hi gareth
sorry for my late reply! ok in ubuntu and in general the ubuntu family, you don't have to manually download a file and execute an installer as in windows (or on the mac os x for that matter). you can either use synaptic or adept to install packages or if you're into using the command line, this will do the trick:
sudo apt-get install luvcview

it's not really essential, your webcam should already work in all other programs it's basically just a "let's see if it works" step :-) good luck and one more thing: don't apologize for being new to linux - everyone once was!

ANDREA

ps: if you're having trouble don't hesitate just drop a line and i'll try to help :-)

Gareth (gareth-harries) said : #33

Andrea

Thanks for the response - Will try to not apologise for being a newbie to Linux - but having been an MsDOS and then Windows user since 1987, am finding it somewhat daunting switching to a new OS, especially as I have always considered myself a somewhat pretty good user in those environments! I fully support what Linux is trying to do and would love to move to it. It appears to be much tighter coding and works better at the programming level and takes up less space on the hard disk - but have to say that it is somewhat alien to a Windows user

I ran the Sudo command and the final message I got back was

Setting up luvcview (20070512-3) ...

gareth@gareth-laptop:~$

So I assume it is installed!? Just need to try it now!

Wasn't sure where to find the synaptic or adept programme. Tried the applications button but couldn't find the Lucview in there.

Now I just need to get my onboard cardreader, speakers and USB sticks working with Linux now! Things don't seem to be easy for those of us who use laptops as oposed to Desktops!

Thanks

Gareth

ANDREA (andrea54) said : #34

precisely, it means it's installed :-) i suppose you're using ubuntu and not kubuntu (which i'm using) so let me think... i believe synaptic is found here:
To launch Synaptic, choose System > Administration > Synaptic Package Manager
(https://help.ubuntu.com/community/SynapticHowto)

Adept, as far as i know, is only installed with kubuntu but doesn't matter synaptic's cleaner anyway (the inferface).

as for your onboard cardreader, speakers and usb sticks ... please open new questions and well if you like post a link here and i'll check them out. my usb sticks have all worked so far right away, same goes for speakers but i've heard that there have been some ... problems with the hardy release of ubuntu regarding speakers (might be a question around here). as for cardreaders ... well mine worked right away! do you think it's not working because - unlike windows - ubuntu doesn't confront you with devices g thru z that aren't referring to anything? well the idea here is that as soon as you pop in a disk it prompts you but i guess you've tried ;-) in that case please post me your
dmesg | tail
output in the new question when inserting a card into the cardreader and maybe also a
lsusb

looking forward to getting your laptop working just like mine and helping you get the full ubuntu experience :-)

ANDREA

Gareth (gareth-harries) said : #35

Sorry Andrea - Where do I find the luview programme to see if it is working - have gone through all the menus but can't find any reference to it!?

Thanks

Gareth

ANDREA (andrea54) said : #36

well i think it's not really a gui program :-) you can launch it with

luvcview -f yuv

hopefully you'll see something ... otherwise you know where to complain ;-)

ANDREA

Gareth (gareth-harries) said : #37

Thanks Andrea - Had expected the cardreader to work in the same way as in Windows - had expected to either see it as a drive or not at all until the card was inserted! So feel a bit foolish! And yes it works fine and reads the card and I can see the photos. Will now work out how to import them!

You mention Kubuntu - I'm using the full version of Hardy Heron - do you think I should switch to Kubuntu as I'm using a laptop?

Will look into the speakers and usb sticks issue and see if I need to post separate questions

Thanks

Gareth

ANDREA (andrea54) said : #38

hi gareth
well honestly i think you should try out kubuntu if you have the bandwidth. you don't have to reinstall anything, in the console do a simple
sudo apt-get install kubuntu-desktop
and see what happens. if you have a slow connection i'd really abstain from doing anything alike though :-)
in Kubuntu you could use digikam, of course you can use that too using ubuntu, simply install it with synaptic which you now already know where to find or if you've started to get used to the command line ...
sudo apt-get install digikam
hehe :-)

as for your sound:
https://wiki.ubuntu.com/DebuggingSoundProblems

ok hope that helps ya :-)

ANDREA

ps: the only major difference between ubuntu and kubuntu is the so-called desktop environment. both are great for laptops :-) as with everything in the gnu/linux world, you got a huge choice of desktop environments but the most popular ones are definitely kde (->used in kubuntu) and gnome (->used in ubuntu)

Gareth (gareth-harries) said : #39

Hi Andrea

Thanks for your response! Will follow up on the link you gave for trying to fix the sound issue. Haven't had time to check out luvciew as yet - oh the joys of having to work for a living and a 12 hour day!

If the sound connection works and lucview that will only leave the usb stick issue to sort!

I don't know what I would have done without you

One final question - you say try out kubuntu - don't have an issue with that and I have the bandwidth to download it.

But will it change my ubuntu set up completely and how do I go back to it? And which would you say is better for a laptop or are they equally as good?

Thanks

Gareth

ANDREA (andrea54) said : #40

hi gareth
as far as i know (!) when you install the kubuntu-desktop package you are presented with two options at the login screen (basically gnome or kde) so you can pick :-) i am not exactly sure how defaults are handled, honestly, but I suppose that it won't change a lot as kubuntu's desktop environment (KDE) tends to save its defaults in the .kde folder while ubuntu's desktop environment (gnome) has its own files ...
I believe the whole ubuntu <--> kubuntu issue is discussed in lots of other questions though :-) for laptops they're both the same as the underlying technology is the same (basically just the "user interface" is different :-) )

oh and you're welcome, of course :-)

ANDREA

Gobion (gobion-list) said : #41

I was looking to get my webcam running on my 901 and followed the link from here:
http://ubuntu-eee.com/index.php5?title=EeePC_901#Webcam_.26_Bluetooth

Your instructions were clear, precise and really helpful.

Thanks for all your help (on behalf of forum lurkers) Andrea and Albert it is very much appreciated :)

I will be tracking this thread to see if there are any changes.

Cheers,
Gobion

Blorgbeard (blorgbeard) said : #42

Andrea, thanks from me as well. My Eee 901's webcam now works perfectly in ubuntu.

I'd just like to add for the benefit of anyone else reading this, that you may have to reboot after installing the new module. Until I rebooted, I was getting an error in dmesg saying "uvcvideo: Unknown parameter `deo'". Once I rebooted, everything worked fine.