linux/Documentation/video4linux/si470x.txt
<<
>>
Prefs
   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
  57There is also a library libv4l, which can be used. It's going to have a function
  58for frequency seeking, either by using hardware functionality as in radio-si470x
  59or by implementing a function as we currently have in every of the mentioned
  60programs. Somewhen the radio programs should make use of libv4l.
  61
  62For processing RDS information, there is a project ongoing at:
  63http://rdsd.berlios.de/
  64
  65There is currently no project for making TMC sentences human readable.
  66
  67
  68Audio Listing
  69=============
  70USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to
  71also select SND_USB_AUDIO, as this is required to get sound from the radio. For
  72listing you have to redirect the sound, for example using one of the following
  73commands. Please adjust the audio devices to your needs (/dev/dsp* and hw:x,x).
  74
  75If you just want to test audio (very poor quality):
  76cat /dev/dsp1 > /dev/dsp
  77
  78If you use OSS try:
  79sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp
  80
  81If you use arts try:
  82arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
  83
  84If you use mplayer try:
  85mplayer -radio adevice=hw=1.0:arate=96000 \
  86        -rawaudio rate=96000 \
  87        radio://<frequency>/capture
  88
  89Module Parameters
  90=================
  91After loading the module, you still have access to some of them in the sysfs
  92mount under /sys/module/radio_si470x/parameters. The contents of read-only files
  93(0444) are not updated, even if space, band and de are changed using private
  94video controls. The others are runtime changeable.
  95
  96
  97Errors
  98======
  99Increase tune_timeout, if you often get -EIO errors.
 100
 101When timed out or band limit is reached, hw_freq_seek returns -EAGAIN.
 102
 103If you get any errors from snd_usb_audio, please report them to the ALSA people.
 104
 105
 106Open Issues
 107===========
 108V4L minor device allocation and parameter setting is not perfect. A solution is
 109currently under discussion.
 110
 111There is an USB interface for downloading/uploading new firmware images. Support
 112for it can be implemented using the request_firmware interface.
 113
 114There is a RDS interrupt mode. The driver is already using the same interface
 115for polling RDS information, but is currently not using the interrupt mode.
 116
 117There is a LED interface, which can be used to override the LED control
 118programmed in the firmware. This can be made available using the LED support
 119functions in the kernel.
 120
 121
 122Other useful information and links
 123==================================
 124http://www.silabs.com/usbradio
 125
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.