NOTES ABOUT THIS REPOSITORY
I am not the author of this module, nor of the patches applied to the original basecode. I spend a lot of time today trying to get a 10 year old laptop to make it's webcam work on Debian. The only driver that work is this one.
Tested on this device :
174f:a821 Syntek Web Cam - Packard Bell BU45, PB Easynote MX66-208W
It should work for other Syntek based video inputs.
This code comes from this ArchLinux User Repository https://aur.archlinux.org/packages/stk11xx-svn/
You should be able to buid and install it with the following commands :
make -f Makefile.standalone
sudo mkdir /lib/modules/$(uname -r)/misc
sudo cp stk11xx.ko /lib/modules/$(uname -r)/misc/
sudo depmod
You can modprobe stk11xx to launch it, you should get a /dev/video0 device now. To change the whitebalance, brightness horizontal/vertical flips, refer to this page (French) https://doc.ubuntu-fr.org/syntek
Everything is under the GPL, so have fun. 😜
Note : The syntek USB 2.0 video camera driver for DC-1125 ans STK-1135 is currently being developed on Linux. This driver can do damages. Use this driver only if you know what you are doing.
Table of contents :
-
Requirements
-
Compilation 2.1 Documentation 2.2 Kernel module
-
Installation
-
Usage 4.1 Option "fps" module 4.2 Options "hflip" and "vflip" module 4.3 Options "contrast", "colour", "whiteness" and "brightness" 4.4 Use the "sysfs"
-
Status of project
-
Test experimental
-
Debug 7.1. 'lsusb' output 7.2. USB logs from Windows 7.3. USB logs from Linux 7.4. Enable module traces
-
Licence
- Requirements
Kernel 2.6.18 or higher Doxygen to compile the documentation
- Compilation
2.1 Documentation
To build documentation : $ make -f Makefile.standalone doc $ make -f Makefile.standalone cleandoc
2.2 Kernel module
To build the kernel module : $ make -f Makefile.standalone or $ make -f Makefile.standalone driver
$ make -f Makefile.standalone clean
- Installation
TODO...
- Usage
4.1 Option "fps" module
The syntek module waits the option "fps" (10, 15, 20, 25, 30) : $ modprobe stk11xx fps=30
By default, the fps is set to '25'.
4.2 Options "hflip" and "vflip" module
The syntek module waits the options "hflip" and "vflip" (values are 0 or 1): $ modprobe stk11xx hflip=0 vflip=1
By default, the hflip and vflip are set to '1'.
4.3 Options "contrast", "colour", "brightness" and "whiteness"
The syntek module waits the options "contrast", "colour", "brightness" and "whiteness" : $ modprobe stk11xx contrast=0x7F00 colour=0x7F00
By default, the value of these options is set to '0x7F00'.
4.4 Use the "sysfs"
In the directory : /sys/class/video4linux/videoX (by sample video0), you can read and write some parameters : $ cat hflip $ echo 0 > hflip
To display informations about driver : $ cat informations
- Status
The kernel module is currently being developped.
The driver supports several webcam models :
- 0x174F:0xA311 : Quiet good supported (developper's model)
- 0x174F:0xA821 : Supported (only the video stream)
- 0x174F:0x6A31 : Supported (only the video stream)
- 0x174F:0x6A33 : Supported (only the video stream)
- 0x174F:0x6A51 : Supported (only the video stream)
- 0x174F:0x6A54 : Supported (only the video stream)
- 0x174F:0x6D51 : Supported (only the video stream)
- 0x05E1:0x0500 :
- 0x05E1:0x0501 : Like '0x174F:0xA311' (it's the same model)
To increase the support, I need some help... Or somebody gives me the webcam !
- Test experimental
To build and load the driver, follow the steps :
$ make -f Makefile.standalone clean $ make -f Makefile.standalone $ modprobe videodev $ insmod stk11xx.ko
To test the driver with the V4L v1 API (map methode) :
$ camorama -D --width=640 --height=480
To test the driver with the V4L v1 API (read methode) :
$ camorama -D -R --width=640 --height=480
To test the driver with the V4L v2 :
$ xawtv
To use mplayer / mencoder :
$ mplayer tv:// -tv driver=v4l:width=640:height=480 $ mplayer tv:// -tv driver=v4l2:width=320:height=240:fps=25:outfmt=rgb24:device=/dev/video0 $ mplayer tv:// -tv driver=v4l2:width=320:height=240:fps=25:outfmt=yuy2:device=/dev/video0 $ mplayer tv:// -tv driver=v4l2:width=320:height=240:fps=25:outfmt=uyvy:device=/dev/video0 $ mplayer tv:// -tv driver=v4l2:width=720:height=576:outfmt=yuy2:device=/dev/video0:input=1
$ mencoder tv:// -tv driver=v4l:width=640:height=480:outfmt=rgb24:device=/dev/video0 -nosound -ovc lavc -o out.avi $ mencoder tv:// -tv driver=v4l2:width=320:height=240:fps=25:outfmt=rgb24:device=/dev/video0 -nosound -ovc lavc -o out.avi
- Debug
7.1. 'lsusb' output
[root@Dahlia driver]$ lsusb Bus 002 Device 002: ID 046d:c047 Logitech, Inc. Bus 002 Device 001: ID 0000:0000 Bus 005 Device 001: ID 0000:0000 Bus 004 Device 002: ID 0b05:1712 ASUSTek Computer, Inc. Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 001 Device 004: ID 174f:a311 <== Our Webcam Bus 001 Device 001: ID 0000:0000
[root@Dahlia driver]$ lsusb -d 174f:a311 -vvv > lsusb.txt
7.2. USB logs from Windows There is 3 USB logs useful :
- Log 1 : when you plug your webcam
- Log 2 : when you run VideoView.exe (with the default settings)
- Log 3 : when you run VideoView.exe, then change the resolution to 1280x1024
7.3. USB logs from Linux Use the kernel module usbmon (enable option debugfs in the kernel)
7.4. Enable module traces You can enable : CONFIG_STK11XX_DEBUG and CONFIG_STK11XX_DEBUG_STREAM
- Licence
The kernel module is distributed under the licence GPL.