I'm trying to make a driver for the AVMaster that runs with the Linux kernel. Fast Multimedia (that became Dazzle and now it is Pinnacle) had never want to give any documentation about this video acquisition board. Michel
Stickel (I'd like to thank him for the support that he gave me) wrote
in 2000 an alpha driver for AVMaster, but it was limited to "play" with
I2C bus, and therefore with only video decoder/encoder. Since 2000 the driver had no more evolution. So
I took the unified driver for the Zoran PCI chipset 36057 and I did a
fork for the AVMaster. This choise was based on two aspects:
The driver includes some modules that I can reuse (videocodec, saa7110, saa7185/87, zr36016/15, zr36050)
The driver has support for both V4L and V4L2.
I substitute (some) parts of the original PCI chipset zr36057 with
the specific ones of the saa7145 (AVMaster PCI Bridge).
In 2008 I received from a friend of mine some hints about all chipsets used: now the driver could be completely build!
2. What was done, what is to do
As today (Oct 28th, 2008) the only "quite bit" working part is the
video overlay. The "quite bit" is mandatory because if you want to see
something you have to start Windows (download the driver for Windows 95b/98: AVMaster_driver_Win98.zip) and then reset the PC (without
shutdown) and restart GNU/Linux.
This because (I think) at boot time the video bus from FPGA is enabled,
and this creates a conflict with the input video chipset SAA7110.
I did not test the video output (SAA7187), but I think it works.
The big and hard part is the JPEG encoding/decoding and the audio management (see documentation for more details). At the moment you can use the AVMaster only like a TV...
3. Test hardware
My testing system is:
Processor: PIII Celeron 900Mhz
Motherboard: Siemens D1107 (chipset Intel 440BX)
Video card: Matrox MGA G200 AGP
Other PCI/ISA cards: Network Realtek 8139, Audio SBLive, Audio SB64Gold
I don't think that other information about the testing system are necessary (but if you want to know something else, you can contact me).
4. Operating system and software
The operating system is GNU/Linux x86, Slackware 12.1 distribution. The driver was tested with the Linux
kernel 2.6.24 (V4L2); it should be also compatible with kernel 2.4 series, but actually I do not test it anymore.
The software for overlay test is xawtv. In order to get it working, I had to remove the line Option "omit xfree86-dga" from /etc/X11/XF86Config (but I think this is a specific of Slackware).
Unfortunately lavvideo from mjpeg-tools
does not work: it seems that it cannot recover the necessary information from X, so the AVMaster driver cannot do the overlay.
The
tested video resolution are: RGB15, RGB16, RGB32. I could not test
RGB24 and YUV422, the first because my video card does not support it,
the latter because I doesn't have the software for YUV422 overlay
(better, xawtv -xv does not used YUV422; maybe I'm wrong somewhere...).
5. Installation
You must have the
kernel sources installed and you have to configure your kernel at least
with the following options (you can see them by typing "make
menuconfig" or "make xconfig" from
/usr/src/linux-<kernel_version>):
For kernel 2.4.x:
General setup ---> [*] PCI support
Character devices ---> I2C support ---> <M> I2C support
Multimedia devices ---> <M> Video For Linux
For kernel 2.6.x:
Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> [*] PCI support
Devices drivers ---> I2C support --> <M> I2C support
Multimedia devices ---> <M> Video For Linux
These options are usually enabled by default in the most common distributions.
Then you have to unpack the tar file and compile it:
# tar xzvf avmaster-0.0.3.tar.gz # cd avmaster-0.0.3 # make
Then you have to switch to root user and install the modules:
# su Password: # make install
If you have PCI hotplug enabled and you distribution have the correct scripts (Slackware has them), the module avmaster and the related ones (saa7110, saa7187, zr36015, zr36050, videodev, videocodec, i2c-core) are loaded automatically.
If you want to install them manually without rebooting, simply type (from root):
# modprobe avmaster
Then you can start (from normal user) one TV application (I use xawtv)
and you can see the video overlay (after rebooting from Windows).
6. Bugs
I think that the driver has many bugs!! But from my tests I found
only one bug that I was not able to fix: if you quickly switch from
full-screen to window mode,
the whole operating system hangs. Normally the overlay is still
working, but I don't think you want to use the PC only for TV.... Before do any test, type the sync
command; in this way you don't lost any data (I lost 2 source file of
the driver...). If it is possible, use a journaled file system, so, in
the case you forgot to do sync, at least the file system keeps its integrity. With tune2fs you can upgrade in a simple way from ext2 (not journaled) to ext3 (journaled).
7. Working in progress..
Actually I am doing the coding of FPGA and DSP part. You have to be patience...
8. Download
Here you can find the source code: avmaster-0.0.3.tar.gz.
There aren't binary packages, I cannot make them for all distributions
and kernel versions.
But if you want to prepare them, send to me so I can insert them into
this section. I prefer you send me the binary related at the standard
kernel for a distribution.
9. Licence
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licence for more details.
10. Documentation
I analysed the AVMaster card and I tried to do a diagram with
physical connections. It is only indicative, it could be wrong. The
result is the following one (download in sxd format):
I hope this could help to develop the missing parts (all the right part, FPGA and DSP included). Following you can find the datasheets (pdf format):
I am Luca Bonissi, a computer programmer, a lover of GNU/Linux (and the free software in general) and of audio/video tools.
For anything about AVMaster and GNU/Linux, feel free to call me
12. Acknowledgments
I'd like to give
many many thanks to Michael Stickel. Without him the development of
this driver could not be started. He gave me the datasheet of the main
chipset SAA7145 and, aboveall, he gave me the "hope" to make working the
AVMaster under GNU/Linux. Very many thanks also to M. that provide me informations about the chipsets management. My thanks are also for the unified zoran driver team, the mjpeg-tools team, Alessandro Rubini
for his Linux Device Driver book and to the ones who had written some free software that I used.