No GNURadio Output on VirtualBox

I am working to get the gr-krakensdr block working however I have run in to some trouble. I went ahead and set up the VirtualBox as recommended by the wiki and reformatting the drive for more memory as was suggested here.
As the note in the VM says, I run the heimdall_only_start.sh file, then I run GRC, the flowgraph seems to run without any errors, there is a warning about: ‘vocoder_codec2_decode_ps - option_attributes are for enums only; ignoring’
And later when I try to run a warning about: ‘Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway’
But to my understanding these should not stop the flowgraph from creating a graph. When I try to run other flowgraphs in here there are no issues. I was wondering what I might be able to do to fix this?
If there is any extra info i can provide please let me know.

I am going through the troubleshooting page (07. KrakenSDR Troubleshooting · krakenrf/krakensdr_docs Wiki · GitHub)
And at the power supply test I am getting an error that when I try to run all 5 that my buffer size is not large enough.

After increasing the buffer size to 32MB using:
sudo sh -c ‘echo 32 > /sys/module/usbcore/parameters/usbfs_memory_mb’

It works!

1 Like

Thanks for posting your fix.

This is strange though, because the start script calls ./daq_start_sm.sh, which has sudo sh -c “echo 0 > /sys/module/usbcore/parameters/usbfs_memory_mb” in it. This basically allows unlimited buffer sizes, so it would have a similar effect.

It seems the error has come back. I have ran through the troubleshooting page but nothing seems to get the flowgraph working.
I run into the Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway
And then in the GRC terminal it should say something about sending a control signal, but it doesnt do that. This only happens in flowgraphs which use the KrakenSDR block. Was wondering if you had any ideas on ways to fix this.

The GNU Radio warning isn’t really relevant, that can be ignored.

Do you mean that the error stating that your buffer is is not large enough came back?

Try sudo sh -c “echo 0 > /sys/module/usbcore/parameters/usbfs_memory_mb”

Which will set the buffer size to unlimited

But it is strange that it’s not getting applied by the script on your machine.

So after some testing you seem to be correct that running that command was effectively doing nothing since the script was doing that automatically.
However now my question is what could be causing the issue.
Just to restate what I am running in to:
I start up VirtualBox
Run the ‘./heimdall_only_start.sh’ file
Open GNURadio on a new terminal window
Run a flow diagram
Then nothing seems to happen. The last prompt in GNU Radio is 'Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway’

The problem is that this happens 90% of the time, the 10% of the time it works the next line is something about sending a command signal. I have tried restarting the VM, restarting the DAQ, restarting the flowgraph, nothing needs to change, it feels random when it does work. Was wondering if you might have some insight into this. If there is anything I can send in to help give you a better picture, let me know.

What system are you running the Virtualbox image on? And did you set the Virtual box settings to use the USB 3.0 implementation?

It is most likely related to some issue between virtualbox and your particular system. Unfortunately not every system will be compatible either because the system is too slow, or has USB implementation issues.

Does the system work fine when you run the DOA software on a Raspberry Pi 4/5?

I’m experiencing the same issue but with a different setup:

My configuration:

  • KrakenSDRRaspberry Pi 4 (Run the ‘./heimdall_only_start.sh’ file)

  • PiVirtualBox Ubuntu VM (running GNU Radio) via Ethernet

  • Connection: TCP Source (port 5050) from Pi to VM

Problem:

  • GNU Radio on VirtualBox shows no output

  • TCP connection to Pi works (can ping, telnet to port 5050)

  • Heimdall DAQ on Pi runs fine

  • Data stream seems to be interrupted

Question:

Is this a VirtualBox compatibility issue even with Ethernet connection, or should I run GNU Radio directly on Pi instead of VM?

Thanks for any guidance!

krakenrf@krakenrf:~$ gnuradio-companion

Warning: vocoder_codec2_decode_ps - option_attributes are for enums only, ignoring
Warning: vocoder_codec2_encode_sp - option_attributes are for enums only, ignoring
<<< Welcome to GNU Radio Companion 3.10.1.1 >>>

Block paths:
/usr/share/gnuradio/grc/blocks
/usr/local/share/gnuradio/grc/blocks

Loading: “/home/krakenrf/Desktop/readIQ.grc”
/home/krakenrf/.local/lib/python3.10/site-packages/matplotlib/projections/init.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.
warnings.warn("Unable to import Axes3D. This may be due to multiple versions of "

Done

Loading: “/home/krakenrf/gr_heimdall_daq/gr-krakensdr/examples/kraken_fft_display.grc”

Done

Generating: ‘/home/krakenrf/Desktop/readIQ.py’

Warning: This flow graph may not have flow control: no audio or RF hardware blocks found. Add a Misc->Throttle block to your flow graph to avoid CPU congestion.

Executing: /usr/bin/python3 -u /home/krakenrf/Desktop/readIQ.py

/home/krakenrf/.local/lib/python3.10/site-packages/matplotlib/projections/init.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.
warnings.warn("Unable to import Axes3D. This may be due to multiple versions of "
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

GNU Radio is far too resource heavy to run on the Pi.

Did you ensure that you set the connection mode to eth in the settings?

How fast is your ethernet connection? It needs to be at least 1 gpbs without too much other network traffic to stand a chance.

My network has no other traffic but GNU Radio still can’t connect to Heimdall on Pi.

  • Ethernet: 1 Gbps, no other usage

  • Pi: Heimdall running, port 5000 listening

  • Config: Already set to “eth” in ini file

  • Issue: This used to work randomly after power reset of both receiver and Pi, but now even that doesn’t work anymore

What’s the network configuration issue? Thanks!