About ConnMan

What is ConnMan?

The Connection Manager (ConnMan) project provides a daemon for managing internet connections within embedded devices running the Linux operating system. ConnMan is designed to be slim and to use as few resources as possible, so it can be easily integrated. It is a fully modular system that can be extended, through plug-ins, to support all kinds of wired or wireless technologies. Also, configuration methods, like DHCP and domain name resolving, are implemented using plug-ins. The plug-in approach allows for easy adaption and modification for various use cases.

Provided Components:

  • connman The core Connection Manager daemon (connmand) and plug-ins for Ethernet, WiFi, Bluetooth, DHCP (udhcpc and dhclient), resolvconf, DNS proxy, and PolicyKit.
  • connman-gnome The GTK+-based user interfaces for an applet and a properties dialog.

ConnMan uses modern infrastructure, like D-Bus, udev and netlink, to provide a native integration into the operating system. While udev and netlink are used on the system level to communicate with networking devices, the whole separation, between system daemon and user interface, is done through D-Bus.

Required external components:

  • wpa_supplicant (with D-Bus extensions) for WiFi access
  • BlueZ for Bluetooth PAN support
  • dhclient or udhcpc for DHCP
  • resolvconf for the domain name resolver (optional)
  • PolicyKit for security policies (optional)
  • udev for advanced device detection (optional)

ConnMan Project Maintainers:

Marcel Holtmann and Jukka Rissanen