2009-03-24 18:08:38

by k roy

[permalink] [raw]
Subject: GSoC '09 applicant : Introduction

Hello,

I guess that I am pretty late at introducing myself in this mailing
list but I will do it nevertheless. My name is Kalpana Roy, a final
year student from India, pursuing her B.Tech(I.T.) degree. Inspite of
being in my final year this will be my first (probably the last too)
attempt at GSoC. I was introduced to the wonderful world of FOSS by
another FOSS enthusist who also successfully completed his GSoC
project last year. Uptil then, my only interaction with FOSS was using
the softwares but now I am looking into development aspects and want
to contribute as well.
I worked on an open-source project last year and created a
GUI-cum-editor for VPython. As I did not interact with the core
developers, my work could never be included in the VPython module. I
learned this through GSoC, that communication is as important as
contribution, and that the work you do is of no use if you just keep
it to yourself.
My skill-set includes working in languages C++,PHP and familiarity
with PyGtk, Java, MySQL. I mostly work on Linux systems (Ubuntu and
Fedora being my distros of choice) though I have a dual boot machine
with Windows installed as well.
The project which I would like to work on, under Linux Foundations is
Integration of Geoclue with linux kernel and gnome-desktop. As
suggested by Luis R. Rodriguez, who has agreed to comentor this
project, it will be a combined project under both Linux Foundations
and Gnome developers. Under the Gnome-desktop cover, I would work to
include location-sensitivity functionality to various gnome
applications like Tracker, Empathy, Gwibber, Evolution, Clock and use
of OpenStreetMap and libchamplain library to display a map of the
locality. The comments which I receive for the above proposal was that
it was too short compared to GSoC and it only included submitting
patches to a few gnome applications. Now since, the project will
include providing Geoclue information to the Network Manager and
currectly deducing the country based on the timezone provided by the
user using Geoclue, I guess the project is big enough. Infact Geoclue
does the automatic finding of the location (Geotargetting) based on IP
address. It uses the database of hostip.info site for the same.
I conversed about the merging of the two project ideas with Jussi
Kukkonen, who is the major developer of Geoclue, and he expressed his
views about it being a great idea but he said that geoclue cannot (in
many cases) make guarantees on the correctness of results so using
them for "regulatory compliance" should be done with understanding
that. Example: wlan positioning is based on access point MAC address
and the manufacturers are known to make mistakes with those, so there
may be two devices out there with the same MAC address but totally
different locations. If the afore-mentioned is acceptable then it is a
great idea.I am planning to submit the project proposal under both
Gnome as well as Linux Foundations, however if accepted under any, it
will needed to be comentored by both the organisation's developers. I
am working on the application and it should be ready within 1-2 days
span. I am also looking forward to any comments/suggestions regarding
the project.
My contact details are as follows:
email : [email protected]
IM (XMPP) : [email protected]
IRC nick : kr0y
weblog : http://wannabe-a-geek.blogspot.com/

Looking forward to hearing from you,
~kr0y.


2009-03-24 19:56:28

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: GSoC '09 applicant : Introduction

On Tue, Mar 24, 2009 at 11:08 AM, k roy <[email protected]> wrote:
> Hello,
>
> I guess that I am pretty late at introducing myself in this mailing
> list but I will do it nevertheless. My name is Kalpana Roy, a final
> year student from India, pursuing her B.Tech(I.T.) degree. Inspite of
> being in my final year this will be my first (probably the last too)
> attempt at GSoC. I was introduced to the wonderful world of FOSS by
> another FOSS enthusist who also successfully completed his GSoC
> project last year. Uptil then, my only interaction with FOSS was using
> the softwares but now I am looking into development aspects and want
> to contribute as well.
> I worked on an open-source project last year and created a
> GUI-cum-editor for VPython. As I did not interact with the core
> developers, my work could never be included in the VPython module. I
> learned this through GSoC, that communication is as important as
> contribution, and that the work you do is of no use if you just keep
> it to yourself.
> My skill-set includes working in languages C++,PHP and familiarity
> with PyGtk, Java, MySQL. I mostly work on Linux systems (Ubuntu and
> Fedora being my distros of choice) though I have a dual boot machine
> with Windows installed as well.
> The project which I would like to work on, under Linux Foundations is
> Integration of Geoclue with linux kernel and gnome-desktop. As
> suggested by Luis R. Rodriguez, who has agreed to comentor this
> project, it will be a combined project under both Linux Foundations
> and Gnome developers. Under the Gnome-desktop cover, I would work to
> include location-sensitivity functionality to various gnome
> applications like Tracker, Empathy, Gwibber, Evolution, Clock and use
> of OpenStreetMap and libchamplain library to display a map of the
> locality. The comments which I receive for the above proposal was that
> it was too short compared to GSoC and it only included submitting
> patches to a few gnome applications. Now since, the project will
> include providing Geoclue information to the Network Manager and
> currectly deducing the country based on the timezone provided by the
> user using Geoclue, I guess the project is big enough. Infact Geoclue
> does the automatic finding of the location (Geotargetting) based on IP
> address. It uses the database of hostip.info site for the same.
> I conversed about the merging of the two project ideas with Jussi
> Kukkonen, who is the major developer of Geoclue, and he expressed his
> views about it being a great idea but he said that geoclue cannot (in
> many cases) make guarantees on the correctness of results so using
> them for "regulatory compliance" should be done with understanding
> that. Example: wlan positioning is based on access point MAC address
> and the manufacturers are known to make mistakes with those, so there
> may be two devices out there with the same MAC address but totally
> different locations. If the afore-mentioned is acceptable then it is a
> great idea.

This is reasonable so long as the user gets some sort of pop-up to
tell them the country GeoClue has determined we want to set on the
GNOME desktop. If he clicks yes then its just as equal as what we have
now with iw or wpa_supplicant.

> I am planning to submit the project proposal under both
> Gnome as well as Linux Foundations, however if accepted under any, it
> will needed to be comentored by both the organisation's developers. I
> am working on the application and it should be ready within 1-2 days
> span. I am also looking forward to any comments/suggestions regarding
> the project.
> My contact details are as follows:
> email : [email protected]
> IM (XMPP) : [email protected]
> IRC nick : kr0y
> weblog : http://wannabe-a-geek.blogspot.com/
>
> Looking forward to hearing from you,

Sounds great, glad to know we have a student interested. We can
certainly split this GSoC up, I am up to help mentor the Linux
wireless part. I just do not know anything about GNOME so if we can
collaborate with Jussi to handle that it would be appreciated. We may
need some feedback from Dan Williams too, for example, on how he'd
like to see this become exposed to NM. Or from Marcel for Connman.

I suppose the first part will be the GNOME part, and the final piece
will be to inform applications somehow or let applications register
for this in some form of a multicast group. I don't speak userspace
though so beats me how this is accomplished nowadays.

Luis

2009-03-30 22:47:41

by Till Kamppeter

[permalink] [raw]
Subject: Google Summer of Code 2009: Another wireless application

Hi,

we got another application on wireless. See below. And do not forget to=
=20
apply as mentor at the LF.

Till

--------------------

Title: Automation of testing using mac80211_hwsim and Orbit
Student: Qasim Javed
Mentor: No mentor assigned
Possible Mentors: None
Abstract:
Name: Qasim Javed
Affiliation: University of Texas at Dallas
Enrollment: Computer Science Ph.D. Student
=46reenode IRC nick: nixbox
Email address: [email protected]

I am primarily interested in "Automation of testing using mac80211_hwsi=
m=20
and Orbit". I have been exploring the mac80211 stack along with the=20
ath5k drivers which has enabled me to learn about the workings of the=20
stack. Also, I am familiar with networking testbeds. I have worked on=20
Emulab networking testbed before and have also worked on a testbed=20
project in our lab. This has made it easy for me to learn and use the=20
Orbit testbed.

