About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / video4linux / si470x.txt




Custom Search

Based on kernel version 3.2. Page generated on 2012-01-05 23:29 EST.

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

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.