Archive for May, 2010

Progress of Gentoo NetworkManager Plug-in – Writing support finished

Hi everyone,

I’m glad to inform you that writing support has been implemented now. That means any change made via nm-applet will be written into /etc/conf.d/net and /etc/wpa_supplicant/wpa_supplicant.conf. You won’t have to modify these configuration files manually in most time.

Welcome you to join and test the plug-in if you are interested. Current stable version is networkmanager-0.8-r102. (Thanks to Robert)

layman -a dagger (or layman -S)
emerge -av networkmanager

Remember to make your connection available to all users if you want your changes to be written to configuration files. If you have difficulty doing it, hope this article could help you. Here is a demo for making wireless connection:

Read the rest of this entry »


, ,


Making NetworkManager work together with openrc scripts

Because there’s several things NetworkManager can’t handle, such as bridging network, many people wondered if NetworkManager could work together with openrc scripts. The answer is yes and my project will help you achieve this.

The solution is very easy. You could tell NetworkManager which network interface should be managed and which shouldn’t. Let’s take an example:

Suppose you have two network interface: eth0 and eth1. You’d like to use bridge on eth0 and let NetworkManager help you manage eth1.

config_eth0=( “null” )
config_br0=( “” )
config_eth1=( “dhcp” )

What you shoud do is using net.eth0 to support bridge. Meanwhile, you should disable eth0 for NetworkManager by adding:

# Fill in mac address of eth0, required by the plug-in

And we are done 🙂

eth0 and br0 configuration will be reserved by the plug-in. You could do anything that NetworkManager supports to eth1.


NetworkManager plug-in with writing support preview

Hi guys, I’ve almost implemented witting support now and I’m sure you could use it very soon. Hope you will like it.

Here is a sample configuration which the plug-in automatically generated (yes, this is the writing support I’m talking about). The format is not decided yet and welcome your advice.

Since I used HashTable to store options, the order of options is difficult to control. Currently I just make sure the options belong to the same connection will stay together. If you think better order is very important, I will try to arrange them before writing to configuration file. But I have to say that’s time-consuming and the code will be hard to read if you want to make the order perfect. We also could consider lexicographical order which could at least give a fixed position for every option.

Anyway, I guess out of order is not that bad 😛

  • /etc/conf.d/net :
 Read the rest of this entry »



Did you manage to edit system wide connection via nm-applet?

If you couldn’t edit system wide connection or add a connection that is available to all users, hope this article could help you. I’m implementing writing support recently. If you couldn’t edit your system wide connection, my effort will become much meaningless.

Edit System Wide Connection Picture

Recently, I’ve read an article written by Dan Williams. The title is What You Don’t Know About NetworkManager Part 1: Configuration. To my surprise, I find I can’t edit system wide connection and it’s the same problem that article tells. Robert told me it was because my policykit wasn’t correctly set up.

I used to play Fluxbox and didn’t use Gnome a lot. Everything seemed to be fine at that time and I didn’t notice there was something wrong with my policykit (Actually I didn’t use it at that time). Due to that, I can’t edit system wide connection and can’t add new connection that is available to all users.

Read the rest of this entry »


Progress of NetworkManager Plug-in 2010.05.20

The project has been pushed to upstream and the plug-in is enabled by default for >=networkmanager-0.8.2.

I’m glad to see that many people are interested in this project. Hope the progress could make you more pleased 🙂

Since I started coding even before the acceptance of my proposal, the plug-in is almost implemented. It could already be used out of box right now. Welcome you to join and test. The following is some details.

#Project Information
Home page:
Wiki page:

Robert helped me push the plug-in to his layman, it's very easy for you
to join and test now. Use "layman -a dagger" and you will see

Read the rest of this entry »



My Gentoo GSoC Has Begun

I’m excited to start blogging here and announce my new life.

About one month ago, I heard of Google Summer of Code at linuxsir. I decided to join this contest several days later. At first, I was worried that maybe I was not capable enough to participate in. I’ve been using Linux for no more than three years and using Gentoo for only a year. To be honest, I was not a “power user” but just one of these normal users of Gentoo.

However, when I turned to the idea page of GSoC 2010, I found that there were several projects that I could give a try. Although I was not familiar with all the techniques listed there, I still had time to learn new things and I’d love to do that. Let alone I’ve already got some important basic skills.

Then I chose Gentoo NetworkManager Plug-in project because I think that was one of the most useful projects. I sent mails to gentoo-soc mail list and mentors to ask for some direction. I really appreciate that Nirbheek Chauhan gave me several links on how to start. I also post a mail to NetworkManager mail list where Dan Williams gave me some guide on how to write plug-in for NM.

After that, I began to learn GObject which is required by this project. I have to say that it was a bit tough at first because I was already used to Python and Java which are quite different from GObject. GObject is difficult to grasp in a short time. So I spent nearly all my time on it in those days, including the official tutorial and two books. I also started reading source code of NetworkManager and its plug-ins. Though it was difficult at first, I could understand the source code and the NM plug-in mechanism several days later.

At the same time, I started writing proposal and submitted it as soon as possible. After submitting my proposal, I still continued improving it several times a day. Robert Piasek, Nirbheek Chauhan, Arun Raghavan, Petteri Räty and Brian Harring gave me useful advice which greatly helped improve the proposal.

I’d like to add thanks to Robert Piasek, the mentor of this project. He not only gave me many suggestions and help, but also encouraged me a lot. I think that is very important for a student who has little experience in the open source world. I was very excited and full of courage every time I received his mail.

Now the proposal has been accepted and I’ve already made big progress now. I’ve learned a lot of exciting things recently and I’m definitely sure that this summer will be the most enjoyable one!