This is README for fmio -- fm radio card manipulation utility.

	Attention

Since I have no access to other OSes and have an aztech radio card, I would
like to have some feedback. Please, let me know whether it works or not.

	Download

fmio home page:
  http://jumbo.narod.ru/fmio.html

Latest release can be found at:
  http://jumbo.narod.ru/src/fmio/

	Configuration

Compilation is done in src/ directory.

Before compiling you should check default driver in config.h and possibly
change it. For available drivers see "Supported Hardware" below.

For other compilation options see config.h and Makefile.

If you encounter some inconsistencies with PCI autoconfiguration, please
let me know.

To compile wmfmio you need libXpm to be installed. Either install
appropriate devel package (eg xpm4g-dev for Debian) or compile xpm from source.
Xpm home page:

http://www.inria.fr/koala/lehors/xpm.html

For wmfmio configuration see xsrc/sample.wmfmiorc.

	Installation

It is recommended to use the package files to build fmio.

RPM will build three packages - fmio, wmfmio and fmio-devel. See RPM spec
for description of each package.

Before you build a QNX package you should run `license.sh > ../doc/LICENSE'
from utils/ directory.

If you still prefer to install manually, installation instruction goes below.

By default fmio and wmfmio will be installed into /usr/local/bin and the man
pages into /usr/local/man/cat1. The man pages will not be compressed.

Installation directories are as follows:

PREFIX=/usr/local
BINDIR=$(PREFIX)/bin
MANDIR=$(PREFIX)/man/cat1

Linux users should install as `make MANGRP=root install'.

Note that fmio is installed setuid root.

For other installation options see the Makefile.

wmfmio and its man page are not installed with fmio. To install them you need
to make install in xsrc/. Also, you should manually install wmfmio configuration
file to /etc/wmfmiorc or ~/.wmfmiorc.

You may want to look into utils/ directory. The programs from utils/ are
not installed automatically as well.

	Usage

See the man pages :)

	Supported Hardware

`az' - Aztech/PackardBell FM Radio (ISA)
  http://www.redsword.com/tjacobs/geeb/fmcard.htm

`bktr' - Brooktree Bt848 (OpenBSD, NetBSD, FreeBSD)
  http://www.telepresence.strath.ac.uk/bt848/

`bmc' - BMC FM Radio (ISA)
  ???

`br' - BSD Radio
  http://www.openbsd.ru/cgi-bin/cvsweb/src/radio

`er' - EcoRadio FM Radio (ISA)
  ???

`gti' - Gemtek FM Radio (ISA)
  GemTek Technology Co., Ltd. does not produce fm tuners anymore
  http://www.gemtek.com.tw/faq_download_pc_radio.htm

`gtp' - Gemtek FM Radio (PCI)
  GemTek Technology Co., Ltd. does not produce fm tuners anymore
  http://www.gemtek.com.tw/faq_download_pc_radio.htm

`hx' - AIMS Lab Highway Xtreme TV cards with FM tuner (PCI)
  ???

`mr' - Guillemot Maxi Radio FM 2000 Radio (PCI)
  http://fr.guillemot.com/brand/gamme/son/mradiofm2000/mradiofm2000.html

`rt' - AIMS Lab Radiotrack/RadioReveal RA300 FM Radio (ISA)
`rtII' - AIMS Lab Radiotrack II FM Radio (ISA)
  http://www.windrivers.com/company/aims/

`sae' - SoundForte Awesome 64R SF64-PCE2 Sound Card with FM Tuner (PCI)
  http://www.mediaforte.com.sg/support_audio.htm

`sf2d' - SoundForte Legacy 128 SF16-FMD2 Sound Card with FM Tuner (ISA)
  http://www.mediaforte.com.sg/products/tv_and_radio/sf16_fmd2/features.htm

`sfi' - SoundForte RadioX SF16-FMI Sound Card with FM Tuner (ISAPnP)
    Also known as Creative ViBRA 16c PnP

`sfr' - SoundForte RadioLink SF16-FMR FM Radio (ISA)
  http://home.online.no/~ghustad/rlink.htm
  http://www.mediaforte.com.sg/SoundForte_RadioLink.htm

`sf2r' - SoundForte RadioLink SF16-FMR2 FM Radio (ISA)
  http://www.mediaforte.com.sg/products/tv_and_radio/sf16_fmr2/features.htm

