Why NetworkManager over ConnMan?

Hi! We’re currently running 75 or so devices in production and we’re looking to support cellular connections in addition to WiFi soon. We’re not currently using BalenaOS but we’re pretty heavily looking into it.

I read this line in the docs and I was hoping to get more background. All of our devices are currently using ConnMan so I was curious what motivated the switch to NetworkManager. What specifically was ConnMan lacking with regards to cellular support? If possible we’d like to stick to ConnMan!

With balenaOS 2.0, connectivity management changed from ConnMan to NetworkManager. NetworkManager allows balenaOS more flexibility when configuring the network setup, and, in conjunction with ModemManager, allows balenaOS to offer first class GSM/Cellular support.

Hi,
being relatively new to balena, I do not even know what pre 2.0 networking was like or how the change to NetworkManager was motivated, but balena OS is now heavily relying on / integrated with network manager.
I have forwarded your requests to the back end team to supply a more detailed answer.
Regards
Thomas

Hello,

The main driver in switching away from conman was the modem support. Connman needed a lot of work to make our targeted modems work while NM provided support through ModemManager out of the box. There were other reasons as well - for example, a richer dbus interface that users can connect to from the containers. Also, NM has additional features that could be used in the future as needed. For example, the dispatcher mechanism that lets the OS hook into connection states. I’m not saying that all these were/are completely lacking in connman. Since this switch, both network manager providers came pretty much on par in terms of functionality. That being said though, The main selling point for us still is the integration with ModemManager which works in most of the cases out of the box with our clients’ devices.

Andrei

Thanks for the detailed response Andrei! We’ll start playing around with NM more and try porting some of our networking configuration over to that.