discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GnuRadio within docker container access to ettus/n310 requires host


From: Jeff Long
Subject: Re: GnuRadio within docker container access to ettus/n310 requires host mode network
Date: Wed, 19 Oct 2022 07:16:51 -0700

For UHD network-connected devices, it is possible the host mode is required, not sure if there is another solution. USB connected device do not require host mode, but do require the usb devices to be passed through (e.g., --device or -v)..

On Wed, Oct 19, 2022 at 6:09 AM M Esc <mescgroup@yahoo.com> wrote:
(similar cross post issued to uhd/usrp stack exchange)

I have a GNURadio/GNURadio Companion 3.10 on an Ubuntu 20.0.4 docker image, where the image is also loaded up  with the 4.10 UHD N310 libraries and osmocom libraries (and some Xterm stuff).  I'm running the container of the image on an Ubuntu 20.0.4 host.

I can connect my N310 (also running 4.10 UHD libs) to the host and ping the N310.
I can fire up the docker image as a container and ping the N310 from within the container.
When I run "uhd_find_devices" within the container, the command reports No UHD Devices found.
When I run GNR companion within the container and set up a USRP/UHD as a sink with a simple sine wave source, and try to run the blocks, it will fail.

However, if I run the container in the docker network=host mode, I can successfully run uhd_find_devices and see the N310's info and can successfully run the GNR companion with a simple USRP/UHD sink.

I had a similar experience running a nooelec USB SDR and a pluto USB SDR  on the same host, i.e. when attaching the USB radios and then running the container in network=host mode, I could run my GNR Companion blocks successfully, but only when in network=host mode.

So it would *appear* that the network=host mode is required to successfully run GNR (either headless or with GNR companion) is required.

I also set up and ran the sample non-GNR/headless container created by: https://hub.docker.com/r/openverso/ettus-uhd and found that I also had to add a network=host parameter to the commands listed on that page before I could successfully run a uhd_find_devices against my N310.

I'd prefer not to use host network mode for a number of reasons, so wondered if anyone else has experienced this apparent limitation and/or how they solved it.

By the way, our group considered trying to use a macvlan network rather than the host network mode, and that might help the N310 access problem, but we don't think that it will solve the same problem that we saw with the USB devices (nooelec/pluto).

Bottom line question: has anyone else run into the limitation of running gnuradio source/sink to an external SDR from within a docker container and being forced to use network=host mode?

Thanks
MR

reply via email to

[Prev in Thread] Current Thread [Next in Thread]