GSoC work review - network configuration application
Milan Plzik <[email protected]> Sat, 25 Nov 2006 22:26:28 +0100
| Newsgroups | gmane.comp.handhelds.linux.familiar.devel,gmane.comp.handhelds.gpe |
|---|---|
| Message-ID | <1164489989.5379.20.camel@localhost> |
Hello, 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 dwarves etc.:) I'm sending this e-mail to both [email protected] and gpe-list-CQP9ExgZy9rrZ44/[email protected] in a good faith - please, don't start any flame on either side, nor comment this paragraph. Just in case:) Milan Plzik ---------------------------------%<--------------------------------- Review of GSoc work (GPE network configuration application) | Goal +------ 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 possible. | Strategy +---------- 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. | State +------- 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. | Conclusion +------------ 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.