Welcome to Linux Forums!

With a comprehensive Linux Forum, information on various types of Linux software and many Linux Reviews articles, we have all the knowledge you need a click away, or accessible via our knowledgeable members.

Linux Forum ArticlesLinux ForumsLinux Forum DownloadsLinux Hosts
Home|Register|FAQ|Member List|Calendar|Unanswered Posts|Forum Rules|Today's Posts|Advanced Search|
SEARCH FOR IN
Go Back   Linux Forums > GNU Linux Zone > Peripherals / Hardware
Reload this Page Make USB radio device work - panic, please help!
Linux Forums
Linux Forums
Welcome To The Linux Forums!
Welcome to Linux Forums. We pride ourselves in being one of the largest Linux communities on the web, we encourage you to REGISTER on our forums and participate in the community. There are over 150,000 members ready to answer your questions. JOINING US today will allow you to make new posts, get support, send messages to other members and submit downloads to our downloads directory and many other great features!

Peripherals / Hardware Is your hardware supported? Having trouble getting some hardware working? Post here!

Reply
 
Thread Tools Display Modes
Old 05-04-2008   #1 (permalink)
mrtibs
Just Joined!
 
Join Date: Mar 2008
Posts: 9
Make USB radio device work - panic, please help!

Hi,

I have a USB radio device that didn't come with Linux drivers. When I plug it in, under the Device Manager, I can see the USB device: audio interface (for sound) and HID interface (for tuning). I can also see a new file: /dev/dsp1.

I opened /dev/dsp1 with VLC. It worked the first time, but now VLC plays only static! I tried it on another Linux machine and same thing happened: VLC played it, I closed VNC, unplugged the device, restarted VLC, plugged in the device and VLC couldn't play it any more (/dev/dsp1 was opened successfully, but you can hear only static).

I thought this is a VLC issue, but I don't think it is. When you plug it in for the first time, some files must be written somewhere on the hard drive. I poked around /sys/devices/pciXXX, but I don't know enough about Linux device drivers to understand what's in there.

I have to get this solved for a school project and I'm panicking. I couldn't get an answer for this on the VLC forums or the Ubuntu Multimedia forums, so I'm trying here.

Thanks,
Tiberiu
mrtibs is offline   Reply With Quote
Old 05-04-2008   #2 (permalink)
kakariko81280
Linux Enthusiast
 
Join Date: Apr 2004
Location: UK
Posts: 517
what is the make and model of device you are using. A link to the manufacturer's website would be handy too.

Once we have that we may be able to help you out.

Chris...
__________________
DRM keeps an honest user loyal
kakariko81280 is offline   Reply With Quote
Old 05-04-2008   #3 (permalink)
mrtibs
Just Joined!
 
Join Date: Mar 2008
Posts: 9
Hi Chris,

Thanks for the reply. The device's web page is Mixed-Signal ICs - USB FM Radio Reference Design

