It sets frequency, volume of a card, reports signal strength on the working frequency and can set a radio card output to mono provided that the card driver supports it.
The fmio has two additional modes - scanning and detection. In the scan mode fmio scans frequency range with step 10 kHz and outputs measured signal strength. Frequency range and number of probes for each frequency are configurable. In the detection mode fmio detects any supported radio card. Use this mode if you are not sure which card you have or do not know which port your card uses.
Also, it can control the output volume of a sound card through /dev/mixer
The options are as follows:
<line name>=[+-]<left channel>,[+-]<right channel>.
For the line names see
under OpenBSD and NetBSD: /usr/include/sys/audioio.h
under Linux and FreeBSD: /usr/include/sys/soundcard.h
Some examples of the option -x usage are in the section Sx EXAMPLES below.
Aztech/PackardBell FM Radio Card (ISA) `az'
port 0x350 - az1
port 0x358 - az2
Volume - 0 .. 3
Can set mono - yes
Software search
Brooktree Bt848 Driver `bktr'
Volume - 0 .. 1
Can set mono - yes
Software search
Use with bktrctl
BMC FM Radio Card (ISA) `bmc'
port 0x20F - bmc1
port 0x30F - bmc2
Volume - 0 .. 15
Can set mono - yes
Search not implemented yet
BSD Radio Driver `br'
Volume - 0 .. 255
Can set mono - yes
Software search
EcoRadio Card (ISA) `er'
port 0x316 - er1
port 0x336 - er2
Volume - 0 .. 3
Can set mono - no
Search not implemented yet
Detection not implemented yet
Gemtek FM Radio Card (ISA) `gti'
port 0x20c - gti1
port 0x30c - gti2
port 0x24c - gti3
port 0x34c - gti4
port 0x248 - gti5
Volume - 0 .. 1
Can set mono - no
Software search
Gemtek FM Radio Card (PCI) `gtp'
Volume - 0 .. 1
Can set mono - yes
Hardware search
AIMS Lab Highway Xtreme TV card with FM tuner Driver `hx'
Volume - 0 .. 1
Can set mono - yes
Software search
BSD only
Use with bktrctl
Needs kernel with `option'BT848_GPIO_ACCESS
Guillemot MaxiRadio FM 2000 Radio Card (PCI) `mr'
Volume - 0 .. 1
Can set mono - yes
Hardware search
AIMS Lab RadioTrack/RadioReveal RA300 FM Radio Card (ISA) `rt'
port 0x20c - rt1
port 0x30c - rt2
Volume - 0 .. 10
Can set mono - yes
Software search
AIMS Lab RadioTrack II FM Radio Card (ISA) `rtII'
port 0x20c - rtII1
port 0x30c - rtII2
Volume - 0 .. 1
Can set mono - yes
Hardware search
SoundForte Awesome 64R SF64-PCE2 Driver (PCI) `sae'
Volume - 0 .. 1
Can set mono - yes
Hardware Search
SoundForte Legacy 128 SF16-FMD2 Driver (ISA) `sf2d'
port 0x284 - sf2d1
port 0x384 - sf2d2
Volume - 0 .. 1
Can set mono - yes
Search not implemented yet
Detection not implemented yet
SoundForte RadioX SF16-FMI Driver (ISAPNP) `sfi'
Also known as Creative ViBRA 16c PnP
port 0x284 - sfi1
port 0x384 - sfi2
Volume - 0 .. 1
Can set mono - no
Search not implemented yet
Detection not implemented yet
SoundForte RadioLink SF16-FMR FM Radio Card (ISA) `sfr'
port 0x284 - sfr1
port 0x384 - sfr2
Volume - 0 .. 15
Can set mono - no
Use with fmrinit
Search not implemented yet
SoundForte RadioLink SF16-FMR2 FM Radio Card (ISA) `sf2r'
Volume - 0 .. 1
Can set mono - yes
Hardware search
SoundForte RadioLink SF64-PCR FM Radio Card (PCI) `sf4r'
Volume - 0 .. 1
Can set mono - yes
Software search
Spase PCRadio Card (ISA) `sp'
port 0x1b0 - sp1
port 0x1f0 - sp2
port 0x278 - sp3
port 0x378 - sp4
port 0x2f8 - sp5
port 0x3bc - sp6
Volume - 0 .. 63
Can set mono - yes
Search not implemented yet
SoundForte Quad X-treme SF256-PCP-R Driver (PCI) `sqx'
Volume - 0 .. 1
Can set mono - yes
Hardware search
SoundForte Theatre X-treme 5.1 SF256-PCS-R Driver (PCI) `stx'
Volume - 0 .. 1
Can set mono - yes
Hardware search
Sound Vision 16 Gold Sound Card with FM Radio (ISA) `svg'
Volume - 0 .. 1
Can set mono - no
Software search
Trust FM Radio Card (ISA) `tr'
Volume - 0 .. 63
Can set mono - yes
Software search
Terratec FM Radio Card (ISAPNP) `tt'
Volume - 0 .. 7
Can set mono - yes
Hardware search
Video4Linux Driver `v4l'
Volume - 0 .. 10
Can set mono - yes
Software search
Zoltrix RadioPlus 108 FM Radio Card (ISA) `zx'
port 0x20c - zx1
port 0x30c - zx2
Volume - 0 .. 16
Can set mono - yes
Software search
# fmio -f 104.5
# fmio -f 104.5 -s
# fmio -v 4 -f 104.5
# fmio -x line=9
# fmio -x line1=+2,10
# fmio -X +2,-1
# fmio -X -2
# fmio -d bktr -S -l 100.0 -h 107.6
# fmio -d sf2r -W -104.3
# fmio -D
Frequency and hardware volume should be absolute. They cannot be increased or decreased relatively to the current value.
The Gemtek PCI card implementation has some flaw. Namely, when turning a card off, don't use option -f
The SF16-FMR card has 16 volume levels. Thus, fmio -f 104.5 can be easily taken in as fmio -v 0 Use some volume level when setting up a frequency. Also, this card has to be initialized during bootup. Launch fmrinit from some start script (most likely /etc/rc.local )
There's a flaw in the BSD bktr driver - after closing /dev/tuner a card is turned off too. Thus, you cannot use fmio alone to manage bktr cards because 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 The same concerns Linux users. Some cards supported by kernel are turned off after closing /dev/radio (e.g. USB tuners ) Use fmio with bktrctl
Due to the above limitation the BSD bktr driver cannot work correctly if frequency was not specified. E.g. fmio -d bktr -i will not work as expected. Correct use is fmio -d bktr -f <some freq> -i