`sf4r' - SoundForte RadioLink SF64-PCR FM Radio (PCI)
  http://www.mediaforte.com.sg/products/tv_and_radio/sf64_pcr/features.htm

`sp' - Spase PC-Radio (ISA)
  ???

`sqx' - SoundForte Quad X-treme SF256-PCP-R Sound Card with FM Tuner (PCI)
  http://www.mediaforte.com.sg/products/tv_and_radio/sf256_pcpr/features.htm

`stx' - SoundForte Theatre X-treme 5.1 SF256-PCS Sound Card with FM Tuner (PCI)
  http://www.mediaforte.com.sg/products/tv_and_radio/sf512_pcs/features.htm

`svg' - Sound Vision 16 Gold Sound Card with FM Radio (ESS1869) (ISA)
  ???

`tr' - Trust FM Radio (ISA)
  ???

`tt' - Terratec FM Radio (ISAPnP)
  ???

`v4l' or `bktr' - Video4Linux
  http://roadrunner.swansea.uk.linux.org/v4l.shtml

`zx' - Zoltrix RadioPlus 108 FM Radio (ISA)
  http://www.zoltrix-int.com/Multimedia/sound/rp108_14-drivers.htm

These cards are supported in the sense that their drivers are included in
the archive. I expect that on some platforms they won't work without some
tweaks, or even compile.

	Tested Drivers

Aztech -- OpenBSD 2.7/i386 -- Vladimir Popov <jumbo@narod.ru>
Aztech -- OpenBSD 2.8/i386 -- Vladimir Popov <jumbo@narod.ru>
Aztech -- Linux 2.4.0/i386 -- John O'Donnell <johnod@voicefx.com>
Aztech -- FreeBSD 3.5-STABLE/i386 -- Den Ivanov <d.s.div@bigfoot.com>
Bktr -- Linux 2.4.0/i386 -- John O'Donnell <johnod@voicefx.com>
Bktr -- Linux 2.2.18/i386 -- Eric Jorgensen <ericj@lineo.com>
Bktr -- FreeBSD 4.4-RELEASE/i386 -- Nils Holland <nils@tisys.org>
Bktr -- FreeBSD 4.6.2-RELEASE/i386 -- Dmitry Ilyshin <sysadmin@gorono.zato.ru>
MaxiRadio -- Linux 2.4.0/i386 -- Pol-Quentin DUPONT <poldupont@hotmail.com>
RadioTrack II -- Linux 2.2.14/i386 -- Hans van den Boogert <hansfong@yahoo.com>
Gemtek ISA -- Linux 2.2.17/i386 -- Vladimir Bondar <eraser_swamp@mail.ru>
Gemtek PCI -- Linux 2.4.6/i386 -- Vladimir Shebordaev <vshebordaev@mail.ru>
SF16-FMR -- Linux 2.2.19/i386 -- Wilmer van der Gaast <lintux@lintux.cx>
SF16-FMR -- Linux 2.4.6/i386 -- Konstantin Kudinov <kkm@tomsk.net>
SF16-FMR -- Linux 2.4.17/i386 -- Valeriy Zosidze <megachel@narod.ru>
SF16-FMR2 -- OpenBSD 2.8/i386 -- Maxim Tsyplakov <tm@oganer.net>
SF16-FMR2 -- Linux 2.2.16/i386 -- Andrey Alexeev <lexxa@vei.ru>
SF16-FMR2 -- FreeBSD 4.3-RELEASE/i386 -- Dmitry Mikhailov <daemonhome@mail.ru>
SF64-PCR -- Linux 2.4.16/i386 -- Michal Duda <duda@linux.fjfi.cvut.cz>
SF64-PCR -- QNX 6.2/i386 -- Mike Gorchak <mike@malva.ua>
SF256-PCP-R -- Linux 2.4.18/i386 -- Vlad Vasiliev <vlalin@tut.by>
SF256-PCP-R -- FreeBSD 4.6-RC/i386 -- Gennady A. Munasipov <mga@dragon.stu.cn.ua>

	Other OSes and cards

Right now fmio supports OpenBSD, NetBSD, Linux, FreeBSD and QNX 6.x.

If you use other OS, you might do following:
1) Show me an example of enabling access to specified ports. I'll try
   to incorporate it into the source.
2) Find some program that works with direct port access and send me a
   pointer to it. I'll try to figure out how to do it in fmio.

Remember, I use OpenBSD, for other OSes testing is yours.

If you have other card, you might do following:
1) Find or write yourself a driver for your card, patch fmio sources and
   send the patch to me.
2) Find an already written driver and send it to me. I'll try to incorporate
   it into the sources.

Again, I have an Aztech radio card, so in either case to test is yours.

	Caveats

If you're using a PCI card that fmio claims to be supported but you cannot
make it to work chances are that fmio cannot correctly determine the port
used by your card. To fix this replace string in your card driver:

radioport = pci_bus_locate(&pd);

with

radioport = 0x`the actual port number'

