Built GNUradio from git on Debian Testing AMD64 this afternoon, and
intending to use it with a Funcube Dongle and gr-fcd. I am having some
difficulty with the ALSA sink and an ICE1712 [M-Audio 2496] sound card.
I created a very simple flow graph with a sine wave Signal Source
straight in to an Audio Sink. When I try to execute it, I get:
Traceback (most recent call last):
File “/home/alex/downloads/radio/gr-fcd/apps/top_block.py”, line 118,
in
tb.Run(True)
File
“/usr/local/lib/python2.6/dist-packages/grc_gnuradio/wxgui/top_block_gui.py”,
line 72, in Run
if start: self.start()
File
“/usr/local/lib/python2.6/dist-packages/gnuradio/gr/top_block.py”, line
97, in start
self._tb.start()
File
“/usr/local/lib/python2.6/dist-packages/gnuradio/gr/gnuradio_core_runtime.py”,
line 1480, in start
return _gnuradio_core_runtime.gr_top_block_sptr_start(self)
RuntimeError: audio_alsa_sink(3): insufficient connected input ports
(10 needed, 1 connected)
Done
I have connected an old USB sound card, which becomes hw:2,0 and
pointed it at that, and it works fine. So there seems to be some kind of
incompatibility between gnuradio and this sound card. Where is the best
place to start looking into what the issue might be?
I suspect this has nothing to do with ALSA or the ICE1712 driver within
ALSA, since that message comes from the flow-graph executor.
My suspicion is that you typoed at some point in your flow-graph
creation, and created a sink with 10 input ports. From the perspective
of Gnu Radio, one sound-card is the same as another.
–
Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
So, the audio_alsa_sink.cc module queries the ALSA subsystem for the
min_chans that it offers, and configures the I/O configuration for
Gnu Radio accordingly. Near as I can tell, your reported error
indicates that the ALSA driver is reporting that the minimum number of
supported channels is 10, which is a bit odd. No, it’s very odd. I
can imagine a card only supporting stereo input, and not mono. But
a minimum of *10" channels? That sounds like a bug in an ALSA driver
to me.
–
Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
On Sun, 17 Jul 2011 19:36:50 -0400, Marcus D. Leech wrote:
Here’s a discussion of a strongly-related issue with the M-Audio 2496
that seems to imply that the driver only offers 10 channels, not the
conventional ‘2’, and so things that would ordinarily expect ‘2’
get astonished as a result:
OK thanks for that. I guess I should be able to craft an asoundrc that
creates a virtual device with 2 channels that just points at the right
place and gnuradio will be happy.
Here’s a discussion of a strongly-related issue with the M-Audio 2496
that seems to imply that the driver only offers 10 channels, not the
conventional ‘2’, and so things that would ordinarily expect ‘2’ get
astonished as a result:
On Mon, 18 Jul 2011 19:20:55 +0200, Volker S. wrote:
Here is an example that works for an Delta M44 card for input and
output
This card uses the snd_ice1712 module.
Thanks for your help. I feel I must be getting closer; I specify
SDR1000Play as the sink device, and I can now execute the simple flow
graph I created! However, all I get is a click when I start the block,
and a click when I end it. But it’s coming out of the correct speakers,
at least.
There’s a simple example C++ NFM decoder with gr-fcd:
gr_fir_ccf: using 3DNow!
terminate called after throwing an instance of ‘std::runtime_error’
what(): audio_alsa_source(2): insufficient connected output ports
(12 needed, 2 connected)
Aborted
Somehow it’s not fooled by the .asoundrc, but I can substitute
audio_make_sink(rate,“hw:2,0”); and decode NFM out of a USB sound card.