NetworkManagement
Template:I18n/Language Navigation Bar
Introduction
On several Linux distributions, the NetworkManager daemon provides user-configurable control of network connections. In KDE, the KNetworkManager (KDE3) and Network Management (KDE4) are the main user interfaces to NetworkManager.
Bugs
Reporting Bugs
To report a useful bug against Network Management, provide the following items of information:
- Your distro version
- The version of the Network Management applet (NetworkManager-kde4.rpm on openSUSE, plasma-applet-networkmanager on kubuntu)
- The version of the NetworkManager package
- Your network hardware (use lshal to find this out)
- A system log from NetworkManager during the connection attempt
- for openSUSE: /var/log/NetworkManager
- for kubuntu: /var/log/syslog
- for fedora: /var/log/messages
- For wireless networks:
- Is it using a hidden SSID?
- Wireless security type: WEP/WPA-PSK/WPA-EAP?
- Key length
- Key type (passphrase or hex for WEP)
- Ciphers (TKIP/AES)
- Auth mechanisms (TLS/TTLS/PEAP/...)
- For mobile broadband:
- hardware
- driver in use (see dmesg when you connect the hardware)
- network in use
- network type (GSM/CDMA/UMTS)
- apn used, if any.
And very importantly: Are you able to connect with another client? For example, nm-applet under GNOME or cnetworkmanager on the console.
Bug handling
Network Management in KDE sits on top of a large and fragile stack of components. When a connection fails, it can be for any one of a number of reasons throughout this stack, but the symptoms will usually be something like "Connection got to 28% and then failed". Bugs reported at bugs.kde.org will be triaged to try and find out at what layer the failure occurred, so that it can be fixed by those responsible.
The Stack
The Hardware
Wireless hardware has a surprising number of bugs. These are dealt with at the next layer, if you are lucky.
The Kernel
This is where the actual driver that controls the hardware is located. There are many interesting bugs here too. Since the introduction of a standard wireless MAC layer in the Linux kernel, this situation is improving. Some hardware doesn't have a Linux driver, so people control it using the ndiswrapper tool, which loads Windows drivers and their bugs. You can see its output in the system log, and talk to the drivers using the iwtools set of commands.
WPA Supplicant
wpa_supplicant is a low level tool for talking to the driver, providing authentication and encryption settings. It is open source and generally of high quality. Before the advent of NetworkManager, users had to configure it manually with control files in /etc. This has been known to get people out of a tight spot occasionally. It usually logs to /var/log/wpa_supplicant.log. Nowadays it is mostly controlled remotely by
NetworkManager
NetworkManager is the system daemon at the centre of the networking subsystem on most end user Linux installations. It has root privileges, needed to control the lower layers, and exposes some controls up to clients running in the user session via DBUS. It writes a log in /var/log. NM also controls DHCP clients as needed and rewrites /etc/resolv.conf with DNS servers it has configured. NetworkManager also provides a SystemSettings service, which is responsible for reading your distribution's network configuration files (system wide) and feeding them into NetworkManager.
User Clients
Network Management under KDE 4, KNetworkManager under KDE 3, nm-applet under GNOME, and cnetworkmanager is your last life. These are responsible for
- giving feedback on the networking status of ths system,
- communicating the user's actions to NetworkManager and for storing
- communicating the user's network connection details (policy) to NM.
While they are the most visible part of the system, they are also the least important to making a successful connection. Since they share a standard interface to NetworkManager, they can be exchanged easily.