Connman
| Summary |
|---|
| Covers installation and configuration of ConnMan – an alternative to NetworkManager. |
| Related |
| Network Configuration |
| Wireless Setup |
ConnMan is an alternative to NetworkManager and Wicd and was created by Intel and the Moblin project for use with embedded devices. ConnMan is designed to be light on resources making it ideal for netbooks, and other mobile devices. It is modular in design takes advandage of the dbus API and provides proper abstraction on top of wpa_supplicant. ConnMan currently has plugins available for:
- WiFi
- Ethernet
- Bluetooth (Through bluez)
- WiMAX
- VPN's (Through the connman-vpn.service)
It is typically used for wireless networking and being plugin based it is extremely fast at resolving connections. After setup you may wish to check for yourself with systemd-analyze blame to see the difference in performance compared to other network managers.
Contents |
Installation
Install connman from the official repositories.
Configuring
To control ConnMan as a regular user, add these lines to /etc/dbus-1/system.d/connman.conf under the policy user="root" block.
<policy group="network">
<allow send_destination="org.moblin.connman"/>
<allow send_interface="org.moblin.connman.Agent"/>
<allow send_interface="org.moblin.connman.Counter"/>
</policy>
Usage
First enable and start the connman daemon service.
Desktop clients
ConnMan only has two working panel applets and a dmenu client:
- EConnman — Enlightenment desktop panel applet.
- ConnMan-UI — GTK+ client applet.
- connman_dmenu — Client/frontend for dmenu.
Currently the GTK client is not 100% stable however it is good enough for day-to-day usage. To use it just add connman-ui-gtk to one of your startup files, e.g: autostart for Openbox.
Using the command line client
As of version 1.7 connman has a standard command line client connmanctl.
To scan the network connmanctl accepts simple names called technologies. To scan for nearby WiFi networks:
$ connmanctl scan wifi
To list the available networks found after a scan run:
$ connmanctl services
*AO MyNetwork wifi_dc85de828967_68756773616d_managed_psk
OtherNET wifi_dc85de828967_38303944616e69656c73_managed_psk
AnotherOne wifi_dc85de828967_3257495245363836_managed_wep
FourthNetwork wifi_dc85de828967_4d7572706879_managed_wep
AnOpenNetwork wifi_dc85de828967_4d6568657272696e_managed_none
To connect to an open network simple use the enter the second field beginning with wifi_:
$ connmanctl connect wifi_dc85de828967_4d6568657272696e_managed_none
You should now be connected to the network. Check using ip a or connmanctl state.
Settings
Settings and profiles are automatically created for networks the user connects to often. They contain feilds for the passphrase, essid and other information. Profile settings are stored in directories under /var/lib/connman/ by their service name. To view all network profiles do:
# cat /var/lib/connman/*/settings
Hardware
Various hardware interfaces are referred to as Technologies by connmanctl. To interact with them one must refer to the technology by type.
Technologies can be toggled on/off with:
$ connmanctl enable technology_type
and:
$ connmanctl disable technology_type
Example:
This will toggle wifi off $ connmanctl disable wifi
To list available technologies run:
$ connmanctl technologies
To get just the types by their name one can use this one liner.
$ connmanctl technologies | grep "Type" | awk '{print $NF}'
See also
For further detailed information on ConnMan refer to this documentation: http://git.kernel.org/cgit/network/connman/connman.git/plain/doc/overview-api.txt?id=HEAD