[Error] Failed to retrieve list of network interfaces on Raspbian Buster

I’m implementing snap which uses WebRTC under the hood. When I run this snap on Ubuntu 19.10 (amd64) all works fine, but when I try run it on RaspberryPi 3 with Raspbian Buster I get following error in application logs:

Failed to retrieve list of network interfaces:Operation not permitted

I think this error comes from libnice, and it can’t start gather ICE Candidates, and WebRTC connection is not working.

I’ve tried solve this problem by add network-status and network-bind plugs to snapcraft.yaml, but this didn’t help.

Maybe I need add some else plug to have ability enum network interfaces from snap?

This sounds like Raspberry Pi 3 Ubuntu Core 18 network-control interface issue (which is https://bugs.launchpad.net/snappy/+bug/1859084).

1 Like

I’ve tried run my snap with --devmode on Raspberry and as expected it works fine. So it definitely some permission issue… Also, I’ve disabled upnp support in libnice, and don’t see above error in logs anymore, but unfortunately gathering Ice candidates still not working completely…
Can someone please give me any hint how to find out what exactly permission it missing?

One more find: the problem come from getifaddrs use. If I disable use this function call in libnice, all work fine - libnice starts use other way get network interfaces, which don’t have permission issue.

I’ve created issue on libnice: https://gitlab.freedesktop.org/libnice/libnice/issues/99