blog vipa
mój dzień to 3 filiżanki kawy

blog vipa

Syntek Webcam & Linux (05e1:0501)

Luty 2nd, 2007 . by vip

With help of my friend, yoB, I’ve got working ASUS F2J webcam (Syntek STK-1135 probably).

Me


You’d only want to checkout the syntekdriver.sf.net SVN with:

svn co https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver syntekdriver

go to the trunk/driver and apply patch.

After kernel module compilation and modprobing videodev & stk11xx You shoud get a new entry at /dev/video0.
Now you’ve only to run your favourite cam app to see yourself :-)


UPDATE
There is NO NEED to apply the patch, because it is already in Syntek SVN.

UPDATE; 08 feb 2007
To get rid of the blue, apply „Color correction” filter in camorama or set a „RGB->BGR Conversion” in gqcam’s preferences.

14 komentarzy to “Syntek Webcam & Linux (05e1:0501)”

  1. mahashakti89 Says:

    Hi !
    How do you apply the patch ? It applies on two different files or ??
    Could you detail the method ?

    Thanks

    mahashakti89

  2. vip Says:

    It is simple, after svn checkout do:

    cd syntekdriver/trunk/driver
    patch << /tmp/syntek.patch

    It should patch two files, the output looks like:
    patching file stk11xx.h
    patching file stk11xx-usb.c

  3. Anders Says:

    It didn’t work for me. I get this when trying to patch:
    patching file stk11xx.h
    Hunk #1 succeeded at 57 with fuzz 2 (offset 11 lines).
    patching file stk11xx-usb.c
    Hunk #1 FAILED at 59.
    Hunk #2 FAILED at 593.
    2 out of 2 hunks FAILED — saving rejects to file stk11xx-usb.c.rej

  4. vip Says:

    As You can see, the patch is now in SVN, so there is no need to patch the SVN again. The patch is outdated.

  5. hamacker Says:

    Hi, I receive a lot of errors, can you explain whats missing ?
    (…)
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:696:
    error: ‚struct usb_endpoint_descriptor’ has no member named
    ‚wMaxPacketSize’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:698:
    error: ‚struct usb_stk11xx’ has no member named ‚isoc_in_size’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:699:
    error: ‚struct usb_stk11xx’ has no member named ‚isoc_in_endpointAddr’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:699:
    error: ‚struct usb_endpoint_descriptor’ has no member named
    ‚bEndpointAddress’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:703:
    error: ‚struct usb_stk11xx’ has no member named ‚int_in_endpointAddr’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:703:
    error: ‚struct usb_stk11xx’ has no member named ‚isoc_in_endpointAddr’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:705:
    error: ‚struct usb_stk11xx’ has no member named ‚kref’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:721:
    error: ‚struct usb_stk11xx’ has no member named ‚kref’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:733:
    error: ‚struct usb_stk11xx’ has no member named ‚kref’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c: In
    function ‚usb_stk11xx_disconnect’:
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:766:
    error: ‚struct usb_stk11xx’ has no member named ‚kref’
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c: In
    function ‚usb_stk11xx_init’:
    /home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.c:807:
    error: ‚EINVAL’ undeclared (first use in this function)
    make[2]: *** [/home/fulano/syntek/syntekdriver/trunk/driver/stk11xx-usb.o]
    Error 1
    make[1]: *** [_module_/home/fulano/syntek/syntekdriver/trunk/driver] Error 2
    make[1]: Leaving directory `/usr/src/linux-source-2.6.20′

  6. vip Says:

    Maybe its lack of some devel files related to usb libs

  7. hamacker Says:

    None.
    I need to go /usr/src/linux and
    sudo make oldconfig
    sudo make prepare

    remove dash (sh->dash) in my system, but now :

    $make
    make -C /usr/src/linux SUBDIRS=/home/fulano/syntek/syntekdriver/trunk/driver modules
    make[1]: Entering directory `/usr/src/linux-source-2.6.20′

    WARNING: Symbol version dump /usr/src/linux-source-2.6.20/Module.symvers
    is missing; modules will have no dependencies and modversions.

    Building modules, stage 2.
    MODPOST 1 modules
    /bin/sh: scripts/mod/modpost: No such file or directory
    make[2]: *** [__modpost] Error 127
    make[1]: *** [modules] Error 2
    make[1]: Leaving directory `/usr/src/linux-source-2.6.20′
    make: *** [driver] Error 2

    Any idea ?

  8. vip Says:

    I don’t use building within original kernel sources; I’d prefer local build with Build module script for kernels 2.6 by Przemyslaw Iskra (http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/rpm.macros).
    The commands executed by the script can be like:
    http://coffee3.org/wp-content/uploads/2007/03/stk11xx.sh
    The original kernel source tree must be clean.

  9. hamacker Says:

    Hei, my system is Ubuntu and I prepare kernel :
    cd /usr/src/linux
    sudo make oldconfig
    sudo make prepare

    sudo make-kpkg clean

    sudo fakeroot make-kpkg – -initrd – -append-to-version=-custom kernel_image kernel_headers (only to build binary in /usr/src/linux/scripts/mod)

    But ‚make install’ fail and exists warning some messages in compilation process :

    fulano@fulano-notebook:~/syntekdriver/trunk/driver$ make driver
    make -C /usr/src/linux SUBDIRS=/home/fulano/syntekdriver/trunk/driver modules
    make[1]: Entering directory `/usr/src/linux-source-2.6.20′
    Building modules, stage 2.
    MODPOST 1 modules
    WARNING: vmlinux – Section mismatch: reference to .init.data:boot_params from .text between ‚_text’ (at offset 0xc0100036) and ‚startup_32_smp’
    WARNING: vmlinux – Section mismatch: reference to .init.data:boot_params from .text between ‚_text’ (at offset 0xc0100044) and ‚startup_32_smp’
    WARNING: vmlinux – Section mismatch: reference to .init.data:init_pg_tables_end from .text between ‚_text’ (at offset 0xc01000a6) and ‚startup_32_smp’
    WARNING: vmlinux – Section mismatch: reference to .init.text:start_kernel from .text between ‚is386’ (at offset 0xc0100221) and ‚check_x87’
    WARNING: vmlinux – Section mismatch: reference to .init.text:smp_prepare_cpus from .text between ‚init’ (at offset 0xc0100437) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:migration_init from .text between ‚init’ (at offset 0xc010043c) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:spawn_ksoftirqd from .text between ‚init’ (at offset 0xc0100441) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:spawn_softlockup_task from .text between ‚init’ (at offset 0xc0100446) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:smp_cpus_done from .text between ‚init’ (at offset 0xc01004c2) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:sched_init_smp from .text between ‚init’ (at offset 0xc01004c7) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:cpuset_init_smp from .text between ‚init’ (at offset 0xc01004cc) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:usermodehelper_init from .text between ‚init’ (at offset 0xc01004d6) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:driver_init from .text between ‚init’ (at offset 0xc01004db) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:sysctl_init from .text between ‚init’ (at offset 0xc01004e1) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.data: from .text between ‚init’ (at offset 0xc0100503) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.data: from .text between ‚init’ (at offset 0xc010051c) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:prepare_namespace from .text between ‚init’ (at offset 0xc01006ff) and ‚rest_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:__alloc_bootmem from .text between ‚init_gdt’ (at offset 0xc010a07b) and ‚cpu_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:__alloc_bootmem from .text between ‚init_gdt’ (at offset 0xc010a091) and ‚cpu_init’
    WARNING: vmlinux – Section mismatch: reference to .init.text:sysenter_setup from .text between ‚identify_cpu’ (at offset 0xc010a6eb) and ‚display_cacheinfo’
    WARNING: vmlinux – Section mismatch: reference to .init.text:mtrr_bp_init from .text between ‚identify_cpu’ (at offset 0xc010a6f5) and ‚display_cacheinfo’
    WARNING: vmlinux – Section mismatch: reference to .init.text:trap_init_f00f_bug from .text between ‚init_intel’ (at offset 0xc010c746) and ‚cpuid4_cache_lookup’
    WARNING: vmlinux – Section mismatch: reference to .init.data:initkmem_list3 from .text between ‚set_up_list3s’ (at offset 0xc0171abf) and ‚s_start’
    WARNING: vmlinux – Section mismatch: reference to .init.text:eisa_root_register from .text between ‚pci_eisa_init’ (at offset 0xc026c90b) and ‚virtual_eisa_release’
    WARNING: vmlinux – Section mismatch: reference to .init.text:eisa_root_register from .text between ‚virtual_eisa_root_init’ (at offset 0xc026c96f) and ‚cpufreq_unregister_driver’
    WARNING: vmlinux – Section mismatch: reference to .init.text: from .text between ‚iret_exc’ (at offset 0xc02f0170) and ‚_etext’
    WARNING: vmlinux – Section mismatch: reference to .init.text:start_kernel from .paravirtprobe between ‚__start_paravirtprobe’ (at offset 0xc03be490) and ‚__stop_paravirtprobe’

    Any sugestion ?

  10. jack Says:

    Under Fedora Core 6 when I try to compile I have this message:

    make -C /usr/src/linux SUBDIRS= modules
    make: *** /usr/src/linux: Aucun fichier ou répertoire de ce type. Arrêt.
    make: *** [driver] Erreur 2

    Do you what is the problem?

    Thank you very much

  11. vip Says:

    hamacker: your system is probably lacking of kernel-headers package
    BTW: when pasting errors, type LANG=C before the `make` command, it will give english messages/errors

  12. Louis Says:

    Hi,
    I have a problem after compiling the kernel module :

    I have make svn co https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver syntekdriver,

    then i went with terminal in the driver folder, and maked : (…)/driver$ sudo make, the driver compiled.

    Then, /driver$ sudo make install, and i get „make: *** Pas de règle pour fabriquer la cible « install ». Arrêt.” in english, „no rules to build the target „install”. Stopped.”

    Jeżeli miałeż jakis swiatłó na ten problem aby pomagać jeden francuz który mieszka w Polsce, to byłoby fajnie..

    Dzięki

  13. vip Says:

    Hello Louis,
    I don’t know how Makefile looks, but You can just find the „stk11xx.ko” file, and put it (as root) to the /lib/modules/`uname -r`/video directory (it can be ‚misc’ or sth else instead of video).
    Then, do „depmod -a” as root, and run: „modprobe stk11xx”.

    Souhaite bon courage!

  14. Notebook Asus F3JP + SUSE Linux 10.2 | hilpers Says:

    […] 005 Device 004: ID 05e1:0501 Syntek Semiconductor Co., Ltd Das mte sie sein. Google findet damit http://coffee3.org/2007/02/02/syntek…inux-05e10501/ Wenn man den Treiber selbst kompiliert, ist die Kamera also zur Mitarneit zu bewegen. Gru […]

Leave a Reply