Moreover, by virtue of my research work in wireless networking which=20
includes IEEE 802.11, I am already familiar with the workings of the=20
protocol. This puts me in a very good position to start working on this=
=20
project.

I have already tried some tests using tools such as Andy green's=20
packetspammer. Specifically, I have tested the power saving mode on STA=
s=20
and verified that the AP buffers the packets when the STA is in power=20
save mode 2.

This proposal lists the test cases that should be done in my opinion.=20
However, an interaction with the Linux Wireless community will enable m=
e=20
to refine these test cases and come up with a set which can really help=
=20
the mac80211 and wifi device driver developers.
Content:

About me
I am currently a Ph.D. student in the Computer Science Department at th=
e=20
University of Texas at Dallas. I work in the Distributed Systems lab [1=
]=20
where I am advised by Dr. Ravi Prakash. We work on problems in wireless=
=20
networking, specifically, MAC layer issues in IEEE 802.11 and wireless=20
sensor networks. I am also a teaching assistant for the Advanced=20
Operating Systems course offered in the computer science department=20
during Spring 2009 where I am responsible for creating Linux kernel=20
projects and grading them. I graduated with a Masters degree in compute=
r=20
science from the University of Texas at Dallas in Spring 2007. Prior to=
=20
this, I completed Bachelors in computer science from National Universit=
y=20
of Sciences and Technology, Pakistan in 2004. I have been using the=20
Linux operating system and developing applications for it since 2002. M=
y=20
undergraduate project was a network intrusion detection system develope=
d=20
for Linux using C and C++ programming languages.

Programming Languages and Platforms
I have been developing applications in C and C++ for the Linux Operatin=
g=20
System on the Intel and AVR32 platforms. I am also familiar with Bash,=20
Ruby, and TCL scripting languages. I use ruby for a lot of things=20
including web scraping, data analysis and quick application prototyping=
=2E=20
Most of my TCL work involves writing simulation scripts for network=20
simulator 2. I have also used TCL to run experiments on the Emulab=20
networking testbed.

Recent Development Experience
I have been involved in the development of Texas Network Testbed=20
project[2]. I was responsible for developing a communications library=20
for the testbed software in C++. I have also ported the open source=20
Contiki operating system [4] for wireless sensor networks to the EM2420=
=20
platform which consists of an Atmel 128L microcontroller along with=20
CC2420 IEEE 802.15.4 radio. I have implemented a distributed consensus=20
protocol in C using the Contiki operating system for wireless sensor=20
nodes. Crossbow Telos-B motes were used as the implementation platform.=
=20
I conducted experiments and evaluated the performance of the protocol.

As a part of my research work, I have explored the new mac80211 Wifi=20
networking stack in the Linux Kernel. Most of the work was done to=20
understand the new ath5k driver, how it interacts with mac80211, and th=
e=20
implementation of rate control algorithms. I have tinkered with the=20
drivers, specifically, playing with how noise floor calibration works=20
and understanding the Automatic Gain Control mechanism. Most of my=20
implementation work will start from the Fall semester this year. Workin=
g=20
on this testing project will be a great opportunity for me as I will be=
=20
well prepared for the upcoming semester and also serve the Linux=20
Wireless developer and user community.

I have also worked on the Emulab networking testbed. Specifically, I ha=
d=20
written ns-2 style TCL scripts to test a consensus protocol on both=20
wired and wireless networks. I evaluated the performance of the protoco=
l=20
by using the results from the experiments.

Idea
I am interested in =E2=80=9CAutomation of testing using mac80211_hwsim =
and=20
Orbit=E2=80=9D. I selected this project because it is very relevant to =
the work=20
that I have been doing recently. Also, it will provide me with a great=20
opportunity to further my knowledge of the mac80211 Wifi networking=20
stack. My goal is to ease the task of mac80211 and Wifi device driver=20
developers by providing them an automated test suite. The test suite=20
will allow the developers to test the changes they have made to the=20
mac80211 stack.

Setup
Since I have been exploring the mac80211 stack and the ath5k drivers, I=
=20
have the latest wireless-testing tree on my Fedora machine. I also use=20
OpenGrok [3] source code search and reference engine for navigating=20
through the Linux kernel source code. I have compiled and tested=20
mac80211_hwsim from the latest wireless-testing git repository. I have=20
also used tcpdump to see all the packets in the "air" via the global=20
monitoring netdevice hwsim0. Moreover, I have experimented with Andy=20
Green's packetspammer tool.

=46or power save mode testing, I created three radios using mac80211_hw=
sim=20
kernel module's "radios" parameter. One of the radios was configured as=
=20
an AP, while the other two were configured as STAs. Both of the STAs=20
were associated with the AP. Debugfs was mounted and one of the STAs wa=
s=20
put into power save mode 2. It was noted that "num_sta_ps" debugfs entr=
y=20
on the AP was incremented as a result of the mode change on the STA. Th=
e=20
destination MAC address in the Packetspammer tool was modified so that=20
it sent frames to the STA in power save mode. It was noted that=20
"total_ps_buffered" debugfs entry on the AP interface was incremented=20
whenever a packet was injected on the monitor interface associated with=
=20
the STA which was not in Power Save mode.

To summarize, I have tried the following configurations:

1. One AP, one STA, no authentication
2. One AP, one STA, WPA2, CCMP
3. One AP, one STA, WPA2, TKIP
4. One AP, one STA, WPA2, TKIP on channel 1 and one AP, one STA, WPA2,=20
CCMP on channel 11
5. One AP, two STAs, WPA2, CCMP, one STA in Power Save mode 2.

I have familiarized myself with the Orbit testbed. That includes,=20
reserving slots, setting up an experiment, creating topologies,=20
collecting results using the OML (Orbit Measurement Library) and=20
analyzing the results. As I am already familiar with Ruby, I was able=20
to grasp the syntax of Orbit scripts easily.

Open Source contribution
Recently, I have been involved with the Contiki open source operating=20
system for wireless sensor networks. I ported the OS to the EM2420=20
wireless sensor nodes which were sold by Ember Corporation. These nodes=
=20
are equipped with an Atmel 128L microcontroller and a CC2420 radio for=20
communications using the IEEE 802.15.4 protocol.

Project
I have chosen to work on =E2=80=9CAutomation of testing using mac80211_=
hwsim and=20
Orbit=E2=80=9D. My recent exploration of the mac80211 stack and ath5k d=
rivers is=20
an important reason to choose this project. I think that this project=20
will be very beneficial to the developers who are working on mac80211=20
and device drivers that use mac80211 and has the potential to save time=
=20
and effort. Also, it will provide me with an opportunity to contribute=20
to a very useful open source project and also enhance my understanding=20
of the mac80211 stack.

I have been doing research in wireless networking, specifically IEEE=20
802.11 and IEEE 802.15.4. I have become familiar with both these=20
protocols as a result of my research work. Also, both these protocols=20
were formally taught in the Mobile Computing course which I had taken=20
during my Masters. As most of my work has been at the MAC layer, I am=20
familiar with the CSMA/CA based medium access mechanism which includes=20
the random backoff procedure and the behavior of contention window.=20
Also, I understand active and passive scanning procedures and how probe=
=20
requests are used in the former while the latter depends on hearing=20
beacons. Moreover, I am also familiar with Enhanced Distributed Channel=
=20
Access (EDCA) which is a mechanism to provide QoS for IEEE 802.11=20
networks. I have worked on Infrastructure-based network configurations=20
as well as IBSS or Ad-hoc configurations. I am comfortable with the=20
workings of IEEE 802.11 and can learn things as and when needed. I also=
=20
feel comfortable browsing the standards document for the information I=20
need regarding the workings of IEEE 802.11 protocol. Also mention IEEE=20
802.11d and IEEE 802.11h

