I’ve got this card as I figured I could prod it into action
Started this morning, I usually work with FreeBSD so both pretty new to Ubuntu and haven’t worked with Zoneminder. Plan on having 2 maybe 3 cameras but due to the atom ill reduce the framerate on all and probably only have motion detection on 1 possibly 2 cameras, ill see how it does. The box isnt really used for much else (home automation stuff but nothing taxing).
After Linux encryption problems, device not recognised and not enough memory problems, I’ve got something on screen, but it’s interlaced with lines and there’s no colour.
If anyone can point me in the direction of what I need to do then great, otherwise ill keep at it

I’ve developed lots of C/C++ and PHP so not a problem if the code requires updating...
The hardware
- 1 U rack mount case
- Intel D945GSEJT Intel Atom N270 1.6GHz.
- 2GB DDR2
- 750GB Disk
- TE-AV4000E PCI card
- Swan C500 Color CCD as a test camera although this will change.
Installed ubuntu server 9.10:
Get updates and install them:
Code: Select all
sudo apt-get update
sudo apt-get upgrade
Install apps and libraries for zoneminder:
Code: Select all
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server
sudo apt-get install libjpeg62 libmime-perl libstdc++6 libwww-perl zlib1g
Set mysql password as:
Get and install zoneminder:
Code: Select all
sudo wget ftp://www.northern-ridge.com.au/zoneminder/1.24/ubuntu/jaunty/zoneminder_1.24.2-1_i386.deb
sudo dpkg -i zoneminder_1.24.2-1_i386.deb
Update dependancies:
Configure apache:
Code: Select all
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
sudo /etc/init.d/apache2 force-reload
Add user so apache can access video:
Change the permissions on video inputs:
Code: Select all
chmod 666 /dev/video0
chmod 666 /dev/video1
chmod 666 /dev/video2
chmod 666 /dev/video3
Create new file for kernel module and add config:
Code: Select all
vi options-conexant.conf
option cx88xx card=0,0,0,0
Kernel Memory:
Code: Select all
cat /proc/sys/kernel/shmall 2,097,152
cat /proc/sys/kernel/shmmax 33,554,432
Adjust by editing /etc/sysctl.conf -
Code: Select all
kernel.shmall = 524288000
kernel.shmmax = 524288000
So Far....
For reference info:
Probe video device:
V4L2
Code: Select all
sudo /usr/bin/zmu -V2 -q -v -d/dev/video0
"Error, failed to query crop capabilities /dev/video0: Invalid argument"
V4L1
Code: Select all
sudo /usr/bin/zmu -V1 -q -v -d/dev/video0
Summary -
Width 720
Height 480
Palette 24BIT RGB
Color Depth 24
Channel 0 Television
Channel 1 Composite NTSC
Channel 2 S-Video NTSC
Code: Select all
Output -
Video Device: /dev/video0
Video Capabilities
Name: Shenzhen Tungsten Ages Tech TE-
Type: 7
Can capture
Can tune
Does teletext
Video Channels: 3
Audio Channels: 0
Maximum Width: 720
Maximum Height: 480
Minimum Width: 48
Minimum Height: 32
Window Attributes
X Offset: 0
Y Offset: 0
Width: 320
Height: 240
Picture Attributes
Palette: 4 - 24bit RGB
Colour Depth: 24
Brightness: 32639
Hue: 32639
Colour :32639
Contrast: 16191
Whiteness: 0
Channel 0 Attributes
Name: Television
Channel: 0
Flags: 1
Channel has a tuner
Type: 1 - TV
Format: 1 - NTSC
Channel 1 Attributes
Name: Composite1
Channel: 1
Flags: 0
Type: 2 - Camera
Format: 1 - NTSC
Channel 2 Attributes
Name: S-Video
Channel: 2
Flags: 0
Type: 2 - Camera
Format: 1 - NTSC
Forced monitorprobe.php to use V4L v1, v2 doesnt work at all:
Code: Select all
Can't parse command output 'd:/dev/video0|N:Shenzhen Tungsten Ages Tech TE-|T:7|nC:3|nA:0|mxW:720|mxH:480|mnW:48|mnH:32|X:0|Y:0|W:320|H:240|P:4|D:24|B:32639|h:32639|Cl:32639|Cn:16191|w:0|n0:Television|C0:0|Fl0:1|T0:1|F0:1,|n1:Composite1|C1:1|Fl1:0|T1:2|F1:1,|n2:S-Video|C2:2|Fl2:0|T2:2|F2:1'
V4L Info:
Code: Select all
general info
VIDIOC_QUERYCAP
driver : "cx8800"
card : "Shenzhen Tungsten Ages Tech TE-"
bus_info : "PCI:0000:06:00.0"
version : 0.0.7
capabilities : 0x5010011 [VIDEO_CAPTURE,VBI_CAPTURE,TUNER,READWRITE,STREAMING]
standards
VIDIOC_ENUMSTD(0)
index : 0
id : 0x1000 [NTSC_M]
name : "NTSC-M"
frameperiod.numerator : 1001
frameperiod.denominator : 30000
framelines : 525
VIDIOC_ENUMSTD(1)
index : 1
id : 0x2000 [NTSC_M_JP]
name : "NTSC-M-JP"
frameperiod.numerator : 1001
frameperiod.denominator : 30000
framelines : 525
VIDIOC_ENUMSTD(2)
index : 2
id : 0x4000 [?]
name : "NTSC-443"
frameperiod.numerator : 1001
frameperiod.denominator : 30000
framelines : 525
VIDIOC_ENUMSTD(3)
index : 3
id : 0x7 [PAL_B,PAL_B1,PAL_G]
name : "PAL-BG"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(4)
index : 4
id : 0x10 [PAL_I]
name : "PAL-I"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(5)
index : 5
id : 0xe0 [PAL_D,PAL_D1,PAL_K]
name : "PAL-DK"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(6)
index : 6
id : 0x100 [PAL_M]
name : "PAL-M"
frameperiod.numerator : 1001
frameperiod.denominator : 30000
framelines : 525
VIDIOC_ENUMSTD(7)
index : 7
id : 0x200 [PAL_N]
name : "PAL-N"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(8)
index : 8
id : 0x400 [PAL_Nc]
name : "PAL-Nc"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(9)
index : 9
id : 0x800 [PAL_60]
name : "PAL-60"
frameperiod.numerator : 1001
frameperiod.denominator : 30000
framelines : 525
VIDIOC_ENUMSTD(10)
index : 10
id : 0x10000 [SECAM_B]
name : "SECAM-B"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(11)
index : 11
id : 0x40000 [SECAM_G]
name : "SECAM-G"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(12)
index : 12
id : 0x80000 [SECAM_H]
name : "SECAM-H"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(13)
index : 13
id : 0x320000 [SECAM_D,SECAM_K,SECAM_K1]
name : "SECAM-DK"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
VIDIOC_ENUMSTD(14)
index : 14
id : 0x400000 [SECAM_L]
name : "SECAM-L"
frameperiod.numerator : 1
frameperiod.denominator : 25
framelines : 625
inputs
VIDIOC_ENUMINPUT(0)
index : 0
name : "Television"
type : TUNER
audioset : 0
tuner : 0
std : 0x7f7ff7 [PAL_B,PAL_B1,PAL_G,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L]
status : 0x0 []
VIDIOC_ENUMINPUT(1)
index : 1
name : "Composite1"
type : CAMERA
audioset : 0
tuner : 0
std : 0x7f7ff7 [PAL_B,PAL_B1,PAL_G,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L]
status : 0x0 []
VIDIOC_ENUMINPUT(2)
index : 2
name : "S-Video"
type : CAMERA
audioset : 0
tuner : 0
std : 0x7f7ff7 [PAL_B,PAL_B1,PAL_G,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L]
status : 0x0 []
tuners
VIDIOC_G_TUNER(0)
index : 0
name : "Television"
type : ANALOG_TV
capability : 0x70 [STEREO,LANG2,LANG1]
rangelow : 0
rangehigh : 4294967295
rxsubchans : 0x1 [MONO]
audmode : MONO
signal : 65535
afc : 0
video capture
VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index : 0
type : VIDEO_CAPTURE
flags : 0
description : "8 bpp, gray"
pixelformat : 0x59455247 [GREY]
VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
index : 1
type : VIDEO_CAPTURE
flags : 0
description : "15 bpp RGB, le"
pixelformat : 0x4f424752 [RGBO]
VIDIOC_ENUM_FMT(2,VIDEO_CAPTURE)
index : 2
type : VIDEO_CAPTURE
flags : 0
description : "15 bpp RGB, be"
pixelformat : 0x51424752 [RGBQ]
VIDIOC_ENUM_FMT(3,VIDEO_CAPTURE)
index : 3
type : VIDEO_CAPTURE
flags : 0
description : "16 bpp RGB, le"
pixelformat : 0x50424752 [RGBP]
VIDIOC_ENUM_FMT(4,VIDEO_CAPTURE)
index : 4
type : VIDEO_CAPTURE
flags : 0
description : "16 bpp RGB, be"
pixelformat : 0x52424752 [RGBR]
VIDIOC_ENUM_FMT(5,VIDEO_CAPTURE)
index : 5
type : VIDEO_CAPTURE
flags : 0
description : "24 bpp RGB, le"
pixelformat : 0x33524742 [BGR3]
VIDIOC_ENUM_FMT(6,VIDEO_CAPTURE)
index : 6
type : VIDEO_CAPTURE
flags : 0
description : "32 bpp RGB, le"
pixelformat : 0x34524742 [BGR4]
VIDIOC_ENUM_FMT(7,VIDEO_CAPTURE)
index : 7
type : VIDEO_CAPTURE
flags : 0
description : "32 bpp RGB, be"
pixelformat : 0x34424752 [RGB4]
VIDIOC_ENUM_FMT(8,VIDEO_CAPTURE)
index : 8
type : VIDEO_CAPTURE
flags : 0
description : "4:2:2, packed, YUYV"
pixelformat : 0x56595559 [YUYV]
VIDIOC_ENUM_FMT(9,VIDEO_CAPTURE)
index : 9
type : VIDEO_CAPTURE
flags : 0
description : "4:2:2, packed, UYVY"
pixelformat : 0x59565955 [UYVY]
VIDIOC_G_FMT(VIDEO_CAPTURE)
type : VIDEO_CAPTURE
fmt.pix.width : 320
fmt.pix.height : 240
fmt.pix.pixelformat : 0x33524742 [BGR3]
fmt.pix.field : INTERLACED
fmt.pix.bytesperline : 960
fmt.pix.sizeimage : 230400
fmt.pix.colorspace : unknown
fmt.pix.priv : 0
vbi capture
VIDIOC_G_FMT(VBI_CAPTURE)
type : VBI_CAPTURE
fmt.vbi.sampling_rate : 28636363
fmt.vbi.offset : 244
fmt.vbi.samples_per_line: 2048
fmt.vbi.sample_format : 0x59455247 [GREY]
fmt.vbi.start[0] : 10
fmt.vbi.start[1] : 273
fmt.vbi.count[0] : 17
fmt.vbi.count[1] : 17
fmt.vbi.flags : 0
controls
VIDIOC_QUERYCTRL(BASE+0)
id : 9963776
type : INTEGER
name : "Brightness"
minimum : 0
maximum : 255
step : 1
default_value : 127
flags : 0
VIDIOC_QUERYCTRL(BASE+1)
id : 9963777
type : INTEGER
name : "Contrast"
minimum : 0
maximum : 255
step : 1
default_value : 63
flags : 0
VIDIOC_QUERYCTRL(BASE+2)
id : 9963778
type : INTEGER
name : "Saturation"
minimum : 0
maximum : 255
step : 1
default_value : 127
flags : 0
VIDIOC_QUERYCTRL(BASE+3)
id : 9963779
type : INTEGER
name : "Hue"
minimum : 0
maximum : 255
step : 1
default_value : 127
flags : 0
### video4linux device info [/dev/video0] ###
general info
VIDIOCGCAP
name : "Shenzhen Tungsten Ages Tech TE-"
type : 0x7 [CAPTURE,TUNER,TELETEXT]
channels : 3
audios : 0
maxwidth : 720
maxheight : 480
minwidth : 48
minheight : 32
channels
VIDIOCGCHAN(0)
channel : 0
name : "Television"
tuners : 1
flags : 0x1 [TUNER]
type : TV
norm : 1
VIDIOCGCHAN(1)
channel : 1
name : "Composite1"
tuners : 0
flags : 0x0 []
type : CAMERA
norm : 1
VIDIOCGCHAN(2)
channel : 2
name : "S-Video"
tuners : 0
flags : 0x0 []
type : CAMERA
norm : 1
tuner
VIDIOCGTUNER
tuner : 0
name : "Television"
rangelow : 0
rangehigh : 4294967295
flags : 0x7 [PAL,NTSC,SECAM]
mode : NTSC
signal : 65535
audio
picture
VIDIOCGPICT
brightness : 32639
hue : 32639
colour : 32639
contrast : 16191
whiteness : 0
depth : 24
palette : RGB24
buffer
window
VIDIOCGWIN
x : 0
y : 0
width : 320
height : 240
chromakey : 0
flags : 0