Asus Syntek Webcam Installation on Linux (Fedora 8, Asus F3S, F3SA)

I created this document based on this Ubuntu page: http://doc.ubuntu-fr.org/syntek. It got me the camera working on Fedora 8. This version is under the same licenses.


Syntek chipset based webcams on Linux.

Table of Contents:

The following is information about webcams based on Syntek chipsets. Not to be confused with the trade union group Syntek.

There is a driver under development hosted on Sourceforge: http://syntekdriver.sf.net/. It produces a module that works perfectly with Ekiga. It requires kernel 2.6.20 or newer. Ubuntu Feisty Fawn and Fedora 8 both have new enough kernels. If you still have Windows installed and the camera works under it, the developers could use your assistance, they need USB dumps from the camera while its running. If your camera isn't working and it is a Syntek providing logs from Windows may be the only way for you to get a driver. For more information please go to the Syntek Linux Driver Page.

Compatibility

Many Asus and Packard Bell notebooks incorporate this type of webcam. To find out if you have one, run lsusband look for a device ID starting with 05e1 or 174f. It's a good idea to check your manuals as well because the driver can damage unsupported devices:

# update-usbids
$ lsusb
Bus 005 Device 001:ID 0000:0000
Bus 001 Device 002: ID 174f:6a33
....

Verify that the ID (Vendor:Product) is one of the following (first column):

USB ID

Models

Description/Specifications

Compatible

05e1:0501

Asus F2F, F2J, F3J, F3T, G1, Z53JA

Chipset DC-1125 similar to 174f:a311

Yes

174f:a311

Asus F2F, F2J, F3J, F3T, G1, Z53JA

Chipset STK-1125, 1.3MPixels, USB 2

Yes

174f:a312

Yes

174f:a821

Packard Bell BU45

Chipset STK-1135

Yes

174f:a312

Yes

174f:aa11

No

174f:6a31

Asus A8J,F3S, F5R

Yes

174f:6a33

Asus F3SA, F9J, F9S

Similar to 174f:6a31

Yes

174f:6a51

Asus Z96J, Z96S, S96S

2.0MPixels,USB 2

Yes

174f:6a54

Yes

Pre-requisites

Installation

1. Download this special makefile. If you don't have kernel-sources it will let you build it with only the kernel-headers installed. It also has an install target that the driver makefile is missing. Copy this makefile into the driver directory of the syntek module source.

$ wget http://bookeldor-net.info/merdier/Makefile-syntekdriver

or this alternate copy:http://www.katicomp.co.nz/files/binary/Makefile-syntekdriver

2. Download the sources. Either the package or SVN version. Try the packaged one first and if it doesn't work, try the SVN one.

2a. Download the driver package st11xx-#.#.#.tar.gz then run:

$ tar xfz st11xx-0.9.1.tar.gz
$ cd stk11xx-0.9.1
$ make -f Makefile.standalone (or use the special makefile)

2b. Download the latest driver source using subversion:

$ mkdir syntek

$ cd syntek

$  svn co https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver/trunk/driver
A    driver/stk11xx-dev.c
A    driver/stk11xx.txt
A    driver/Makefile.standalone
A    driver/stk11xx-bayer.c
A    driver/stk11xx-v4l.c
A    driver/stk11xx-sysfs.c
A    driver/stk11xx.h
A    driver/Kbuild
A    driver/doxygen.cfg
A    driver/stk11xx-usb.c
A    driver/Makefile
A    driver/README
A    driver/stk11xx-buf.c

$ cd driver
$ make -f Makefile.standalone (or use the special makefile)
  1. Install the driver

    # make -f Makefile-syntekdriver install

  2. Load the driver and check if it works

# modprobe stk11xx

$ dmesg |tail
stk11xx: Syntek USB2.0 webcam driver startup
stk11xx: Syntek USB2.0 - STK-1135 based webcam found.
stk11xx: Syntek AVStream USB2.0 1.3M WebCam - Product ID 0x6A33.
stk11xx: Release: 0005
stk11xx: Number of interfaces : 1
stk11xx: Initialize USB2.0 Syntek Camera

$ sudo lsusb -v|grep -A 8 Syntek
Bus 005 Device 002: ID 05e1:0501 Syntek Semiconductor Co., Ltd
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               2.00
bDeviceClass            0 (Defined at Interface level)
bDeviceSubClass         0
bDeviceProtocol         0
bMaxPacketSize0        64
idVendor           0x05e1 Syntek Semiconductor Co., Ltd
idProduct          0x0501
bcdDevice            0.05
iManufacturer           1 Syntek Semiconductor
iProduct                2 USB 2.0 Image Capture Controller
iSerial                 0
bNumConfigurations      1
Configuration Descriptor:
bLength                 9
bDescriptorType         2
wTotalLength          147
bNumInterfaces          1

My camera doesn't show the syntek name but it does work in Ekiga and Camorama
Bus 001 Device 002: ID 174f:6a33
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               2.00
bDeviceClass            0 (Defined at Interface level)
bDeviceSubClass         0
bDeviceProtocol         0
bMaxPacketSize0        64
idVendor           0x174f
idProduct          0x6a33
bcdDevice            0.05
iManufacturer           1
iProduct                2
iSerial                10
bNumConfigurations      1

Usage

Ekiga and Camorama work well.

Common Camorama options:

-x width -y height , --disable-sound, -D is for debugging and may help if you are having problems.

xawtv worked with no arguments.

mplayer worked for me like this:

mplayer tv:// -tv \ driver=v4l2:width=640:height=480:fps=25:outfmt=rgb24:device=/dev/video0

mencoder saves video alright,

mencoder tv:// -tv driver=v4l:width=640:height=480:outfmt=rgb24:device=/dev/video0 -nosound -ovc lavc -o out.avi



ekiga works without any options.

vlc runs well:

vlc v4l:/dev/video0 --noaudio

Module Configuration

You can change some aspects of the configuration on the fly, many of the programs have brightness, contrast and colour options. These can be put in /etc/modprobe.d/ for automatic adjustment at load time, or you can manipulate them on the fly with the files in /sys/class/video4linux/video#

You can horizontal and vertical flip the camera by echoing 1 or 0 to the files vflip and hflip.

You can adjust colour, brightness , contrast , whitebalance and fps through their respective files as well. For the fps use 10, 15, 20, 25, 30 - the default is 25. For all the others they are hexadecimal values between 0x0000 - 0xFFFF , the default for all is 0x7F00.

There is a file in that folder called informations which will show you the current settings:

[root@lwhf3 video0]# cat informations
Asked resolution  : 320x240
Driver resolution : 320x240
Webcam resolution : 640x480

BGR24 - BGR-8-8-8 - 24 bits

Brightness        : 0x9000
Contrast          : 0x8000
Whiteness         : 0x7F00
Colour            : 0x8000