They have some documentation, but it is all for Windows (and they don't provide too much info). They even provided the player's source code (Visual C++). I've been trying to understand the code and translate it to Linux, but I'm on a big time crunch. What I'm trying to do is set the frequency of the radio device on a Windows machine to some radio station and then open the audio device (/dev/dsp1) on Linux with an ALSA lib application. I wrote the ALSA lib application, but all I get is static. How come VLC played it for the first time, but now it plays static?!

I don't think the documentation will help, but you might know better.

Thanks so much,
Tiberiu
mrtibs is offline   Reply With Quote
Old 05-04-2008   #4 (permalink)
kakariko81280
Linux Enthusiast
 
Join Date: Apr 2004
Location: UK
Posts: 517
From your description it seems like you might be OK. The device has worked when it's plugged in, which means the drivers work and audio works. All you need is a tool for tuning it in.

fmtools might sort you out, check the package repositories for your distribution in the first instance.

There are bigger and better tools available, however I'm going with the idea that simplicity means a better chance of it working right now, which seems to be what you are after.

Let us know how you get on,

Chris...
__________________
DRM keeps an honest user loyal
kakariko81280 is offline   Reply With Quote
Old 05-05-2008   #5 (permalink)
mrtibs
Just Joined!
 
Join Date: Mar 2008
Posts: 9
Hi Chris,

Thanks again for the reply. I did download, compiled and ran fmtools, but I get the following error:
ioctl VIDIOCGAUDIO: Invalid argument

I don't know too much about v4l, but I don't think the device is "v4l ready". Even the documentation says the device was built for Windows only. I'm amazed that a /dev/dsp1 device even shows up on Linux and that VLC can play it. In the long run I will learn about device drivers and I will write a driver for it, but for now I'm looking for an easy way out.

My question is: why did VLC play /dev/dsp1 and I could hear a clear signal, and why do I hear static now? What information about the device was "cached" the first time when I played it with VLC?

Thanks,
Tiberiu
mrtibs is offline   Reply With Quote
Old 05-05-2008   #6 (permalink)
kakariko81280
Linux Enthusiast
 
Join Date: Apr 2004
Location: UK
Posts: 517
I'm afraid I've no idea why it worked first time and then not afterwards. The only difference I can think of is that when you first plug it in, the driver module gets loaded. Second time around the module will already be in memory.

The last few lines demsg will show you which module is being used when you plug it in. You can try removing it with

Code:
modprobe -r module_name
Replacing module_name with the actual module reported by demsg. I would expect the module you are after to be radio-si470x. The Linux Kernel Mailing List announcement of this module indicates that it is the driver for the Si4701 chip, which is the one used by your receiver.

Even though the documentation says the device is windows only, so does every piece of hardware I own. It should be possible to make it work.

You could try another radio app, such a kradio to see if you can get better information out of it.

Let us know how you get on,

Chris...
__________________
DRM keeps an honest user loyal
kakariko81280 is offline   Reply With Quote
Old 05-06-2008   #7 (permalink)
mrtibs
Just Joined!
 
Join Date: Mar 2008
Posts: 9
Hi Chris,

Stupid me. I've been trying so hard to get it to work that I haven't even realized that there's a driver out there for this device. In fact, today I contacted SiLabs and I asked them if there is a Linux driver for their device. They said: absolutely no!!!

Anyway, I'm looking at the source code for this device driver and I'm having some trouble compiling it. I'm trying to compile it as a kernel module (driver) but I think it's meant to be compiled with the kernel.

Until I figure it out, I've been trying your idea. Btw, I don't have the radio-470sx module in my kernel. The release date for this module is January 2008, and my Ubuntu Gutsy 7.10 doesn't have it. Instead I think my OS is using a generic sound module: snd-usb-audio. In fact, this is the output of dmesg:

[ 180.524000] usbcore: deregistering interface driver snd-usb-audio
[ 215.132000] usb 3-1: USB disconnect, address 3
[ 219.820000] usb 3-1: new full speed USB device using uhci_hcd and address 4
[ 219.984000] usb 3-1: configuration #1 chosen from 1 choice
[ 220.032000] hiddev96: USB HID v1.11 Device [SILICON LABORATORIES INC. FM Radio] on usb-0000:00:1d.2-1
[ 220.140000] usbcore: registered new interface driver snd-usb-audio

So, I tried: sudo modprobe -r snd-usb-audio. It worked, so I unplugged the device, plugged it back in, started VLC and got: static! Argh!

My project is due in 2 days and I think I'll have to fake this part. Thanks for all the help. I really appreciate it.

Tiberiu
mrtibs is offline   Reply With Quote
Old 05-06-2008   #8 (permalink)
kakariko81280
Linux Enthusiast
 
Join Date: Apr 2004
Location: UK
Posts: 517
Drat! You are right, there is a bug in the code that stops it being compiled as a module. I'm afraid fixing it is beyond me by quite some way.

Sorry I couldn't help you make it work. Good luck with the rest.

Chris...
__________________
DRM keeps an honest user loyal
kakariko81280 is offline   Reply With Quote
Old 05-08-2008   #9 (permalink)
mrtibs
Just Joined!
 
Join Date: Mar 2008
Posts: 9
Thanks for all the help Chris.

Tiberiu
mrtibs is offline   Reply With Quote
Old 3 Weeks Ago   #10 (permalink)
icewalker
Just Joined!
 
Join Date: Jun 2008
Posts: 1
(Silabs) USB FM Radio Reference Design: Basic Explanation

This is a basic idea about this situation:

The USB FM Radio from Silabs is a nice little device, unfortunately Silabs does not supply any support to let it work under Linux... dommage.

In the freely available application note [AN264.pdf] on Silabs WEB site, it's stated that the device will enumerate four USB interfaces. Three are used to control the Audio and one is a HID interface which allows to control the FM receiver...

Fortunately the Audio part seems to be compliant with the USB::AUDIO profile, so the latests Linux kernel might handle it correctly. If the device [/dev/dsp1] is created this is the case. What is actually missing is the HID control software to set and read the synthesized frequency, read the RDS data, etc. I've googled a little and this specific software has still to be written, mainly to tune the frequency and be able to hear something on the audio stream...

Second step is to add the feature (available in VLC) which copies the audio stream from [/dev/dsp]1 to the audio device output.
Then you get exactly the same thing as the application provided by Silabs.
icewalker is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


All times are GMT. The time now is 01:19 AM.

Powered by vBulletin 3.6.8 ©2000 - 2007, content relevant URLs by vBSEO, Property of Core Root.

Content Relevant URLs by vBSEO 3.0.0