File Index
Files and directories
Sign in
FILE

si470x.rst

File preview with syntax highlighting.

linux-6.19.14/Documentation/admin-guide/media/si470x.rst RESTRUCTUREDTEXT
  1.. SPDX-License-Identifier: GPL-2.0
  2
  3.. include:: <isonum.txt>
  4
  5The Silicon Labs Si470x FM Radio Receivers driver
  6=================================================
  7
  8Copyright |copy| 2009 Tobias Lorenz <tobias.lorenz@gmx.net>
  9
 10
 11Information from Silicon Labs
 12-----------------------------
 13
 14Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the
 15most often used radio receivers in cell phones. Usually they are connected with
 16I2C. But SiLabs also provides a reference design, which integrates this IC,
 17together with a small microcontroller C8051F321, to form a USB radio.
 18Part of this reference design is also a radio application in binary and source
 19code. The software also contains an automatic firmware upgrade to the most
 20current version. Information on these can be downloaded here:
 21http://www.silabs.com/usbradio
 22
 23
 24Supported ICs
 25-------------
 26
 27The following ICs have a very similar register set, so that they are or will be
 28supported somewhen by the driver:
 29
 30- Si4700: FM radio receiver
 31- Si4701: FM radio receiver, RDS Support
 32- Si4702: FM radio receiver
 33- Si4703: FM radio receiver, RDS Support
 34- Si4704: FM radio receiver, no external antenna required
 35- Si4705: FM radio receiver, no external antenna required, RDS support, Dig I/O
 36- Si4706: Enhanced FM RDS/TMC radio receiver, no external antenna required, RDS
 37	  Support
 38- Si4707: Dedicated weather band radio receiver with SAME decoder, RDS Support
 39- Si4708: Smallest FM receivers
 40- Si4709: Smallest FM receivers, RDS Support
 41
 42More information on these can be downloaded here:
 43http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx
 44
 45
 46Supported USB devices
 47---------------------
 48
 49Currently the following USB radios (vendor:product) with the Silicon Labs si470x
 50chips are known to work:
 51
 52- 10c4:818a: Silicon Labs USB FM Radio Reference Design
 53- 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music) (RDX-155-EF)
 54- 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
 55- 10c5:819a: Sanei Electric, Inc. FM USB Radio (sold as DealExtreme.com PCear)
 56
 57
 58Software
 59--------
 60
 61Testing is usually done with most application under Debian/testing:
 62
 63- fmtools - Utility for managing FM tuner cards
 64- gnomeradio - FM-radio tuner for the GNOME desktop
 65- gradio - GTK FM radio tuner
 66- kradio - Comfortable Radio Application for KDE
 67- radio - ncurses-based radio application
 68- mplayer - The Ultimate Movie Player For Linux
 69- v4l2-ctl - Collection of command line video4linux utilities
 70
 71For example, you can use:
 72
 73.. code-block:: none
 74
 75	v4l2-ctl -d /dev/radio0 --set-ctrl=volume=10,mute=0 --set-freq=95.21 --all
 76
 77There is also a library libv4l, which can be used. It's going to have a function
 78for frequency seeking, either by using hardware functionality as in radio-si470x
 79or by implementing a function as we currently have in every of the mentioned
 80programs. Somewhen the radio programs should make use of libv4l.
 81
 82For processing RDS information, there is a project ongoing at:
 83http://rdsd.berlios.de/
 84
 85There is currently no project for making TMC sentences human readable.
 86
 87
 88Audio Listing
 89-------------
 90
 91USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to
 92also select SND_USB_AUDIO, as this is required to get sound from the radio. For
 93listing you have to redirect the sound, for example using one of the following
 94commands. Please adjust the audio devices to your needs (/dev/dsp* and hw:x,x).
 95
 96If you just want to test audio (very poor quality):
 97
 98.. code-block:: none
 99
100	cat /dev/dsp1 > /dev/dsp
101
102If you use sox + OSS try:
103
104.. code-block:: none
105
106	sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp
107
108or using sox + alsa:
109
110.. code-block:: none
111
112	sox --endian little -c 2 -S -r 96000 -t alsa hw:1 -t alsa -r 96000 hw:0
113
114If you use arts try:
115
116.. code-block:: none
117
118	arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
119
120If you use mplayer try:
121
122.. code-block:: none
123
124	mplayer -radio adevice=hw=1.0:arate=96000 \
125		-rawaudio rate=96000 \
126		radio://<frequency>/capture
127
128Module Parameters
129-----------------
130
131After loading the module, you still have access to some of them in the sysfs
132mount under /sys/module/radio_si470x/parameters. The contents of read-only files
133(0444) are not updated, even if space, band and de are changed using private
134video controls. The others are runtime changeable.
135
136
137Errors
138------
139
140Increase tune_timeout, if you often get -EIO errors.
141
142When timed out or band limit is reached, hw_freq_seek returns -EAGAIN.
143
144If you get any errors from snd_usb_audio, please report them to the ALSA people.
145
146
147Open Issues
148-----------
149
150V4L minor device allocation and parameter setting is not perfect. A solution is
151currently under discussion.
152
153There is an USB interface for downloading/uploading new firmware images. Support
154for it can be implemented using the request_firmware interface.
155
156There is a RDS interrupt mode. The driver is already using the same interface
157for polling RDS information, but is currently not using the interrupt mode.
158
159There is a LED interface, which can be used to override the LED control
160programmed in the firmware. This can be made available using the LED support
161functions in the kernel.
162
163
164Other useful information and links
165----------------------------------
166
167http://www.silabs.com/usbradio
~/ Read-only file preview.