Comment 37 for bug 757040

Revision history for this message
In , Xavier (xavier-redhat-bugs) wrote :

Here is a long post, which I wish I found here yesterday :)

*Workaround*

  For my specific system and kernel versions, cf. my previous comment, just above.

  There is a syntek kernel module out there (on sourceforge), which now works for me
  (just like it had worked on the same hardware, with Ubuntu, a couple of years ago).
  Googling, one can find many users who have based their solution on this code.

  Below were my steps (exhaustive list, rather simple). It will be required to repeat them,
    after each kernel update, or until the current svn code gets packaged with the kernel ?
    The sooner, the better (for me, anyway ^^)

  For reference :

    http://www.stk.com.tw/product-01.asp?Product_Type=32
      The constructor does proudly "announce" Linux kernel support for the product family,
      but in facts, stable kernels would include support only for one of their models
      (as supported by the open source project when it got inserted, I guess)

    http://syntekdriver.sourceforge.net/
      the latest *release* (2.1.0) did not compile on my system.
      the latest *svn* trunck (rev 99), *did* compile and work correctly.

    http://doc.ubuntu-fr.org/syntek
      the Ubuntu folks refer to some 3rd party Makefile which may not be recommended here
      (and this tutorial may be outdated already)

  Please note :
   $ = command I did run as normal user
   # = command I did run as root

  1) Get the latest syntek driver code from svn repository on sourceforge
     $ mkdir syntek-svn
     $ cd syntek-svn
     $ svn co https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver/trunk/driver

     This checked out rev 99 of the trunk, creating a new "driver" subfolder.
     Accepted permanently sourceforge SVN's current fingerprint
       94:74:b3:a9:54:ce:dc:e5:0d:d6:cf:86:b1:40:5a:48:b9:ea:15:de
     which can be verified here using any modern browser (look at the certificate)
       https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver/

  2) As stated in the README file, compiling does require
     - kernel development resources (package "kernel-devel" & co. were already installed here)
       http://fedoraproject.org/wiki/Docs/CustomKernel#Building_Only_Kernel_Modules_.28Out_Of_Tree_Modules.29
     - Doxygen, to compile the documentation (optional)
     # yum install doxygen

  3) Compile the kernel module
     $ cd driver
     $ make -f Makefile.standalone driver

  4) If ctags were not available on the system (package "ctags"),
       then the following error came up, which should be safe to ignore (didn't try)
     make: ctags: Command not found
     make: *** [driver] Error 127

     Retrying with ctags installed, did compile without any error
     $ make -f Makefile.standalone clean
     # yum install ctags
     $ make -f Makefile.standalone driver

  5) Compile the documentation (optional)
    - despite a large number of warnings, a "doxygen" subfolder appeared in "syntek-svn"
    - starting point is "syntek-svn/doxygen/html/index.html"... which looks a little outdated :)
     $ make -f Makefile.standalone doc

  6) Install the new kernel module on the system

     Place it in a new "extra" subfolder, ensuring it won't get mixed up with official modules
     # mkdir /lib/modules/`uname -r`/kernel/drivers/extra
     # cp stk11xx.ko /lib/modules/`uname -r`/kernel/drivers/extra

     Load it
     # depmod -a
     # modprobe stk11xx

     This webcam has a small activity led : it did just blink during modprobe
     Now check system messages (quoting only the relevant part here)

     # dmesg
     [ 6695.284811] Linux video capture interface: v2.00
     [ 6695.294104] stk11xx: Syntek USB2.0 webcam driver startup
     [ 6695.294107] stk11xx: Copyright(c) 2006-2009 Nicolas VIVIEN
     [ 6695.294135] stk11xx: Syntek USB2.0 - STK-1135 based webcam found.
     [ 6695.294137] stk11xx: Syntek AVStream USB2.0 1.3M WebCam - Product ID 0x6A31.
     [ 6695.294140] stk11xx: Release: 0005
     [ 6695.294142] stk11xx: Number of interfaces : 1
     [ 6695.294759] stk11xx: Initialize USB2.0 Syntek Camera
     [ 6695.402091] stk11xx: Check device return error (0x0201 = 0C) !
     [ 6695.477962] stk11xx: Syntek USB2.0 Camera is ready
     [ 6695.479181] stk11xx: Syntek USB2.0 Camera is now controlling video device /dev/video0
     [ 6695.479264] usbcore: registered new interface driver usb_stk11xx_driver
     [ 6695.479270] stk11xx: v2.2.0 : Syntek USB Video Camera

  7) Test it

     Start Kopete, menu Settings/Configure: takes a few seconds to open, light's on..
       Go to the Video tab and smile to yourself, it's a start :)

     vlc captures the video stream fine, using device "/dev/video0" here.
     Google Talk plugin just works, so does Skype videoconference.
       On my system however, neither of Skype's "test box", nor its local video, are drawn.
       This is most probably off-topic, related to a issue I have with the "nouveau" driver.

     Test after reboot: the led blinks twice before the login screen, all still works.

     Save the generated documentation and keep the whole "syntek-svn" folder for future use.
     Repeat all steps (update svn, next time) after each kernel update if still required.