Replace Network Manager with ConnMan


Before you get started, seriously consider making a timeshift (or other) backup first. That way if you do not like the results of the changes you have made then you can easily roll the changes back. Backups are an excellent precaution, and should always be performed before making any major changes to your system.

How to install ConnMan

Switching from Network Manager to ConnMan:

This is a general guide to replacing Network Manager with ConnMan. This guide explains how to setup a WiFi connection with ConMan. ConnMan can of course also be used with a LAN connection, but is more widely used with WiFi.

Start the process by installing ConnMan alongside NetworkManager.

If you require Bluetooth and VPN functionality make sure you have bluez and openvpn installed as well.

Install connman:

sudo pacman -S connman

There are various GUI frontends for ConnMan. The one I recommend is cmst (see the ConnMan Archwiki link for other GUI alternatives).

Install cmst:

sudo pacman -S cmst

Enable/Start ConnMan and temporarily shutdown Network Manager with these commands:

sudo systemctl enable connman.service
sudo systemctl start connman.service
sudo systemctl stop NetworkManager
sudo systemctl daemon-reload
cmst &

Once you have started cmst you will need to change various cmst settings to enable your WiFi connection. CMST is very different than Network Manager, so it may take you a bit to figure out how to get your connection set up properly. The following recommendations are only my own personal cmst setting preferences. Your WiFi connection may require different settings to connect properly.

Ensure you have the cmst tray icon set to be "Shown" in your systray option settings.

Then, right click on the cmst system tray icon:

Select "Technologies", and then deselect "Wired" and ensure WiFi is selected on the menu.

Then, open the cmst control panel by left clicking on the cmst tray icon.

In the cmst Status tab:

Be sure your Wifi's "Power" button is in the On position.

Under your Wifi's "ID:Password" field you need to press the ID:Pass button and then enter your Wifi password.

In the cmst Wireless tab:

Click on your prefered connection's name from the list of those available.

Then click on the Connect button.

In the cmst Preferences tab, enable the following settings:

Use Start Options ---> Start Minimized

Retain state

Enable ToolTips (Interface)

Enable System Tray Popups

Notification Daemon

Retry Failed Connection

Enable Autostart

Hopefully you are now connected and you may now close the cmst configuration page.

Once you have connman and cmst installed and working properly you can disable Network Manager in a more permanent manner.

Mask (completely disable) Network Manager:

sudo systemctl mask NetworkManager.service

Mask (completely disable) Network Manager dispatcher:

sudo systemctl mask NetworkManager-dispatcher

If you have the NetworkManager-wait-online.service enabled, then mask it as well:

sudo systemctl mask NetworkManager-wait-online.service

Restart your computer after making changes to the services.

If you want to switch back to Network Manager again in the future the changes are easily reversible. Running any of the above commands you used again with "unmask" instead of "mask" will re-enable the NetworkManager services. Then simply disable or uninstall connman and cmst and your system should be returned to its original state.

For more in depth information on Connman refer to the Archwiki:

Optional step: replace wpa_supplicantant with iwd.

IWD is the new replacement for wpa_supplicantant (now used by default in Arch Linux). ConnMan works well in conjunction with IWD. You can easily test iwd in place of wpa_supplicant by following the steps below:

sudo pacman -S iwd 
sudo systemctl stop wpa_supplicant
sudo systemctl mask wpa_supplicant
sudo systemctl enable --now iwd.service
sudo systemctl daemon-reload
sudo systemctl restart connman.service

IWD is not required to use ConnMan. It may be used with either ConnMan or Network Manager to replace the wpa_supplicant.

If you would like to return to using wpa_supplicant simply reverse the process:

sudo systemctl stop iwd.service
sudo systemctl mask iwd.service
sudo systemctl unmask wpa_supplicant
sudo systemctl enable --now wpa_supplicant
sudo systemctl daemon-reload
sudo systemctl start connman.service

You can also simply restart your computer to be sure all changes have been applied.

Issue with wifi dropping connection every 20 minutes
My Network-Manager is slow and doesn't connect to WPA2 802.1x wifi
[Stable Update] 2019-08-13 - Kernels, XFCE 4.14, KDE, LibreOffice 6.3, Discord, Mesa
RTL8192EE: unstable wifi on a fresh install
Networking issue with Connman (can't access websites, can't ping)
[SOLVED] - Network Manager v1.20 bug corrected by downgrading
BCM4313 - Broadcom Wi-Fi - Which Driver to use?
BCM43142 - no Wifi after computer suspends
wifi drops
NetworkManager intermittant failure
NetworkManager can't brings me to wireless network, but I can't install wicd. How can I solve this problem?
wifi drops temporarily after waking from sleep
NFS not mounting on login
[SOLVED] - Network Manager v1.20 bug corrected by downgrading
NetworkManger nm-applet alternative?
Surface Pro 3 loses network connection randomly
NetworkManager Applet driving me crazy
wifi isn't working again in Lenovo g580
[SOLVED] Intel 82579LM - Ethernet Comes and Goes
Wifi randomly disconnects
Wicd - WIFI connection Issues (slow speed and inconsistency)
Network Drops with Qualcomm Atheros QCA6174
Wifi slow to wake-up / connect after suspend
Slow and inconsistent Wi-Fi speeds on Manjaro
DHCPCD failing on boot
Wireless connection drops after some time on mesh networks (eduroam)
Can't get the network to work
Qualcomm Atheros QCA6174 isn't working on Manjaro 19.0
Surface Pro 6 88W8897-WiFi download speed is very slow
Limited connectivity issue
[Stable Update] 2020-03-14 - Kernels, Plasma 5.18.3, KDE Frameworks 5.67, KDE Apps 19.12.3, Firefox, Kodi
WIFI doesn't work - Help with gutting Network and installing it anew from live system
Network icon does not react
Wifi randomly disconnects on kde.
Cannot detect wifi networks around
WiFi Issues - MacBookPro BCM4322
WiFi Issues - MacBookPro BCM4322
RTL8822be WiFi not detecting
My AR9485 is super weak with manjaro
Network manager don't work anymore - kde wallet asking for password
Eduroam network - Why does network manager use old key_mgmt assignment
[SOLVED] Problem with wpa_supplicant on my Dell XPS 13 (Broadcom BCM4352)
Can't connect to wifi since last update (Network Manager downgrade fixed)
Intel 8260 Wifi - No network connections after recent update
R8153 - Ethernet connection drops

Great tutorial. I'm going to try it today.

Sick of NMs silliness.

1 Like

add instructions to replace wpa_supplicant with iwd also

1 Like

IWD works very well with ConnMan, but it also brings a lot of extra complications in the install procedure. It is best to uninstall wpa_suplicant with IWD (and then reversing the install process is not so minor). I just thought I would keep things simple for anyone wishing to test out Connman. They can always read the Archwiki procedure for installing IWD if they are so inclined. Perhaps I'll do additional instructions for that later on.


I have now added optional steps to mask wpa_supplicant and replace it with iwd to my opening post/tutorial.

What are the benefits of using ConMan instead of the Networkmanager?
Before I try it I would like to know if it is worth the hassle.

1 Like

If you use wifi, a lot of people have issues with Network manager's frequent changes that often introduce bugs. The major complaint with some adapters is dropped connections. Some wifi adapters have much better connectivity with wicd or connman.

Unless you are experiencing issues then there's no pressing reason to switch. Yesterdays update introduced a NM bug for me that broke my wifi. I had to downgrade NM to restore connectivity. I don't like being in a partial update situation, so I figured I'd rather switch than fight.

1 Like

Apart from the problems you (and others) experienced is there also a different reason why you might switch? I mean something like:
more stable connection, maybe even a faster connection, etc.

Yes, for some people that experience regular dropped connections connman may completely eliminate the problem. Connman also starts in 2 seconds compared to an average of 10 for NM. For some people that is an advantage when mounting shares as the connection is up sooner.

I did not really mean to have the connection up and running faster, but a higher throughput (more Mb/s).

I don't get drop-outs normally. What I get is long waits for connection times when I turn the computer on and if I'm switching to my secondary wifi, it takes forever for it to show all the connections. Forever in this case is like 10 - 30 seconds.

This seems to be another excellent bit of work from you, for which you should be roundly congratulated. The following is not in any way intended to be criticism of your work, but a "fwiw".

There's no WiFi in my Tower, but there is of course in Lappy. Lappy has Manjaro KDE + Enlightenment. Lappy's KDE's NM simply never ever gives me any WiFi hassles [i've actually marvelled at it, coz in prior years other distros' NM WiFi were horrible (eg, Mint MATE)]. Otoh Lappy's E uses ConnMan iirc, & its WiFi reliability is, frankly, distinctly aggravating. To be fair though, it's been probably at least a year since i last used Lappy's E [i mean, Plasma is just so Great, *wink*], so maybe in the meantime its CM has become much better...?

1 Like

I wouldn't think faster speeds are likely, but You never really know till you try I guess. :man_shrugging:

use iwd then it connects faster than wpa_supplicant

wifi is managed
by iwd or wpa_supplicant
connman or network manager only act as intermediate

Check on which connman frontend your E install is using. Generally cmst is the most highly regarded, but it is a Qt app so perhaps a different frontend is used on that install. Maybe there are some performance differences there. Not sure because I have only used it in Qt based DE's. That being KDE and LXQt environments.

The change over to connman for Frank did not go well. :rofl:
I spent about an hour tinkering with it and I've come to the conclusion that it does not like my usb wifi.
So I switched back to NetworkMismanager.

However, it went perfectly on Craptop. The router it connects to is literally 10 feet away but through a concrete wall and it drops connection all the time with NetworkMismanager.
So I followed the tutorial and :boom:! No more dropped connections! :partying_face:

1 Like

Awesome, glad to hear someone found this useful. Good for you.

1 Like

Boy, that interface for cmst is very different. Takes a bit to get used too.

Yes it does, and it probably confuses the hell out of most used to Network Manager. That's kind of why I mentioned it might take some time to figure out how it worked.

Once you've used it for a bit it seems rather normal, but it is a bit of a shocker the first time you use it.

I don't see the section on uninstalling wpa_supplicant.

The recommendation comes from ConnMan page of Arch wiki:

I disabled and masked wpa_supplicant, which also works. :slight_smile:


Forum kindly sponsored by