As a teaching assistant for the Advanced Operating Systems course at th=
e=20
University of Texas at Dallas, I have been responsible for teaching=20
students the basics of Linux Kernel Programming. This includes Linux=20
Kernel Module Programming, System Calls, Netfilter, synchronization=20
primitives within the kernel.

Automation of testing involves two things:
1. Writing the test cases, which involves writing shell scripts for=20
hostapd and wpa_supplicant.
2. Validating the tests, which requires finding out the result of the=20
scripts, whether the test succeeded or failed.

Validation of tests depends on the kind of tests being conducted.=20
Essentially, there are two types of tests. Firstly, tests that can be=20
done without transmitting or receiving anything, such as whether Master=
=20
or AP mode is supported by the card. Secondly, tests that require=20
transmission or reception of frames, for example, whether power save=20
mode works correctly.

=46or the first type of tests, validation can be done using the output =
of=20
"iw" utility. For the second type of tests, scripts need to transmit=20
relevant frames via frame injection and then the entries in debugfs can=
=20
be used for validation of these tests. An example of this has been=20
provided earlier where I had tested the Power Save mode. In some cases,=
=20
especially those where there are no relevant debugs entries, peeking=20
into the traffic going on between the nodes may be required. This can=20
done by writing a program which uses the pcap library to switch the=20
relevant interface to monitor mode and then apply rules. These rules ca=
n=20
be written by extending expect.

1. Automating the testing of mac80211 and cfg80211 using mac80211_hwsim

The IEEE 802.11 standard specifies Protocol Implementation Conformance=20
Statement (PICS) proforma in Annex A of the standards document. This ca=
n=20
be used to select tests that would be necessary for testing the=20
conformance of the implementation with the standard. These tests can=20
serve as the starting point for automating the testing of mac80211.=20
=46ollowing are some of the things that can be tested.

IEEE 802.11d
Regulatory tests (mac80211_hwsim module regtest parameter)
Write a script that performs the different regulatory tests supported b=
y=20
mac80211_hwsim. According to the documentation, all the tests can be=20
performed with a maximum of 6 radios.

Open System Authentication
Test using hostapd and wpa_supplicant, validation using interface=20
properties, such as whether the STAs associated with the AP.

Shared Key Authentication
Test using hostapd and wpa_supplicant, validation using interface=20
properties, such as whether the STAs associated with the AP. Debugfs=20
entries in the "keys" folder can also be used for verification.

Deauthentication
Test using hostapd and wpa_supplicant, validation using interface=20
properties, such as whether the STAs dissociated from the AP.

Duplicate Detection
Test using modified PacketSpammer tool, validation using debugfs entry.

=46ragmentation/Defragmentation
=46ragmented frames can be created using modified PacketSpammer tool an=
d=20
debugfs entries such as "received_fragment_count" can be utilized for=20
validation

Rejection of packets with incorrect CRC
Again, debugfs can be used to validate this. We will need to create a=20
packet with a wrong checksum and inject it on an interface.

Power Save
Debugfs can be used to test Power Saving mode. Every STA created using=20
mac80211_hwsim has a "ps" entry. This can be used to change the power=20
saving mode for the STA. Each AP also has an entry called "num_sta_ps"=20
which indicates the number of STAs associated with this AP that have=20
changed to Power Save mode. Moreover, "total_ps_buffered" can be used t=
o=20
check how many frames are buffered for an STA in the power save mode.=20
These entries in combination with modified PacketSpammer tool can allow=
=20
testing of the power save mode. I have done some manual tests using=20
these entries already.

RTS/CTS
Broadcast/Multicast
MAC Level Acknowledgements
Association/Re-association
Probe request/response
Suspend/Resume

IEEE 802.11h
Measurement reports
Quiet intervals
Channel Switching

2. Automating the testing of Wifi device drivers using the Orbit testbe=
d

Orbit testbed will be used for testing various device drivers. Some of=20
the things that can be tested for each device driver are as follows:

Transmit power levels support
Multirate Support
Extended Rate PHY support
QoS support
unicast at different rates
broadcast/multicast at different rates in the BSSBasicRateSet

Orbit Traffic Generator (OTG) can be used to test unicast at different=20
rates and broadcast at different rates in the BSSBasicRateSet.=20
Validation of tests can be performed by checking the current rate being=
=20
used by the driver. Also, statistics available in debugfs can be used=20
for validation.

As mentioned on the Wiki, sandboxes on the Orbit testbed can be used fo=
r=20
the above tests as they have a nice mix of hardware available for testi=
ng.

Libmac [5] provides frame capture and injection facilities. It also=20
allows manipulation of a subset of wireless interface parameters at bot=
h=20
aggregrate and per-frame levels. This can be very useful for testing=20
device drivers on the Orbit testbed. Test cases can be written so that=20
they use libmac to inject packets with certain field values. This allow=
s=20
virtually limitless possibilities for testing on the Orbit testbed. A=20
good way to approach the problem would be to write an application based=
=20
on libmac. Shell scripts can then be written to use the application to=20
perform certain tests and validate them.

Time
If selected, I will be working full time 40 hours/week on this project.

Schedule
This is just a preliminary schedule. I will create a more detailed=20
schedule after interacting with the Linux Wireless developer community=20
as I will be more prepared and confident about what exactly has to be=20
implemented.

1-2 weeks, Interacting with the Linux Wireless community to come up wit=
h=20
possibly better test cases and ideas regarding the project
3-4 weeks, test case implementation for mac80211_hwsim, this includes=20
writing shell scripts, for testing and validation
3-4 weeks, test case implementation for orbit testbed
2 weeks, testing and debugging
1-2 weeks, website showing test results for mac80211 and device drivers


References
[1] http://dslab.utdallas.edu/
[2] http://dslab.utdallas.edu/tnt.php
[3] http://opensolaris.org/os/project/opengrok/
[4] http://www.sics.se/contiki/
[5] http://www.orbit-lab.org/wiki/Documentation/Libmac

2009-03-27 17:41:42

by Till Kamppeter

[permalink] [raw]
Subject: Re: GSoC '09 applicant : Introduction

Kalpana Roy has now applied officially for his project. To get access to
the application, add comments and ratings and also to add yourself as a
mentor for him, you must at first apply for being a mentor for the Linux
Foundation. Go to http://socghop.appspot.com/, log in with your Google
account (create one if you have none), fill in your profile and apply
for being a mentor for the Linux Foundation (link ID of the Linux
Foundation is "LF"). I will approve you as mentor and then you will be
asked to fill in your mentor profile after having done so, you get
official mentor (but not yet assigned to any student) and will have
access to the application.

For simply reading the application I add it below.

Till

Luis R. Rodriguez wrote:
> On Tue, Mar 24, 2009 at 11:08 AM, k roy <[email protected]> wrote:
>> Hello,
>>
>> I guess that I am pretty late at introducing myself in this mailing
>> list but I will do it nevertheless. My name is Kalpana Roy, a final
>> year student from India, pursuing her B.Tech(I.T.) degree. Inspite of

[...]

-----------------------------------------------------------------------------

Title: Integrate Geoclue with Gnome-desktop and to help with
regulatory compliance
Student: Kalpana Roy


Abstract:
---------

The current project aims to incorporate the location-awareness in the
Gnome-desktop and utilise the same to automatically update the linux
kernel to set the country for the current regulatory domain. It will
comprise of 2 parts:
1.Integrating Clock & weather applet, Tracker, Evolution, Empathy and
Gwibber with automatic location sensitivity.
2.Extending Network Manager to seed to wpa_supplicant, the country which
should be set for the regulatory implementation, which in turn passes it
to the kernel.


Content:
--------

What is the ultimate goal of your proposal? What do you want to achieve?

The project plans to achieve the following two goals :

1.

incorporate the location-awareness in the Gnome-desktop by
integrating the automatic location sensitivity into various
Gnome-desktop applications, and,
2.

