fmio(1)
| fmio(1) | General Commands Manual | fmio(1) |
NAME
fmio — small
utility to manipulate fm radio card
SYNOPSIS
fmio |
[-d driver]
[-f freq]
[-i] [-m]
[-s] [-v
vol] [-x
vol] [-X
vol] |
fmio |
[-d driver]
-S [-c
count] [-l
begin] [-h
end] |
fmio |
[-d driver]
-W frequency |
fmio |
-D |
DESCRIPTION
The fmio is a small program to set and
change fm radio card parameters.
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:
-ddriver- Use driver driver. See list of currently known drivers in section DRIVERS. If no driver was specified, default one will be used.
-ffreq- Set fm card frequency (in MHz).
-i- Show all available information about a driver and a card.
-m- Set output of a card to mono. Works only in conjunction with option
-f. Note, that not all drivers support this option. -s- Show current signal status of a radio card.
-vvolume- Set volume of a card. Option
-v0 will mute a card. Each driver has its own maximal volume. -xvolume- Set volume of an arbitrary mixer line of a sound card thru
/dev/mixer. The volume has
following format:
<line name>=[+-]<left channel>,[+-]<right channel>.For the line names see
under OpenBSD and NetBSD: /usr/include/sys/audioio.hunder Linux and FreeBSD: /usr/include/sys/soundcard.hSome examples of the option
-xusage are in the section EXAMPLES below. -Xvolume- Set volume of the sound card master output through
/dev/mixer. Format of this option is similar to
option
-x, except there is no need to specify <line name>. -D- Detection mode. All known cards will be probed and results will be printed to standard output. Note, this procedure is very slow.
-S- Scan mode. If some of the listed below parameters were not specified the FM maximal and minimal frequencies are used. Measured data is dumped to standard output.
-lbegin- Lower border of scan range (in MHz). If it is less than the FM minimal frequency (87.5 MHz), it is set to the FM minimal frequency.
-hend- Upper border of scan range (in MHz). If it is greater than the FM maximal frequency (108.0 MHz), it is set to the FM maximal frequency.
-ccount- Number of probes for each frequency. The higher this number is the more precise will be results. Since stereo signal has weight 3, none - weight 0 and mono is in between, the strongest signal will have value 3 * count. If not set, each frequency will be probed only once.
-Wfrequency- Search mode. Nearest to frequency station is searched and, if found, tuned to. The search direction is determined by frequency sign. If frequency has negative value, the station is searched downward. If frequency is positive the search is performed upward.
DRIVERS
Aztech/PackardBell
FM Radio Card (ISA) ‘az’
port 0x350 - az1port 0x358 - az2Volume - 0 .. 3Can set mono - yesSoftware searchBrooktree
Bt848 Driver ‘bktr’
Volume - 0 .. 1Can set mono - yesSoftware searchUse with
bktrctlBMC FM
Radio Card (ISA) ‘bmc’
port 0x20F - bmc1port 0x30F - bmc2Volume - 0 .. 15Can set mono - yesSearch not implemented
yetBSD Radio
Driver ‘br’
Volume - 0 .. 255Can set mono - yesSoftware searchEcoRadio
Card (ISA) ‘er’
port 0x316 - er1port 0x336 - er2Volume - 0 .. 3Can set mono - noSearch not implemented
yetDetection not implemented
yetGemtek FM Radio Card (ISA)
‘gti’
port 0x20c - gti1port 0x30c - gti2port 0x24c - gti3port 0x34c - gti4port 0x248 - gti5Volume - 0 .. 1Can set mono - noSoftware searchGemtek FM Radio Card (PCI)
‘gtp’
Volume - 0 .. 1Can set mono - yesHardware searchAIMS Lab Highway Xtreme TV card
with FM tuner Driver
‘hx’
Volume - 0 .. 1Can set mono - yesSoftware searchBSD onlyUse with
bktrctlNeeds kernel with
‘option BT848_GPIO_ACCESS’Guillemot
MaxiRadio FM 2000 Radio Card (PCI)
‘mr’
Volume - 0 .. 1Can set mono - yesHardware searchAIMS Lab RadioTrack/RadioReveal RA300 FM Radio
Card (ISA) ‘rt’
port 0x20c - rt1port 0x30c - rt2Volume - 0 .. 10Can set mono - yesSoftware searchAIMS Lab RadioTrack II FM Radio Card (ISA)
‘rtII’
port 0x20c - rtII1port 0x30c - rtII2Volume - 0 .. 1Can set mono - yesHardware searchSoundForte Awesome 64R SF64-PCE2 Driver (PCI)
‘sae’
Volume - 0 .. 1Can set mono - yesHardware SearchSoundForte Legacy 128 SF16-FMD2 Driver (ISA)
‘sf2d’
port 0x284 - sf2d1port 0x384 - sf2d2Volume - 0 .. 1Can set mono - yesSearch not implemented
yetDetection not implemented
yetSoundForte RadioX SF16-FMI Driver (ISAPNP)
‘sfi’
Also known as Creative ViBRA 16c
PnPport 0x284 - sfi1port 0x384 - sfi2Volume - 0 .. 1Can set mono - noSearch not implemented
yetDetection not implemented
yetSoundForte RadioLink SF16-FMR FM Radio Card
(ISA) ‘sfr’
port 0x284 - sfr1port 0x384 - sfr2Volume - 0 .. 15Can set mono - noUse with
fmrinitSearch not implemented
yetSoundForte RadioLink SF16-FMR2 FM Radio Card
(ISA) ‘sf2r’
Volume - 0 .. 1Can set mono - yesHardware searchSoundForte RadioLink SF64-PCR FM Radio Card
(PCI) ‘sf4r’
Volume - 0 .. 1Can set mono - yesSoftware searchSpase
PCRadio Card (ISA) ‘sp’
port 0x1b0 - sp1port 0x1f0 - sp2port 0x278 - sp3port 0x378 - sp4port 0x2f8 - sp5port 0x3bc - sp6Volume - 0 .. 63Can set mono - yesSearch not implemented
yetSoundForte Quad X-treme SF256-PCP-R Driver (PCI)
‘sqx’
Volume - 0 .. 1Can set mono - yesHardware searchSoundForte Theatre X-treme 5.1 SF256-PCS-R
Driver (PCI) ‘stx’
Volume - 0 .. 1Can set mono - yesHardware searchSound
Vision 16 Gold Sound Card with FM Radio (ISA)
‘svg’
Volume - 0 .. 1Can set mono - noSoftware searchTrust
FM Radio Card (ISA) ‘tr’
Volume - 0 .. 63Can set mono - yesSoftware searchTerratec
FM Radio Card (ISAPNP)
‘tt’
Volume - 0 .. 7Can set mono - yesHardware searchVideo4Linux
Driver ‘v4l’
Volume - 0 .. 10Can set mono - yesSoftware searchZoltrix
RadioPlus 108 FM Radio Card (ISA)
‘zx’
port 0x20c - zx1port 0x30c - zx2Volume - 0 .. 16Can set mono - yesSoftware searchEXAMPLES
- Set frequency to 104.5 MHz:
# fmio -f 104.5
- Set frequency to 104.5 MHz and show signal state on this frequency:
# fmio -f 104.5 -s
- Set frequency to 104.5 MHz, hardware volume to 4:
# fmio -v 4 -f 104.5
- Set volume of both channels of line input to 9:
# fmio -x line=9
- For line1, increase volume of left channel by 2, set volume of right
channel to 10:
# fmio -x line1=+2,10
- For master output, increase volume of left channel by 2 and decrease
volume of right channel by 1:
# fmio -X +2,-1
- Decrease volume of both channels by 2:
# fmio -X -2
- Scan range [100.0...107.6] using driver ‘bktr’:
# fmio -d bktr -S -l 100.0 -h 107.6
- Search station below 104.3 MHz using driver ‘sf2r’:
# fmio -d sf2r -W -104.3
- Detect all available cards:
# fmio -D
FILES
- /dev/mixer
- mixer audio device
- /dev/tuner
- radio tuner device used by the BSD bktr driver.
- /dev/radio
- radio tuner device used by ‘
v4l’ driver (Linux) and ‘br’ driver (OpenBSD and NetBSD)
ENVIROMENT
The following environment variables affect the execution of
fmio:
FMTUNER- The driver that should be used as default.
RADIODEVICE- The radio tuner device (OpenBSD, NetBSD and Linux).
MIXERDEVICE- The audio mixer device to use.
BUGS
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.
AUTHOR
Vladimir Popov ⟨jumbo@narod.ru⟩
| November 20, 2000 | Linux 6.12.85-6.12-alt1 |
