si470x.rst 5.1 KB

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