utilise the location-awareness to automatically update the linux
kernel to set the country for the current regulatory domain.

The geographical information will be treated along the same lines as
time and hence automatic updation or manual modification of the location
will be as easy as changing time or date.
What components/modules will it touch/change or create?

In order to achieve the afore-mentioned goals, the project will utilise
the set of geoinformation APIs provided by GeoClue, and the providers
which implement these APIs. With the help of these, we will get position
information, get location coordinates through address (Geocode) and find
address with the help of location coordinates (Reverse Geocode).

*

As the first step towards making the Gnome-desktop location
aware, the following Gnome applications will be integrated with GeoClue
services : Clock and weather applet, Tracker, Evolution, Empathy and
Gwibber. (Although there are many other Gnome applications which can be
integrated with GeoClue, but keeping the GSoC time frame in mind, the
work is restricted to these applications only, for now. The other
applications are planned to be added with location sensitivity feature,
after successful completion of the proposed work). [Optional] Also, for
the Internet-based applications, a map can be generated to view the
location of the contacts in the visual format, using OpenStreetMap and
libchamplain.
*

The second part of the project will be implemented by extending
Network Manager to make use of the information supplied by GeoClue to be
able to seed the country which should be set for the current regulatory
domain, to wpa_supplicant, which in turn passes the information to the
linux-kernel.

What benefits does it have for the community?

The project aims to make Gnome-desktop *smarter*, in the sense that it
can automatically sense/realise the location/place where its computer
system is. A computer system can automatically update its time, if the
timezone is set. Both geographical location as well as time, are
informations which human beings refer from their environment or context.
This comes naturally to the human beings and gives them the smartness or
intelligence and the edge over the computers. If a computer can infer
its geographical location as well, then it will be one step closer to
being more human-like or achieving human intelligence.
The following usecases will illustrate how the project proposal is
beneficial for users :

1.

The proposed functionality is new and not provided by any other
desktop environment or operating system. Hence, Gnome will be more
user-friendly by providing this one-of-a-kind functionality.
2.

Give the gnome users the ease of not manually changing the time
and weather settings everytime they move from one place to another.
3.

Clock can not only automatically update the time & weather
settings but also display the appointments/tasks specific to a location.
4.

The Tracker will index the files based not only on time but also
on the basis of location of access/modification, then users can place
queries in the form "Show the files which I edited in Stockholm".
5.

Allow the users to set instant messaging availability status
based on location ("Set my work account as offline when I'm home").
6.

Make Gwibber send the current location of the user to
microblogging services that support it (like brighkite).

As stated above this project has two parts, and it will be done under
the co-mentorship of Gnome and Linux Foundations, both selected for GSoC
'09. The second part of the project focuses on the new regulatory
implementation for Linux wireless which features a new regulatory
infrastructure starting from the 2.6.28 kernel. Devices can specify
their regulatory domain through different interfaces and users can
further help compliance by specifying their country. So the best way of
achieving this is , instead of users having to manually supply the
location, GeoClue services are utilised by Network Manager which gets
the country value and sends the ISO 3166-1 alpha-2 country code to the
kernel via wpa_supplicant. Hence this automation will help in
maintaining the regulatory compliance with a greater ease.
Why you'd like to complete this particular project? If you have chosen
an idea from our list, why did you choose this specific idea?

The project proposal is a combination of ideas listed by Gnome and Linux
Foundations for GSoC '09. Both the ideas listed the use of
GeoClue/location awareness and hence the ideas were combined. While
scanning through the ideas list of Gnome, I preferred to choose a
project which would be suit my technical knowledge and allow me to
complete it successfully. The idea of location awareness appealed to me
the most and it also matched with my technical knowledge and experience.
I could immediately relate to the various benefits that could be
achieved if the desktop applications had location awareness; the various
small automations and ease which would be supported through the project
while working on mobile computer systems.

I chose to apply in GSoC so that I can get into FOSS development and not
just looking for a summer job opportunity. I own a laptop and have to
travel from my college to my home everyday and hence I could absolutely
relate myself to the benefits that would be achieved by making the Gnome
desktop location aware. The reason for choosing Gnome is very simple, I
work on Linux machines mostly and Gnome has been my desktop environment
of choice since I started using Linux, so I wanted to work on something
which could be ultimately used by me.
Another reason for choosing and sticking with this project were the
immediate and encouraging responses which I received on the mailing list
and IRC channel. GeoClue developers Jussi Kukkonen and Henri Bergius
helped me in developing the ideas list to what it is now and satisfing
my queries. They made me understand the depth of the work involved in
the project and not underestimate as building a "few patches for random
applications". Luis Rodriguez from Linux Foundations (who has very
kindly agreed to co-mentor this project, in case of being selected),
made me aware about the idea of integrating Geoclue to maintain the new
regulatory compliance. This is how the current project proposal came to
be what it is now and combining the two similar ideas has helped me to
scale the work big enough to be completed in the given time frame and
also exciting enough to work on.
Why do you think you are the best person to work on this project? What
makes you suited to carry out the project?

I chose this project to apply for GSoC '09 for the reasons that, 1. I
possessed the basic technical knowledge which is required to be able to
work on it, 2. I found the idea extremely interesting, innovative and
useful. The idea gave me the vision to imagine the computers more
knowledgable and intelligent than before. I feel that it is very
important to enjoy the project that you are going to work on and I
definitely feel excited about this one. This project will satisfy both
my hunger to contribute to open-source as well as fulfill my creative
aptitude. I am not a programmer who sticks to traditional terms of ~6
hours of work a day; I can work continuously for days if the work
demands and is interesting and hence I feel that I can contribute to
this project a lot more than the others. I plan to continue the work
after GSoC ends as well. I guess having developed the project to what it
is now from the idea of the clock applet automatically detecting
timezone changes, shows my dedication to the project and also the fact
that I have done research about the same and contacted the developers to
let them know about my idea and my willingness to work and make
location-awareness a reality.
How much time do you plan to invest in the project before, during and
after the Summer of Code (We expect full time 40h/week during GSoC, but
better make this explicit)?

I plan to start working on the project from April itself and would spend
the month learning more about the technologies to be used. From May to
August, which will be the coding months, I can devote full time working
on the project as there are no prior committments which can take up my
time. As already stated, I am planning to include location senstivity to
the Gnome applications which will not be covered in the GSoC period so
my committments to this project stay even after GSoC. Also, I will look
into improving/alternate ways of passing the location information to
kernel for regualtory compliance after GSoC.
How do you plan to achieve completion of your project?

I plan to complete the project by dividing the whole work into modules
and creating deadlines for their completion. The preliminary timeline
includes :

*

April : Study the source code and get familiar with the various
technologies and applications to be used in the project (GeoClue, Clock
and weather applet, Tracker, Evolution, Empathy, Gwibber, Network
Manager). Write a patch for GeoClue to fix a bug OR to complete some of
the TODOs listed. Learn more about the new regulatory infrastructure of
the linux kernel.
*

May - June : Create Geoclue patches for the gnome applications to
enable location sensitivity. Starting with Clock (ensure timezone
detection and change , weather change according to location,
appointments/tasks display according to location), will move to the
Internet based applications Gwibber, Evolution and Empathy to update
them with location information, and then will add the functionality of
indexing based on location to Tracker. [Optional] Also look into the
generation of maps of the locality using OpenStreetMap and libchamplain
for use along with the Internet based applications, depending on the
time left.

Plan to complete making Gnome-desktop location aware before mid-term
evaluation.

*

July : Add the functionality of finding the country of location
to Network Manager and sending the code to Wi Fi protected acces
supplicant to be sent to the kernel for implementing regulatory complaince.
*

August : Integrating together all the functionalities developed
and checking for loop-holes/glitches.

What are your past experiences (if any) with the open source world?

