Search This Blog

Wednesday, September 7, 2011

Common errors when migrating to or using NM-0.9

I have seen people having problems to migrate from NetworkManager-0.8 to 0.9, here are some tips to solve those problems:

  • NM-0.9 requires wpa_supplicant-0.8. You need to add the entries  CONFIG_CTRL_IFACE_DBUS=y, CONFIG_CTRL_IFACE_DBUS_NEW=y and CONFIG_CTRL_IFACE_DBUS_INTRO=y to wpa_supplicant's .config file before compiling it. Alternatively, you can patch wpa_supplicant-0.7.3 to make it support the new DBus API, which is what NM-0.9 really requires.
  • You cannot have more than one instance of wpa_supplicant running or NM's wifi support will be unstable or even not work. wicd, ifplugd, net_applet are some programs that also start wpa_supplicant, which can cause this problem.
  • wpa_supplicant have to be started with the '-u' parameter (enable DBus support) or NM's wifi support will not work at all. nmcli will return "unmanaged" for wifi interfaces when this happens.
  • NM supports most network interfaces types nowadays, you do not need to mix it with other network manager software (wicd, net_applet, ifplugd, etc). Most of the time those programs will conflict with NM and things may not work. So choose one of them and disable the others.
  • Some distributions disables NM support for one or more specific network interfaces. If you are migrating from one of the network manager software cited in the last item you must make sure NM is enabled to manage your network interfaces. Usually the file /etc/network/interfaces is reponsable for this configuration. In Gentoo, the distribution I use, the file is /etc/conf.d/net.
  • There are two versions of Plasma NM, one for NM-0.8 and other for NM-0.9. Of course, you must use the correct one for you NM installation.
  • If the message "We need NetworkManager version >= x.y.z to work, found ''" appears in Plasma NM's main window that probably means NM is not running (the version found is an empty string).
  • Make sure to use the correct Solid's NM backend for your network manager software. Solid supports NetworkManager 0.7/0.8, NetworkManager 0.9 and Wicd). Go to systemsettings -> Information Sources and make sure you are using the NetworkManager-0.9 backend.
  • There is a "Fake NetworkManager-0.9" backend introduced in KDE SC 4.7.1. That backend provides network status information to kdelibs's Solid::Networking::status() call and only network status information, which is not enough to make Plasmsa NM/nm09 work. If that backend is listed as the first in systemsettings -> Information Sources you must change the configuration to make NetworkManager-0.9 backend to be the first. The reason to introduce that backend in 4.7.1 is because kdelib's Solid::Networking API is not able to use the NM backend in Plasma NM/nm09 repository (binary compatiliby issues).
  • The shared connection feature does not work if you are running a name server (bind, dnsmasq) or a dhcp server (dhcpd) in the same computer. That is because NM needs to start dnsmasq with the correct parameters, since dnsmasq is a name server it needs to bind to port 53. If there is another process bound to that port (bind or another dnsmasq instance) dnsmasq is going to fail to start. dnasmasq is also a dhcp server, running two dhcp servers in the same computer can cause conflicts that can prevent the shared connection to work properly.
  • Sometimes reloading the wifi driver can make shared connections work.

No comments: