Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RADIO(4)	       FreeBSD Kernel Interfaces Manual		      RADIO(4)

NAME
     radio -- device-independent radio driver layer

SYNOPSIS
     radio* at bktr?
     radio* at fms?
     radio* at udsbr?

     #include <sys/types.h>
     #include <sys/ioctl.h>
     #include <sys/radioio.h>

DESCRIPTION
     The radio driver provides support for various FM radio cards.  It pro-
     vides a uniform programming interface layer above different underlying
     radio hardware drivers.

     For radio tuner controlling there is a single device file available:
     /dev/radio.

     The following ioctl(2) commands are supported:

     RIOCSSRCH int
	     This command assumes that a signal	search is required and gives
	     direction of search to the	driver - 0 to search down and any non-
	     zero value	to search up.
     RIOCGINFO struct radio_info
     RIOCSINFO struct radio_info
	     Get or set	the current hardware device information	into the
	     radio_info	structure.

	     struct radio_info {
		     int     mute;
		     int     volume;
		     int     stereo;
		     int     rfreq;  /*	reference frequency */
		     int     lock;   /*	locking	field strength */
		     u_int32_t	     freq;   /*	in kHz */
		     u_int32_t	     caps;   /*	card capabilities */
	     #define RADIO_CAPS_DETECT_STEREO	     (1<<0)
	     #define RADIO_CAPS_DETECT_SIGNAL	     (1<<1)
	     #define RADIO_CAPS_SET_MONO	     (1<<2)
	     #define RADIO_CAPS_HW_SEARCH	     (1<<3)
	     #define RADIO_CAPS_HW_AFC		     (1<<4)
	     #define RADIO_CAPS_REFERENCE_FREQ	     (1<<5)
	     #define RADIO_CAPS_LOCK_SENSITIVITY     (1<<6)
	     #define RADIO_CARD_TYPE		     (0xFF<<16)
		     u_int32_t	     info;
	     #define RADIO_INFO_STEREO		     (1<<0)
	     #define RADIO_INFO_SIGNAL		     (1<<1)
		     u_int32_t	     tuner_mode;
	     #define RADIO_TUNER_MODE_RADIO	     (1<<0)
	     #define RADIO_TUNER_MODE_TV	     (1<<1)
		     u_int32_t	     chan;
		     u_int32_t	     chnlset;
	     };

	     The mute field is a boolean.

	     The volume	field holds the	card volume information	and can	be at
	     most 255.

	     The stereo	field is a boolean.

	     The rfreq holds information about the card	reference frequency
	     (not all cards support this feature).

	     The lock field holds information about the	card locking field
	     strength during an	automatic search for cards that	support	this
	     feature.

	     The freq field is the frequency in	kHz the	card is	tuned to.

	     The tuner_mode field is the current tuning	mode of	the tuner.
	     Valid modes are:

	     RADIO_TUNER_MODE_RADIO
		     The tuner operates	in FM radio mode.
	     RADIO_TUNER_MODE_TV
		     The tuner operates	in TV mode.

	     The caps field is read-only and describes the card	capabilities.
	     The capabilities can have the following values:

	     RADIO_CAPS_DETECT_STEREO
		     The device	can determine if it is tuned to	a stereo sig-
		     nal.
	     RADIO_CAPS_DETECT_SIGNAL
		     The device	can determine if it is tuned or	not.
	     RADIO_CAPS_SET_MONO
		     The device	is capable of forcibly setting its output to
		     mono.
	     RADIO_CAPS_HW_SEARCH
		     The device	can do hardware	search.
	     RADIO_CAPS_HW_AFC
		     The device	has an internal	hardware automatic frequency
		     control.
	     RADIO_CAPS_REFERENCE_FREQ
		     The device	allows changing	the reference frequency	of a
		     received signal.
	     RADIO_CAPS_LOCK_SENSITIVITY
		     The device	allows changing	the station lock sensitivity
		     used during search	operation.
	     RADIO_CARD_TYPE
		     Some cards	have several different incarnations.  This al-
		     lows the variant of the card to be	determined.  Currently
		     not used.

	     The info field is read-only and describes the current state of
	     the card -	tuned/not tuned, stereo	signal/mono signal.

	     RADIO_INFO_STEREO
		     Informs whether the device	receives a stereo or mono sig-
		     nal.
	     RADIO_INFO_SIGNAL
		     Informs whether the device	receives a valid signal	or
		     noise.

	     The chan holds the	TV channel the card is tuned to.

	     The chnlset specifies the TV channel set currently	being used.
	     The tuner uses the	current	channel	set to derive the tuning fre-
	     quency from the channel number.  Western Europe is	the default
	     channel set.  The following is a list of valid channel sets:

	     1	     U.S.A. Broadcast
	     2	     U.S.A. Cable IRC
	     3	     U.S.A. Cable HRC
	     4	     Western Europe
	     5	     Japan Broadcast
	     6	     Japan Cable
	     7	     Former U.S.S.R. and C.I.S.	Countries
	     8	     Australia
	     9	     France

     Either freq or chan can be	used to	tune to	FM radio stations or TV	chan-
     nels, respectively.  Some devices may not support both functionalities.

CHIPSETS
     The TEA5757; TEA5759 is a 44-pin integrated AM/FM stereo radio circuit.
     The radio part is based on	the TEA5712.  The TEA5757 is used in FM-stan-
     dards in which the	local oscillator frequency is above the	radio fre-
     quency (e.g. European and American	standards).  The TEA5759 is the	ver-
     sion in which the oscillator frequency is below the radio frequency (e.g.
     Japanese standards).  To conform with the Japanese	standards, it is nec-
     essary to set the flags' least significant	bit to 1.  The TEA5757;
     TEA5759 has a 25-bit read-write shift register.  The TEA5757 chips	are
     used in fms(4) cards.

FILES
     /dev/radio

SEE ALSO
     radioctl(1), ioctl(2), bktr(4), fms(4), intro(4), udsbr(4), radio(9)

HISTORY
     The radio device driver appeared in OpenBSD 3.0.

AUTHORS
     The radio driver was written by Vladimir Popov <jumbo@narod.ru> and Maxim
     Tsyplakov <tm@oganer.net>.	 The man page was written by Vladimir Popov
     <jumbo@narod.ru>.

FreeBSD	13.0		       February	1, 2021			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | CHIPSETS | FILES | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=radio&sektion=4&manpath=OpenBSD+6.9>

home | help