I have been using free & open source softwares since the times I had a
personal computer but was introduced to contributing to FOSS, last year
through a successful GSoC '08 student. I understood and appreciated FOSS
movement since then and was willing to contribute to it. The projects
which I had worked on throught out my college life used open source
technologies although my first shot at *real* open source development
was the developing a GUI for VPython using PyGtk. I also submitted
patches for additional functionalities to an already existing VPython
editor but the author had not released/maintained the editor officially
hence, I cannot claim that my work was included in VPython officially.
The desire to contribute to open-source and finding ways of doing so are
the sole reasons which have driven me to GSoC and through the program I
have finally known the ways of contributing to FOSS.

My current project, which will finish by the end of April, is the use of
distributed fast fourier transform for writing fully distributed N-body
code for cosmological applications. It is also an open-source project
which uses C language, FFTW and MPI(Message Passing Interface) libraries
and is useful for astro-physics calculations.
Biography :

I am Kalpana Roy, a final year student at Indian Institute of
Information Technology, Allahabad, India, pursuing my B.Tech (I.T.)
degree. After being a FOSS user for a long time, I have come to
appreciate the FOSS movement and want to contribute to its development.
Google Summer of Code is the first official step towards it and I am
extremely enthusiastic and motivated to participate. I usually code in
C++ and am familiar with C, Java, PHP, MySql, Python (mostly VPython &
PyGtk) and Bash. Some of my major projects include creating an FTP
server searcher, ICE - Integrated Conference Environment (software
similar to OpnConf), Document Similarity Analyser, VPython GUI/Editor
and Using distributed systems for generating N-body codes. Though I have
always used open source softwares and developed open source softwares, I
have never been involved in contribution to already existing open source
organisations and programs and hence I am looking forward to do so
through GSoC '09.
I am among the toppers of my batch and regular recepient of college
scholarships. I was associated with the STL (Standard Template Library)
teaching group of my college and was also the team leader of the college
team participating in Google Got the 'App'titude Challenge. My
extracurricular interests include solving online riddles, for which I
have won many college level competitions, watching animes and reading
mangas. I have been placed in Adobe Systems, India which I will be
joining after the completion of my B.Tech course, later this year. I
want to start and continue contributing to FOSS and spread the word
around to motivate more people like me who had always harbored a wish to
contribute but never knew how.

Additional info:
http://wireless.kernel.org/en/developers/GSoC/2009/GeoClue_regulatory

Created on: 2009-03-27 11:46:41.183111
Last Modified on: 2009-03-27 11:50:34.039773

2009-03-27 18:26:21

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: GSoC '09 applicant : Introduction

On Fri, Mar 27, 2009 at 10:41 AM, Till Kamppeter
<[email protected]> wrote:
> Kalpana Roy has now applied officially for his project. To get access to the
> application, add comments and ratings and also to add yourself as a mentor
> for him, you must at first apply for being a mentor for the Linux
> Foundation. Go to http://socghop.appspot.com/, log in with your Google
> account (create one if you have none), fill in your profile and apply for
> being a mentor for the Linux Foundation (link ID of the Linux Foundation is
> "LF"). I will approve you as mentor and then you will be asked to fill in
> your mentor profile after having done so, you get official mentor (but not
> yet assigned to any student) and will have access to the application.

I've put in a private review and scored it.

Thanks!

Luis

2009-04-03 16:58:08

by Till Kamppeter

[permalink] [raw]
Subject: Google Summer of Code 2009: Another wireless application

Hi,

we got another application on wireless. See below. Who has not done so
yet, do not forget to apply as mentor for the LF at
http://socghop.appspot.com/.

Till

--------------------

Title: AP mode support for Network Manager
Student: Witold Sowa
Mentor: No mentor assigned
Possible Mentors: None
Abstract:
Since the 2.6.29 version, Linux kernel supports the Access Point mode
for mac80211 drivers. However, there is no simple GUI tools available,
which would let users set their own AP easily. This project purpose is
to add the AP mode support to NetworkManager using hostapd or
wpa_supplicant. That will require creating a suitable dbus interface for
hostapd or moving hostapd's functionality to wpa_supplicant. GUI tools
for managing the Access Point mode will be delivered too.
Content:
Personal information

My name is Witold Sowa and I am a fourth year student of computer
science at AGH University of Science and Technology in Cracow, Poland. I
am interested in networking and systems based on wire and wireless
communications, especially in solutions for mobile devices and i am
going to concentrate my further education on these issues. I am
convinced that my current knowledge and experience gained during
realization of many student's and private projects as well as during
last summer internships in Motorola Poland Software Center will let me
realize my Google Summer of Code project with outstanding result.
Technical skills and setup

I use an Acer notebook with 32-bit Intel Celeron M CPU, and Atheros
AR2413 Mini-PCI wireless NIC running under control of OpenSUSE 11.1
Linux distribution. I am going to supply myself with another wireless
NIC which will use kernel mac80211 driver soon. First two years of my
studies I was coding mainly in C/C++ using many types of third-party
libraries like scientific, multimedia, or networking and of course
standard library including STL. During my internship in Motorola I was
programming using Perl and Python, which became my favorite language. My
job was preparing and integrating components of automated testing
environment for network devices. I have some basic knowledge about
802.11 standards, which I hope extend during realization of my project.
Unfortunately, I have just started my first project connected with
kernel development at my studies which will concern DCCP protocol, so my
experience in this matter is rather minimal but the project I am
applying for doesn't require kernel code modifications. I have also some
experience with Java. Because of of my private project which is a
hovercraft model controlled using a Bluetooth enabled cell phone, I have
a practical knowledge in programming for Atmel micro controllers in C
and for mobile devices in JavaME. Besides mentioned C/C++, Python, Perl
and Java, I also have an experience in following programing languages
and techniques: XML-RPC, RPC, Java RMI, CORBA, XML, JavaScript, UML
modelling, unit tests, shell scripting, Qt framework, C#. I was
repeatedly working with Subversion and once with Mercurial and Git
Cooperation with linux-wireless group

My experience in open source development is mainly limited to KDE
project. I sent a few patches to KDE applications and I was working in
already dead project QuickAccess concerned with KDE4 GUI. Since I have
never participated in any linux-wireless group project, I believe that
realization of my GSoC project would be a very good beginning. It is
extremely important to me to feel that effects of my work will be
helpful for many people. I am sure that thanks to my work Linux users
will be able to set up theirs own Access Points much more easily.
My project

I am going to write clean, separated into 3 layers, tested and well
documented code and keep it as simple as possible. I have chosen Access
Point support for Network Manager project to carry on because it will
let Linux users make better use of kernel capabilities and it concerns
area of my interests, e.i. networking and wireless communication. I
think that I am suitable candidate to carry on that project because my
technical knowledge, experience and will to learn combined with high
motivation will let me carry out my ideas with all details. I am going
to invest at least 40 hours per week of my time except one week in the
middle of June (20-30h/week) when I will have to spend more time on my
studies projects. Of course, I will make up for the lost time in next
weeks and I will make an effort to keep up with the schedule. Since I
treat Google Summer of Code as a beginning of cooperation with Linux
wireless community, I am going to contribute to group's work after
finishing the project during academic year investing at least few hours
per week.
Preliminary schedule

1. Before the beginning of program I am going to familiarize myself
better with source code of hostapd, wpa_supplicant and NetworkManager. I
will also discuss implementation details on linux-wireless list,
especially with Dan Williams who would be my mentor. Probably, I will
also try to perform some experiments with mentioned source codes.
2. I estimate that making required changes in hostapd code or moving
its functionality to wpa_supplicant will be the most time consuming part
of the project and it should be finished till end of June. The changes
would be creating dbus interface used to control hostapd and moving most
of its configuration options from configuration file to dbus interface.
3. Then, I would spend whole July on hacking on NetworkManager.
Making it communicating with altered hostapd/wpa_supplicant will take
about half of the month. The second half will be spend on creating NM's
dbus interface for client applications like nm-applet.
4. Making GUI for nm-applet will take first week of August.
5. The rest of the project's time and some time after the deadline
if necessary, I will spend on final testing, cleaning and refactoring
the code as well as on updating code's documentation.


2009-04-03 19:12:27

by Till Kamppeter

[permalink] [raw]
Subject: Google Summer of Code 2009: Another wireless application

Hi,

we got another application on wireless. See below. Who has not done so
yet, do not forget to apply as mentor for the LF at
http://socghop.appspot.com/.

Till

--------------------

Title: Automated test bed for WiFi
Student: vipin m
Mentor: No mentor assigned
Possible Mentors: None
Abstract:
Presently none of the open source drivers are WiFi (Wireless Fidelity)=20
certified. Getting that certification is costly too.UNH-IOL brings out=20
comprehensive test plans for protocol conformance testing. But=20
unfortunately the tools used by UNH-IOL are not available publically.An=
d=20
the final goal of this project is to test the IEEE 802.11n based open=20
source device drivers and devices (AP and clients) in terms of protocol=
=20
conformance and interoperability with various vendors.
Content:

About Me -

I am Vipin M, doing My MS by Research in Wireless Communication at=20
AU-KBC Research Center of Anna University Chennai india.

I finished my B.E - Electronics and Communication Engineering (2000 -=20
2003) Tamilnadu, India

From April 2004 to January 2006 as Project Engineer in Network Securit=
y=20
Research Group and System Administrator at AU=E2=80=93KBC Research Cent=
re. At=20
present i parally doing network administartion work for center with my=20
MS studies.

Exprence -

IEEE 802.11n Power Save Simulation - Simulation study of HT-MAC Power=20
Save in Matlab.
Building Custom Linux distribution - Building a custom Linux for=20
=46irewall, Development, Mail and Web Servers.
Remote File Integrity Check (RFiC) - Software tools to check the file=
=20
integrity of local files in Linux systems developed using c.
Dynamic Password Authentication System ( DPAT) - Used for Two Factor=20
authentication. Hardware Token in client side and web server on server =
side.
Detection and Analysis of Burst Signal from LDV - Bust signal analyzer=
=20
using LabView / Matlab for Laser Doppler Velocimeter.

My irc.freenode.net id is vipintm.

Code skill and other details -

I use C for most of the simulation as part of my research work, work=20
around C++ and Qt for simple GUI. Do scripting using bash/perl also for=
=20
the network administartion task and automation of our internal testin=
g=20
and expiriments.

I use AMD Athlon X2 based Acer lapto with Merlin based Atheros ( Athero=
s=20
AR9280 ) card in express pci and Brodcome (BCM4311 ) inbuild card with=20
fedora 10 os. I use latest compiled kernel from wireless-testing.

I have a good understanding of IEEE 802.11 protocoles. And currentely i=
=20
am in a lerning process of mac80211 based linux-wireless stack.

We use SVN for most of the internal project and now git through linux

Till date none of my work is not there in public domain. But used lot o=
f=20
open source tools in the development.

Project Proposal - Automated test bed for WiFi



The reson to chose this project

Presently none of the open source drivers are WiFi (Wireless Fidelity)=20
certified. Getting that certification is costly too. WiFi Alliance (WFA=
)=20
also majorly focuses on the interoperability among the multiple vendors=
=2E=20
UNH-IOL brings out comprehensive test plans for protocol conformance=20
testing. But unfortunately the tools used by UNH-IOL are not available=20
publically.

What do you want to achieve?

=46inal goal of this project is to test the IEEE 802.11n based open sou=
rce=20
device drivers (such as ath9k, iwlagn etc) and devices (AP and clients)=
=20
in terms of protocol conformance and interoperability with various vend=
ors.

If you are proposing a project of your own, what is unique about it?

We created a draft version of test plans using UNH-IOL and other genera=
l=20
test senirious. We added plans for Stress and Regression testing.

This enhanced test plans are developed to help free-lancers to evaluate=
=20
the functionality of the MAC (Medium Access Control) layer. And also=20
ensures that the device/driver obeys the specification defined in the=20
IEEE standard. Access point (AP) as well as client cards can be tested=20
using our test bed.

Each and every bit of a frame can be manipulated in our injection tool.

What makes you suited to carry the project?

We had experience in testing performance of outdoor and indoor based=20
WiFi products. Presently we are doing minimal testing on mac80211 based=
=20
driver as we have enough hardware resources. Meantime we found=20
interesting to develop a complete test bed which can do most of the tes=
t=20
automatically.



What do you expect from your implementation?

We are expecting the following two tools will be the outcome of this=20
project.

1.

Injector

This tool is used to transmit MAC frames according to the test plans in=
=20
controlled and interactive manner. Data rate, channel and other=20
necessary parameters also can be configured. Development of this tool i=
s=20
already in progress.

1.

Test Console:

Test parameters such as device type (AP, Client), hardware address of=20
the device will be configured in the console. Once these configurations=
=20
are done the tests runs automatically based on the test plan. It can=20
directly interact with Wireshark and Injector to get the results and=20
then analyses the results. Finally generate the complete report based o=
n=20
the collected results. Development of this tool is not yet started.

Why have you chosen your development idea?

To implement all the test plans we need the above mentioned tools. With=
=20
the help of console we can automate the testing process.



Tentative schedule -



As we have a simple syetm for injecting packet, we like to continu to=20
extent it to ieee 802.11n packets and make
the frame work so we like to discuss and generate a schedule.


REF : http://www.iol.unh.edu/

2009-04-05 22:02:50

by Witold Sowa

[permalink] [raw]
Subject: Re: Google Summer of Code 2009: Another wireless application

