Based on kernel version 3.12. Page generated on 2013-11-13 22:00 EST.
1 Driver for USB radios for the Silicon Labs Si470x FM Radio Receivers 2 3 Copyright (c) 2009 Tobias Lorenz <email@example.com> 4 5 6 Information from Silicon Labs 7 ============================= 8 Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the 9 most often used radio receivers in cell phones. Usually they are connected with 10 I2C. But SiLabs also provides a reference design, which integrates this IC, 11 together with a small microcontroller C8051F321, to form a USB radio. 12 Part of this reference design is also a radio application in binary and source 13 code. The software also contains an automatic firmware upgrade to the most 14 current version. Information on these can be downloaded here: 15 http://www.silabs.com/usbradio 16 17 18 Supported ICs 19 ============= 20 The following ICs have a very similar register set, so that they are or will be 21 supported 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 33 More information on these can be downloaded here: 34 http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx 35 36 37 Supported USB devices 38 ===================== 39 Currently the following USB radios (vendor:product) with the Silicon Labs si470x 40 chips 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 47 Software 48 ======== 49 Testing 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 57 For example, you can use: 58 v4l2-ctl -d /dev/radio0 --set-ctrl=volume=10,mute=0 --set-freq=95.21 --all 59 60 There is also a library libv4l, which can be used. It's going to have a function 61 for frequency seeking, either by using hardware functionality as in radio-si470x 62 or by implementing a function as we currently have in every of the mentioned 63 programs. Somewhen the radio programs should make use of libv4l. 64 65 For processing RDS information, there is a project ongoing at: 66 http://rdsd.berlios.de/ 67 68 There is currently no project for making TMC sentences human readable. 69 70 71 Audio Listing 72 ============= 73 USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to 74 also select SND_USB_AUDIO, as this is required to get sound from the radio. For 75 listing you have to redirect the sound, for example using one of the following 76 commands. Please adjust the audio devices to your needs (/dev/dsp* and hw:x,x). 77 78 If you just want to test audio (very poor quality): 79 cat /dev/dsp1 > /dev/dsp 80 81 If you use sox + OSS try: 82 sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp 83 or using sox + alsa: 84 sox --endian little -c 2 -S -r 96000 -t alsa hw:1 -t alsa -r 96000 hw:0 85 86 If you use arts try: 87 arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B - 88 89 If you use mplayer try: 90 mplayer -radio adevice=hw=1.0:arate=96000 \ 91 -rawaudio rate=96000 \ 92 radio://<frequency>/capture 93 94 Module Parameters 95 ================= 96 After loading the module, you still have access to some of them in the sysfs 97 mount 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 99 video controls. The others are runtime changeable. 100 101 102 Errors 103 ====== 104 Increase tune_timeout, if you often get -EIO errors. 105 106 When timed out or band limit is reached, hw_freq_seek returns -EAGAIN. 107 108 If you get any errors from snd_usb_audio, please report them to the ALSA people. 109 110 111 Open Issues 112 =========== 113 V4L minor device allocation and parameter setting is not perfect. A solution is 114 currently under discussion. 115 116 There is an USB interface for downloading/uploading new firmware images. Support 117 for it can be implemented using the request_firmware interface. 118 119 There is a RDS interrupt mode. The driver is already using the same interface 120 for polling RDS information, but is currently not using the interrupt mode. 121 122 There is a LED interface, which can be used to override the LED control 123 programmed in the firmware. This can be made available using the LED support 124 functions in the kernel. 125 126 127 Other useful information and links 128 ================================== 129 http://www.silabs.com/usbradio