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