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/

Mirrors:
  http://www.tele2.chel.ru/~pva/

	Configuration

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.

Under OpenBSD, NetBSD and FreeBSD fmio uses /dev/pci to obtain an I/O base
port of a PCI card. Read the appropriate man pages to properly configure
your kernel.

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

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

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

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

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

`bmc' - BMC 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

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

`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

`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

`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

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

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

`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

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

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

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

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

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>
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>
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 and FreeBSD.

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 have an ESS1868 sound card and use OpenBSD as I do, you might want
to read the file ess1868 (fixed in OpenBSD 2.9).

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(VENDOR_ID, PRODUCT_ID);

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 is turned off). 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 the method that'll suit
you.

	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 tt and bmc drivers

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