Hin-Tak Leung pisze:
> On Sat, Apr 4, 2009 at 11:07 AM, Witold Sowa <[email protected]> wrote:
>
>> Hin-Tak Leung wrote:
>>
>>> (Hi Till!) - personally I like to see AP mode in network manager...
>>> there are two students on this (neither look too promising on first
>>> glance, but I could be wrong.)
>>>
>>> I haven't been checking lately - seems to have fewer students this year?
>>>
>>>
>> Actually, I disagree. I am ready to discuss my ideas and prove that I
>> have suitable skills to carry on the project.
>>
>
> You are free to discuss your ideas - but it was quite inappropriate of
> me to comment on merits and relative merits of students' applications
> in an open list, and I apologize for that.
>
There is nothing to apologize for. I think that proposals should be
discussed publicly. It would point mistakes which applicants do and help
them to avoid doing them later (eg. next year). Constructive criticism
is always welcomed.
> You are welcomed to try - and please do. But mind you a few things
> (and same applies to other students' applications):
> somebody who is knowledgeable in the topic of your choice needs to
> agree to be your mentor, and so far that has not happened - Dan has
> not agreed to consider any of the AP mode applications yet AFAIK;
> also, project ideas are compared and considered both within linux
> foundation, and in GSoC as a whole: Google only funds X numbers of
> projects each year, and only Y are allocated to Linux foundation.
>
I thought it works in a bit different way. I thought that mentor is
determined to lead some project before the applications are submitted.
Then, proposals are sorted in order of quality and importance and the
best Y applications is being accepted. Thanks for making it clear.

2009-04-03 17:03:48

by Till Kamppeter

[permalink] [raw]
Subject: Google Summer of Code 2009: Another wireless application

Hi,

we got another application on wireless. See below. Who has not done so
yet, do not forget to apply as mentor for the LF at
http://socghop.appspot.com/.

Till

--------------------

Title: 802.11 Wireless
Student: Carlos Limpinho
Mentor: No mentor assigned
Possible Mentors: None
Abstract:
802.11 Wireless

develop a real plugin for Network manager
Content:

* Carlos Limpinho
* Universidade de =C3=89vora Portugal
* good student, motivated.



Your Coding Skills

In your application let us know

* Ubuntu
* java C python, school experience





You and Us

* Were you involved in development in the project's group in the=20
past? What was your contribution?

no

* Were you involved in other OpenSource development projects in th=
e=20
past? which, when and in what role?

no

* Why have you chosen your development idea and what do you expect=
=20
from your implementation?

to be usefull

Your Project

* What do you want to achieve?

the final pluguin

* If you have chosen an idea from our list, why did you choose thi=
s=20
specific idea?

i like netwoks! i wont to work on it

* If you are proposing a project of your own, what is unique about=
it?
* What makes you suited to carry the project?

experience and money

* How much time do you plan to invest in the project before, durin=
g=20
and after the Summer of Code (We expect full time 40h/week during GSoC,=
=20
but better make this explicit)?

the time ir needs

* Please provide a schedule of how this time will be spent on=20
subtasks of the project. While this is only preliminary, you will be=20
required to provide a detailed plan latest at the beginning of GSoC and=
=20
during the project you will issue weekly progress reports against that =
plan.

Retrieved from=20
"https://www.linuxfoundation.org/en/Google_Summer_of_Code_Student_Appli=
cation_Template"

2009-04-04 10:07:51

by Witold Sowa

[permalink] [raw]
Subject: Re: Google Summer of Code 2009: Another wireless application

Hin-Tak Leung wrote:
> (Hi Till!) - personally I like to see AP mode in network manager...
> there are two students on this (neither look too promising on first
> glance, but I could be wrong.)
>
> I haven't been checking lately - seems to have fewer students this year?
>
Actually, I disagree. I am ready to discuss my ideas and prove that I
have suitable skills to carry on the project.

Witold

2009-04-03 11:05:35

by Till Kamppeter

[permalink] [raw]
Subject: Google Summer of Code 2009: Another wireless application

Hi,

we got another application on wireless. See below. Who has not done so
yet, do not forget to apply as mentor at the LF.

Till

--------------------

Title: Impove Wireless Roaming
Student: Mircea Gherzan
Mentor: No mentor assigned
Possible Mentors: None
Abstract:
Wireless roaming functionality is currently provided to mobile Linux
users by the wpa_supplicant daemon. However, there is no assistance
coming from the in-kernel wireless stack (mac80211). The roaming
experience can be improved by providing such assistance in the form of
scanning triggers. This project aims to design and implement such
triggers and to modify the supplicant accordingly in order to enhance
the roaming.
Content:
About myself

I'm a final year student in Computer Science at the Techical University of
Bucharest, Romania (graduation: June 2009). Becaouse of my result, I was
invited
to work as an Undergraduate Teaching Assistant (UTA) in the CS department,
being part of the following teams:
* Operating Systems (Spring 2008, Spring 2009)
* Object Oriented Programming (Fall 2007, Fall 2008)
* Data Structures (Spring 2009)

I have completed the following internships:
* Vodafone Romania (Summer 2007) - UNIX scripting and development
(CORBA, Oracle
Call Interface)
* BitDefender (Summer 2008) - part of the Core Libraries team, I was
doing C++
coding and profiling for a high-performance web-server of internal use.

I am currently an intern at Ixia, part of the IxOS Linux team, doing kernel
programming (device drivers, networking, CryptoAPI).

I am looking forward to completing a M.Sc. Degree at the Techical
University of
Dreden (Germany), for they have a very powerful group in Operating Systems.

I am present on the #linux-wireless channel with the nickname mike85.
Coding skills and setup

I use Debian Sid since a couple of years. My development machine is a T500
ThinkPad with an Intel IWL5300 AGN card. I also have access to two other
machines with Atheros and Intel wireless cards.

I have a strong command of C, C++, Java and Linux system programming. I
am also
familiar with kernel programming, doing it now part of my internship and
having
_practiced_ it at the university. I also have embedded programming
skills, one
of my projects being a Bluetooth-controlled rover whose sources and
schematics
now serve as learning material for younger students.

Apart from kernel/system programming, I am also familiar with various
technologies, like RMI, CORBA, RPC, RMI, OpenMP, MPI and with some scripting
languages (perl, python). I am comfortable with git (using it a lot at
school)
and svn.

I have good knowledge of networking concepts, completing Cisco CCNA
courses and
being among the top student in the networking related courses.

I therefore think I have the desired knowledge to complete the project.
Me and linux-wireless

My involvement in the Linux wireless community has been limited to
testing and
submitting bug reports on the kernel bugzilla. As an user, I was an early
adopter (non mainline days) of the mac80211 stack and of the iwlwifi
drivers.

Two years ago I started an open source project: MoTorr, a J2ME based
BitTorrent
client. The project is hosted on SourceForge.

I have chosen to apply for the roaming project because it :
* involves both kernel-space and user-space programming
* adds huge value to the mobile end-user experience

An important factor in my decision was the feedback received on the mailing
list after my initial enquiry. The ideas of Holger Schurig and Helmut Schaa
helped me a lot in writing this application.

I expect my work to provide and smooth and power-efficient roaming experince
for mobile users. I am a laptop user myself, I would simply love my machine
to roam faster while moving around the campus.
The project

It aims to achieve better roaming capabilities for the users, by enabling a
better cooperation between the mac80211 and wpa_supplicant.

I have chosen this particular ideea from the list beacause it posed some
interesting challanges in terms of:
* right placement of the code (kernel- vs user-space)
* design (interface for different decision making algorithms)

I think I am suited to carry this project because I have experience in both
types of programming involved and I am familiar with the concepts of
802.11 networks. I also find the wireless kernel code well documented
and easy
to understand and hack on.

Naturally, I am willing to invest at least 40h/week in the project
during GSoC.
However, this number might increase, for I am aware of the problems
arising in
kernel development and testing such code, but I am willing work as much as
required to keep up with the schedule and providy quality code.
A minor exception would be the first week, where I will probably assign only
30 hours: it is the last week of my intership at Ixia.

I see this project as my opportunity of becoming part of the kernel
community
and therefore it is quite obvious that I will continue to contribute after
GSoC ends.

Some technical considerations:
* from the very beginning I consider NM to be out of the picture
* the main decisions are:
* _if_ to roam belongs to the kernel
* AP selection should be done in wpa_supplicant
* "if" decision should be done considering:
* signal strength
* missed beacons
* for decisions based on signal stregth, drivers shoud be assigned a scaling
factor in order to get a driver-independent threshold
* scanning hints should be relayed from the kernel to the supplicant
Preliminary Schedule

A final schedule will be discussed on the list upon acceptance.

* Before May 23rd:
* get more familiar with kernel and wpa_supplicant code
* read the O'Reilly book on 802.11 _in detail_
* discuss the ideas even more on the mailing list
* create a test setup at my house (at least 2 APs)
* GeoClue integration research
* start coding (why not?) if consesus on the mailing lists has been
reached
* set up a blog, wiki page and other communication means, if necessary
* May 23rd - June 1st:
* design a common interface for roaming decision algorithms
(like rate-selection)
* deliverable: wireless-testing patch
* June:
* write kernel triggers
* nl80211 interface additions.
* deliverables: patches for wireless-testing
* July - August 10th:
* add support to the triggers in wpa_supplicant (generic and driver
code)
* GeoClue client behaviour in the supplicant
* deliverable: wpa_supplicant patch
* August 10th onward:
* integration testing
* fine tuning, bugfixing
* writing documentation
* After GSoC:
* code clean-ups, refactoring, etc

Additional info: http://swarm.cs.pub.ro/~mgherzan/soc_roaming.txt


2009-04-05 03:17:59

by Hin-Tak Leung

[permalink] [raw]
Subject: Re: Google Summer of Code 2009: Another wireless application

On Sat, Apr 4, 2009 at 11:07 AM, Witold Sowa <[email protected]> wrote:
> Hin-Tak Leung wrote:
>> (Hi Till!) - personally I like to see AP mode in network manager...
>> there are two students on this (neither look too promising on first
>> glance, but I could be wrong.)
>>
>> I haven't been checking lately - seems to have fewer students this year?
>>
> Actually, I disagree. I am ready to discuss my ideas and prove that I
> have suitable skills to carry on the project.

You are free to discuss your ideas - but it was quite inappropriate of
me to comment on merits and relative merits of students' applications
in an open list, and I apologize for that.

You are welcomed to try - and please do. But mind you a few things
(and same applies to other students' applications):
somebody who is knowledgeable in the topic of your choice needs to
agree to be your mentor, and so far that has not happened - Dan has
not agreed to consider any of the AP mode applications yet AFAIK;
also, project ideas are compared and considered both within linux
foundation, and in GSoC as a whole: Google only funds X numbers of
projects each year, and only Y are allocated to Linux foundation.

So, on the first issue, if I decide to take a student (on a different
topic), and nobody agrees to take you, you are automatically out... on
the 2nd/3rd point, if your application does not compare well - either
in terms of intrinsic merits, or in terms of strategic importance of
"linux roadmap" overall, then some other applications within Linux
Foundation may get a higher rating; and lastly, Google only agrees to
fund Y projects (which is to be decided when all the applications from
every organization comes in, and weighted against organizations, say,
based on past years organizations' track record - e.g. some
organizations get a lot of slots but many did not finish, etc may get
fewer slots this year).

So - if you want to discuss your ideas, please do. (not to me
personally, since I am not likely to be mentoring the AP mode
project).

2009-04-04 01:20:53

by Hin-Tak Leung

[permalink] [raw]
Subject: Re: Google Summer of Code 2009: Another wireless application

(Hi Till!) - personally I like to see AP mode in network manager...
there are two students on this (neither look too promising on first
glance, but I could be wrong.)

I haven't been checking lately - seems to have fewer students this year?

2009-04-03 19:09:02

by Till Kamppeter

[permalink] [raw]
Subject: Google Summer of Code 2009: Another wireless application

Hi,

we got another application on wireless. See below. Who has not done so
yet, do not forget to apply as mentor for the LF at
http://socghop.appspot.com/.

Till

--------------------

Title: Proposal for AP support to Network Manager
Student: Rathin Radhakrishnan
Mentor: No mentor assigned
Possible Mentors: None
Abstract:
mac80211 is the Linux API used to write wireless drivers. As of 2.6.29
the Linux kernel gets AP support for mac80211 drivers.Using hostapd is a
method to enable this support. All new mac80211 based drivers that
implement AP functionality are supported with hostapd's nl80211 drive.A
GUI based control configuration utility is required for AP support.
Content:

Name : Rathin.Radhakrishnan

B.tech in Computer Science and Engineering in Model Engineering
College(Cochin University of Science and Technology)

I am doing my 6th semester in B.Tech . I have been interested computer
science related stuffs from school days ,but from the day i got to use
Open Source applications i have delved more into what exactly Computer
Science is all about . I take this opportunity with The Linux Foundation
in GSOC as a learning curve in my career.

irc-nick : nap_ster

I own a DELL INSPIRON 1525 which has a Intel Core to duo T5450 .And the
operating system i use is GNU/Linux(UBUNTU).

I have done my school-level project that was a software that managed an
automatic car-parking system .It was coded in C++.

My mini-project in the college was an automated script that identified
an idle system and brought it down if found to be idle .it was scripted
down in Perl

I would like to apply for your idea to Add AP support for Netwrok
Manager . I have been using C as a language for my various lab sessions
in my college. I have completed a set of Lab as well as theory subjects
on C .I have alwas been interested in Computer Networks and wirless
networks being an area of develpoment currently has always attracted me
.Although i have not been much a part of any development in this section
i have read certain papers on it . Linux Kernels have always interested
me . I have always tried recompiling some of the updates on kernels even
before they were integrated into my OS(Ubuntu).But as of now i dont have
much of Kernel Development experience.Given a choice to choose
scripting language i would choose Perl and Python cause i have been
fascinated by the power of both of them .

This is my first hand experinece with The Linux Foundation as well as
the GSOC.

My implementation would be like: A system when in AP mode can set itself
have a hostapd ( Host Access Point Daemon ) . The Host Access Point
daemon (hostapd) manages user-space 802.11 functions such as
authentication, encryption, initializing network interface, beacon
intervals, extended authorization protocol (EAP) keys, etc.

The things i would like to achieve from this project would include
successfull integration of access point mode into network manager .Also
since there are no current GUI for the AP mode so that would be also a
part of achievements. Not to forget about the whole knowledge that i get
access to while working with such a coveted organisation like The Linux
Foundation.

I have choosen the idea to provide AP support for Network manager cause
i have always wondered about this. I have always looked in through the
various modes of operation available for a wireless card in GNU/Linux
System and had always question about why there was no access point mode.

I had actually planned on doing a project on wireless routing .The
actual project was to provide a network connection to a system who got
access to the network through a system that was connected in the
network. This idea made me search all kinds of papers and books on what
to do .In the end had to give it up when i found that the modes of
operation was just managed and ad-hoc mode . And i feel that i am
suited for this project because of the fact i have a natural attraction
to this subject as stated above. I feel that when provided with an
opportunity i should be able to overcome each hurdle that i encounter
through the course of this project . And i have the confidence to take
the responsiblity too .

As we have got summer hols from May1 to June 30 time shouldnt be a
problem for me . I could easily dedicated 40 hrs/week if not more .

I would subdivide my task into various levels. And depending on the
number of levels i should divide the time for each subtasks as well .
Currently it includes the integration of AP mode into network manager as
well as the GUI for the AP mode.


2009-04-05 22:42:38

by Hin-Tak Leung

[permalink] [raw]
Subject: Re: Google Summer of Code 2009: Another wireless application

On Sun, Apr 5, 2009 at 11:02 PM, Witold Sowa <[email protected]> wrote:

> There is nothing to apologize for. I think that proposals should be
> discussed publicly. It would point mistakes which applicants do and help
> them to avoid doing them later (eg. next year). Constructive criticism
> is always welcomed.

It is still up to somebody else to make up their mind to accept a
student/application or not, in the wireless area, which isn't where my
expertise lies, and/or decide between several applications to the same
project.

> I thought it works in a bit different way. I thought that mentor is
> determined to lead some project before the applications are submitted.
> Then, proposals are sorted in order of quality and importance and the
> best Y applications is being accepted. Thanks for making it clear.

Yes and no. Project ideas and areas needed working on are advertised,
but mentors are not committed to take up students. (and students can
suggest their own topics, and when that happens, some people will hunt
for suitable mentors). And all the projects under the Linux
Foundations are scored and qualified together before Google takes the
decision of how many to fund. i.e. wireless projects are considered
against open-printing projects against LSB-standard-compliant
projects. So there are 4(?) wireless ideas, and a few possible mentors
under those 4, but it doesn't necessarily mean that there will be 4
students working on each of those this summer. Most likely it will be
less than 4. If there are fewer than 4, it just means that the work
won't get done this year (i.e pushed to next year) or being done
differently (one of Redhat/Suse/Ubuntu people might just do it as a
smaller part of the daily job).

(it is possible to have more than 4 - e.g. I can see two people
working on AP mode NetworkManager support, one for gnome and one for
KDE, if Google or some organization have unlimited resources).

AFAIK, google wants to fund 1000 projects this year (a slightly
smaller number than last year, due to economic down-turn), and this is
split between organizations, and out of the allocation to Linux
Foundations, some will be wireless, some will be open-printing, and
some will be LSB-standard-compliances. (those are the areas I know off
the top of my head of main areas under LF, there might be some other
topics which I forget to mention).