The actual port number you can look up eg in /proc/pci under Linux, or
use the value that Windows reports.

There's a flaw in the {Free|Open|Net}BSD bktr driver - after closing /dev/tuner
a card is turned off too. Thus, you cannot use fmio alone to manage bktr cards
(fmio opens /dev/tuner, tunes a card to some frequency and closes /dev/tuner -
and a card goes off too). Since fmio cannot hold /dev/tuner open all the time,
use it with bktrctl from utils/. This concerns Linux users too. Detachable
FM tuners (like USB PC radio) need this program.

SF16-FMR users should use fmrinit at boot. See utils/ directory.  Since release
1.2.26 runing fmio twice will do the job too. Choose a method that'll suit
you best.

OpenBSD and NetBSD (maybe FreeBSD) users should compile kernel with
`option APERTURE' and do `sysctl -w machdep.allowaperture=2' in order to use
drivers that use direct I/O port access (all drivers except `bktr', `br'
and `hx').

If you use some BSD system and have an ISAPnP card you may need to initialize
it. Use patch for isapnptools-1.26 in the doc/ directory.

	Acknowledgements

Thanks go to:

	John O'Donnell <johnod@voicefx.com> -- for testing
	Den Ivanov <d.s.div@bigfoot.com> -- for testing, bugfixes
		and the FreeBSD port
	Pol-Quentin DUPONT <poldupont@hotmail.com> -- for submitting
		the radio-maxifm.c, testing and bugfixes
	Eric Jorgensen <ericj@lineo.com> -- for testing
	Hans van den Boogert <hansfong@yahoo.com> -- for testing and suggestions
	Vladimir Bondar <eraser_swamp@mail.ru> -- for testing
	Andy Ramensky <andy@clhs.kiev.ua> -- for sf16fmd2 driver
	Wilmer van der Gaast <lintux@lintux.cx> -- for sf16fmr driver
		and testing
	Maxim Tsyplakov <tm@oganer.net> -- for testing
	Andrey Alexeev <lexxa@vei.ru> -- for testing
	Dmitry Mikhailov <daemonhome@mail.ru> -- for testing
	Stepan Koltsov <yozh@mx1.ru> -- for testing and suggestions
	Vladimir Shebordaev <vshebordaev@mail.ru> -- for gemtek pci driver
		and testing
	Konstantin Kudinov <kkm@tomsk.net> -- for testing
	Nils Holland <nils@tisys.org> -- for testing
	Valeriy Zosidze <megachel@narod.ru> -- for testing
	Igor Kabirov <ikabirov@yahoo.com> -- for testing and photos
	Sergey Plotnikov <joy@chel.ru> -- for a Gemtek PCI donation
	Sergey Zhemchugov <Sergey_Zhemchugov@p1.f522.n463.z2.fidonet.org> --
		for fixes
	Marian P. Ivasiuk <iva@romsat.ua> -- for FAQ translation
	Gunther Mayer <gunther.mayer@gmx.net> -- for sae, sp, tr, tt
		and bmc drivers
	Mike Gorchak <mike@malva.ua> -- for QNX port and package
	Dmitry Ilyshin <sysadmin@gorono.zato.ru> -- for extensive testing
		and debugging

Vladimir Popov <jumbo@narod.ru>
$Id: README,v 1.96 2002/01/17 16:53:11 pva Exp $
