From Fedora Project Wiki

Line 36: Line 36:
[[Image:nm-applet.png|frame|border|center|Fedora 13; GNOME 2.30.0; nm-applet network information.]]
[[Image:nm-applet.png|frame|border|center|Fedora 13; GNOME 2.30.0; nm-applet network information.]]


=== Configuring your Network ===
== NetworkManager - KDE ==
Just like the GNOME counterpart, KDE provides an interface/applet for NetworkManager, known as '''KNetworkManager'''. This application development was started by [http://www.novell.com Novell] and it's the KDE counterpart of nm-applet. It's usage and configuration is pretty much the same as in GNOME, only the looks flavour KDE integration and technology, for instance, QT based.
 
== Network Configuration - Example (nm-applet) ==
'''GNOME users''' will find a small '''icon''' on '''gnome-panel''' (nw-applet), placing the cursor over it will allow the user to perform two tasks:
'''GNOME users''' will find a small '''icon''' on '''gnome-panel''' (nw-applet), placing the cursor over it will allow the user to perform two tasks:
* '''right click''' > opens a dialog box which allows to enable networking for several devices and edit configuration (amongst others);
* '''right click''' > opens a dialog box which allows to enable networking for several devices and edit configuration (amongst others);
Line 70: Line 73:
* '''[http://www.xchat.org X-Chat]''' - Distributed with Fedora (can be installed with: '''yum install chat''').
* '''[http://www.xchat.org X-Chat]''' - Distributed with Fedora (can be installed with: '''yum install chat''').
* '''[http://konversation.kde.org Konversation]''' - Popular with KDE users and installed by default with KDE.
* '''[http://konversation.kde.org Konversation]''' - Popular with KDE users and installed by default with KDE.
== NetworkManager - KDE ==


= NetworkManager =
= NetworkManager =

Revision as of 23:27, 15 April 2010



FedoraMarketing.png


Note.png
NOTE:
The template shouldn't be Marketing. To be changed before release.

NetworkManager .

NetworkManager Project was initiated by Red Hat back in 2004 aiming to provide Linux users with "pain free" networking experience. NetworkManager is divided into 2 different components:

  • a service that manages and reports network changes;
  • a graphical desktop applet that allow users to manipulate network connections.

The graphical applet is available for GNOME, KDE and Xfce and follows the Systray Protocol from OpenDesktop. Currently the NetworkManager Project upstream maintainer is Dan Williams (2005).

Fedora 13; GNOME 2.30.0; nm-applet credits

For most users NetworkManager is mainly associated with nm-applet and KNetworkManager, the latest was started by Novell in 2008 and is a part of the K Desktop Environment. This applets allow any user to configure in a friendly way their Linux networks and has become a very important application to succeed in therms of user friendliness. Currently NetworkManager supports the following:

  • Wired Ethernet Devices;
  • Wireless Ethernet Devices;
    • Unencrypted;
    • WEP;
    • WPA Personal and WPA Enterprise;
  • Mobile Broadband Devices (GSM, CDMA, UMTS, etc);
  • Virtual Private Networks (OpenVPN, vpnc, openconnect, PTPP)
  • Dial-up (PPP) and xDSL (PPPoE).

NetworkManager in Fedora 13

Dan Williams, upstream maintainer for NetworkManager has provided the community with a very elucidative post about NetworkManager 0.8, which he refers to as "the taste of a new generation". The orignal publication can be consulted here. In addition to the information provided by Dan, we would like to focus that Fedora 13 "Goddard" ships with a stabilized version of NetworkManager 0.8.1 which includes new features, such as:

  • DHCPv6;
  • Bluetooth DUN;
  • Mobile Broadband Status.

In Fedora 13 "Goddard", NetworkManager is installed by default, including the applets for the Desktop Environment installed (GNOME, KDE, Xfce).

NetworkManager - GNOME

Fedora 13 users with GNOME installed will have nm-applet available on gnome-panel. By default it will search available networks and can be easily configured, providing the Fedora 13 user an easy and fast way to configure networking on the fly; either by creating new connections or by editing existing connections. In addition it also provides information on other aspects, like the last time connections were used, signal strength, etc.

Fedora 13; GNOME 2.30.0; nm-applet network information.

NetworkManager - KDE

Just like the GNOME counterpart, KDE provides an interface/applet for NetworkManager, known as KNetworkManager. This application development was started by Novell and it's the KDE counterpart of nm-applet. It's usage and configuration is pretty much the same as in GNOME, only the looks flavour KDE integration and technology, for instance, QT based.

Network Configuration - Example (nm-applet)

GNOME users will find a small icon on gnome-panel (nw-applet), placing the cursor over it will allow the user to perform two tasks:

  • right click > opens a dialog box which allows to enable networking for several devices and edit configuration (amongst others);
  • left click > opens a networking status box that allows the user to connect to a configured network, create new networks and manage VPN connections.

Lets imagine that I would like to configure a new Wireless Connection with some strange parameters. This imaginary network requires user authentication through Dynamic WEP/PEAP/MSCHAP V2. Most wireless networks will be detected by NetworkManager (establishing that your hardware is supported and is enabled). To accomplish this, one of the possible methods would be:

  • Right Click nm-applet and seclect Edit Connections. The following box should appear on your screen:
nm-applet "Network Connections" screen; GNOME 2.30.0.
  • From here, select the Wireless tab, and the available wireless networks will be displayed. At this point select the network you want to edit and press Edit.
  • A new box will be displayed for the network connection that was selected in the previous point that should look like this:
nm-applet "Editing 'Connection Name'" screen; GNOME 2.30.0.
  • From this box the user can do the following:
    • Wireless tab: change SSID, Mode, Mac Address, BSSID and MTU. In most cases there is no need to change anything here. Remember to check Connect automatically for such feature.
    • Wireless Security tab: For this example, as explained before the user should select the following:
      • Security: Dynamic WEP (802.1x);
      • Authentification: Protected EAP (PEAP);
      • Anynimous Identity: We aren't going to use this one for our example;
      • CA Certificate: Leave blank (for this example);
      • PEAP Version: Select Automatic;
      • Inner Authentification: Select MSCHAPv2;
      • Username: Enter your username;
      • Password: Enter your password;
      • Look for the rest of the checkboxes and check them if applicable.
    • IPv4 Settings: Usually DHCP will do the trick, including on this example.
    • Press Apply.

At this stage NetworkManager will take a couple of seconds to log you into your network. Rock it.

Please be mindful that this is just an example of what could be a network. Wireless networks can use other methods for authentication, make sure you contact your system administrator or provider in order to get the proper credentials. Also be mindful that I used GNOME's nm-applet for this example. Users with KDE have KNetworkManager instead of nm-applet which is very similiar and works in the same way.

Users having problems can seek help provided by Fedora Community volunteers on Freenode IRC Network on general channel: #Fedora. Be mindful that support on this IRC Channel is available only for some versions, usually the latest shipping version. An IRC chatting application is usually required for this. Some available are:

  • X-Chat - Distributed with Fedora (can be installed with: yum install chat).
  • Konversation - Popular with KDE users and installed by default with KDE.

NetworkManager

NetworkManager aims to provide a "pain free networking" experience for Linux users. Fedora 13 ships with a stabilized snapshot of NetworkManager 0.8.1 which includes extended functionality; for example DHCPv6, Bluetooth DUN and Mobile Broadband Status.
Most users will associate NetworkManager directly with their applets; nm-applet and KNetworkManager.
NetworkManager's upstream project maintainer since 2005, Dan Williams provided the community a very in-depth post about NetworkManager 0.8, identifying it as "the taste of a new generation", which can be consulted here.

From a very objective approach, Fedora 13 is the result of a community effort and many times "The Cathedral and the Bazaar" (link) is pointed as a reference to better understand it's "modus operandi". NetworkManager, despite being started by Red Hat, also has a great effort from the community, and following this line, on behalf of Fedora's Marketing Team, I've interviewed Dan Williams regarding some aspects of the NetworkManager development.

Interview with Dan Williams

Dan Williams is a Senior Software Engineer in the Red Hat Desktop, being involved since 2003 with OpenOffice.org and became upstream project maintainer for NetworkManager in 2005. He was heavily involved in OLPC (2005-2007) helping planning and implementing core features of Sugar and OLPC Wireless.
Dan characterizes his involvement with Fedora and FOSS Communities as an advocate for users by attending kernel wifi summits and being involved on Linux wireless mailing lists.

"It's been a great ride over the last 7 years." - Dan Williams

Given the nature of FOSS contributions, sometimes natural barriers arise to new potential developers, according to Dan, one of the most relevant is the lack of upstream guidance. Sometimes a potential developer shows up, often upstream developers don't have much time available to help nurture new developers through some of the initial stages. Dan's points that documentation has a very important role here, as new potential developers can be forwarded avoiding the to repeat the effort every time when new developers join.
NetworkManager provides a good grounds for developers seeking knowledge and experience in the fields of:

  • D-Bus;
  • GObject;
  • PolicyKit;
  • Networking System Interaction;
  • 3G Modems;
  • netlink API's;
  • etc;

As an advice for potential developers willing to join NetworkManager:

  • "Keep asking questions; no question is too stupid or embarrassing to ask. Then, when you understand the solution to your question, tell us how to improve the documentation so other people benefit too. Since we've been involved in the project for a long time, we don't always know what the initial roadblocks are to building the source, understanding the

architecture, etc."

    • Dan Williams (2010)


Dan also points the feedback from users to the success of NetworkManager. Even non-developers have a key role in the development of NetworkManager, providing good bug reports. A comprehensive article is available here.

  • "The #1 and #2 items missing from many bug reports is what package version of NM you've experienced the bug with, and what hardware you're using. As the Fedora project, we should work harder to automate the collection of this information like Ubuntu has done with Launchpad. This stuff should really be automatic, but for now we'll need users to

do it for us."

    • Dan Williams (2010)

When inquired about the distribution/tools used for the development of NetworkManager:

  • "I develop mainly on Fedora, though occasionally I do a build on Ubuntu when I need to dig into a problem there and the Ubuntu team hasn't been able to debug it further.

I use gnome-terminal with multiple tabs for workflow (usually have NetowrkManager's directory open in one tab, ModemManager's in another, and network-manager-applet's in a third), and GEdit for actual coding. No, I don't use emacs or vi, mainly because I started coding on Mac OS long ago and all the tools there are GUI development environments. GEdit does 95% of what most people really need from an editor, and I've never been a fan modal editors like emacs/vi probably because I used something else first."

    • Dan Williams (2010)

Fedora Foundations by Dan Williams

Freedom: it's about Free Software; we don't make compromises. If it's not free, or it's patent encumbered, we don't ship it. You're completely free to redistribute, remix, and modify anything we ship.
Friends: both working on Fedora and using Fedora should be fun; we shouldn't discriminate or make users feel unwelcome. Our discussions should be civilized, avoid personal attacks, and simply get to the bottom of the issue. Obviously there will be disagreements, but these need to be settled nicely.
Features: we build new features through the community. We don't develop them behind closed doors, almost all of what we do is out there in git repositories and on wiki pages. We have lots of different users, and we try to add new features that help all these users out, not just one particular group.
First: we're cutting-edge; we drive new features into Fedora before most other distros get them, but we also try to ensure those features are stable enough for our users. This is hard to get right, but we seem to be doing it pretty well so far...

Interview unedited

The full contents of the interview (by email) to Dan Williams can be found here.

Biography

Dan Williams is a Senior Software Engineer on Red Hat Desktop Team since 2003. Dan's first commitment was to OpenOffice.org due to his involvement with OOo Mac OS X port.
In 2004 Dan was invited by Havoc to start working on NetworkManager, and in 2005 became the NetworkManager upstream project maintainer.
Dan was also part of the original Red Hat team working on OLPC with John Palmieri, Marco Pessenti-Gritti, Chris Blizzard, David Woodhouse, Marcelo Tosatti, Seth Nickel, Bryan Clark, et all.

Screenshots (nm-applet)

Nm-applet.png Nm-applet1.png Nm-applet2.png Nm-applet4.png

Resource Links