Hi everyone,
I'm having problems making the audio output work because of a "RuntimeError: check topology failed on audio_alsa_sink(7) using ninputs=1, noutputs=0". I did spend a few hours searching the archives and the web, but no luck.
Hardware: RPi model 3, the signal comes from an RTL-SDR dongle (the error was reproducible with the gnu-radio and gr-osmosdr from the jessie distribution. I installed the latest just in case it made a difference).
Software: gnuradio 3.7.9 installed from jessie-backports, gr-osmosdr v0.1.4-72-g164a09fc (0.1.5git) built from sources, rtl-sdr built from sources.
The flow is very simple, I want to get the audio going before doing the real work (for testing purposes, I tuned to an NBFM weather station). I'm still a beginner so maybe something is not correct, though. See further down for a note on the Audio Sink.
I would appreciate some guidance as I don't understand the nature of the problem. Some were saying that something might be wrong with the audio sample rate, but it's not clear to me if that's the case. I also checked in the Audio Properties (right-clicking on the speaker icon top-right) that it's the Analog not HDMI output that's selected. Also, there is no other program using the sound card.
Many thanks in advance,
JL
Here's the output when I execute the program:
Generating: '/home/pi/top_block.py'
Executing: '/usr/bin/python -u /home/pi/top_block.py'
Using Volk machine: neon_hardfp_orc
gr-osmosdr v0.1.4-72-g164a09fc (0.1.5git) gnuradio 3.7.9
built-in source types: file fcd rtl rtl_tcp rfspace airspy redpitaya
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
gr::log :INFO: audio source - Audio sink arch: alsa
len(audio_taps) = 2313
gr::log :ERROR: audio_alsa_sink0 - [plughw:0,0]: set_channels failed: Invalid argument
Traceback (most recent call last):
File "/home/pi/top_block.py", line 185, in <module>
main()
File "/home/pi/top_block.py", line 174, in main
tb.start()
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/top_block.py", line 109, in start
top_block_start_unlocked(self._impl, max_noutput_items)
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 4876, in top_block_start_unlocked
return _runtime_swig.top_block_start_unlocked(*args, **kwargs)
RuntimeError: check topology failed on audio_alsa_sink(7) using ninputs=1, noutputs=0
>>> Done (return code 1)
Based on some of the results when searching for the error, I tried both leaving the audio device empty or putting plughw0,0 (as suggsted by the block's documentation). I also tried hw:0,0 without any success either.
Below are the audio devices:
address@hidden:~/gr-osmosdr/build $ cat /proc/asound/cards
0 [ALSA ]: bcm2835 - bcm2835 ALSA
address@hidden:~/gr-osmosdr/build $ aplay -L
Discard all samples (playback) or generate zero samples (capture)
bcm2835 ALSA, bcm2835 ALSA
bcm2835 ALSA, bcm2835 ALSA
Direct sample mixing device
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample mixing device
bcm2835 ALSA, bcm2835 ALSA
Direct sample snooping device
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct sample snooping device
bcm2835 ALSA, bcm2835 ALSA
Direct hardware device without any conversions
bcm2835 ALSA, bcm2835 IEC958/HDMI
Direct hardware device without any conversions
bcm2835 ALSA, bcm2835 ALSA
Hardware device with all software conversions
bcm2835 ALSA, bcm2835 IEC958/HDMI
Hardware device with all software conversions