Linux Audio

Check our new training course

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