[Gpe-list] GSoC work review - network configuration application
milan.plzik at gmail.com
Sat Nov 25 22:26:28 CET 2006
Reenoo asked me to to write few lines about results of my Summer of
Code project, below there is a slight description of it. Please let me
know if I forgot to write something what could be interesting, I will
happily extend it :). I also apologize for any typos, mistakes, print
I'm sending this e-mail to both gpe at handhelds.org and
gpe-list at linuxtogo.org in a good faith - please, don't start any flame
on either side, nor comment this paragraph. Just in case:)
Review of GSoc work (GPE network configuration application)
The goal of this work was to bring more transparent and easy network
configuration to (primarilty GPE based) handheld linux distributions.
The state of networking support on handhelds is very good, but having
linux "on board" means also having linux tools and philosophy to
configure everything. This gives user lots of flexibility, but also
relies upon user to have linux networking knowledge. The another issue
is simply the fact that handhelds are more restricted devices when it
comes to user input and entering all the required data using touchscreen
is not very efficient.
Moreover, when taking into account users which have not had any
previous experience with linux-based systems, the network configuration
is in fact not that easy. There are some applications allowing more
convenient network setup, but they don't have simplicity and ease to use
for normal users as their primary goal.
Implementation should enable users to easily switch between
wired/wireless networks, automatically configure network using DHCP and
generally, make network setup depending on as few screen taps as
There were more ideas how to implement this project. First idea was to
start everything from scratch, implementing own networking daemon and
GUI which would take care about things mentioned in first section.
Obvious advantage is that there will be no porting problems and we can
count with all features we want and incorporate them into design.
Disadvantage is possible duplication of work.
Another approach was to re-use GNOME NetworkManager (or at least its
portions). Re-using portions can be quite difficult, and NetworkManager
is written in the way which doesn't make it more easy at all, so the
range of choices was narrowed to porting NetworkManager. Advantage would
be that this software already has wide user base and is quite well
tested, so in ideal case it should shorten deployment time. The most
problematic disadvantage was however the fact that NM uses hal, which
currently works only with 2.6.x kernel series. Because some handhelds
don't have fully working 2.6 spport, so it was neccessity to write small
emulation library, which would handle hal library calls wiht 2.4 kernel.
Because of incorrect analysis of NM code I first decided to write my
own application, which was a mistake. After re-evaluating all possible
options, the best way was to port NetworkManager - both daemon and GUI.
Concerning current status, the NetworkManager daemon is running on the
testing PDA. There are few things which remain to be solved, as for
example handling of /etc/resolv.conf (nm backs up old file and creates
new one, which effectively moves symlink to ramdisk away and creates
regular file on jffs2 partition).
When doing development, I was not able to test correctly all its
features, because of suboptimal support for wifi driver, but thanks to
other developers (namely florian and XorA:) NM is, according to reports,
able to successfully connect to WEP encrypted networks. There is still
some work to do to have WPA support, but I'm afraid that not only on the
NM side. I was also not able to test cooperation of NM and
gnome-keyring. So far NM also doesn't support hotplugging of network
devices when using hal emulation library.
NetworkManager GUI applet requires a bit more "polishing" the GUI --
first of all, the GUI is completely designed in glade, which doesn't
leave too much space to use GPE functions for setting correct paddings
etc. Also, the GUI makes use of right and left click on NM applet, which
can be currently handled only by using mouse button applet.
State of NM port is far from perfect, but it has at least basic
functionality and seems to run stably. Important thing in my opinion is
to find out how to handle /etc/resolv.conf issue and preferably also fix
right button issue in NM applet. The integration with gnome-keyring was
not tested as well.
More information about the Gpe-list