[lsb-discuss] Google Summer of Code 2012: 14 good applications but only 12 slots

Till Kamppeter till.kamppeter at gmail.com
Thu Apr 19 18:34:15 UTC 2012

We got a second extra slot now (14 in total), which lets us take in all 
our good students, including the two duplicates, Evgeny Novikov, and Misha.

But now there came up another interesting student which someone of us 
could mentor: Antti Palosaari with the project from the list "Open 
firmware for ath9k_htc" and an alternative own project "DVB-USB" 
(support for USB sticks to watch TV on a computer). Hin-Tak can probably 
tell more about him. If someone wants to mentor Antti (please click 
"Wish to mentor" on Antti's application), one of our duplicates would 
need to be moved to OpenSUSE and the other stays with us.

I have also another interesting student who I could not accommodate. 
Chetan has applied for the OpenPrinting web app but we have decided for 
Jannes Jessing to do this project. Chetan is still a very good web app 
programmer and if one of you would like to have web app work done this 
summer, why not ask him (by public comment in his application) whether 
he would do your web app project, but then another of our duplicates 
would have to go to OpenSUSE.

I add the two applications below and attach Chetan's PDF application. So 
please compare with the students on OpenSUSE's waiting list for making 
the final decision.



Open firmware for ath9k_htc
Antti Palosaari

Email: crope at iki.fi

Short description: Taken from the project web-page: "The ath9k_htc 
driver is upstream on the Linux kernel and supports QCA's newest USB 
802.11n devices. We have open firmware for carl9170 through carl9170.fw 
but ath9k_htc has no open firmware yet. One possible project is for a 
student to work on open firmware for ath9k_htc." 

I am Antti Palosaari, information engineering student at University of 
Oulu, Department of Computer Science and Engineering from Finland EU.
You will catch me from the IRC, nickname is crope. Other contacts can be 
found from my homepage: http://palosaari.fi/

I looked interesting projects from the Google Summer of Code 2012 and 
that was the only interesting one. Main criteria was Linux Kernel 
related project since I have already done rather much Kernel coding for 
the Linux Media subsystem. Those contributions are mostly device and 
chip drivers for the digital television (DVB-T/T2/C/S/S2 and DTMB 
standards). Currently I am one of the most active developer of media 
subsystem, having huge amount of Kernel drivers in that subsystem.

First contributions are done on year 2006 but I have been very active 
around 3 years now. According to Ohloh tracker my experience for the 
Kernel is around 3 years. I have done past also some telecommunications 
software, mainly C and SDL languages. Experience from that industrial 
side is over 3 years. Also some other smaller project from school and 
industry, Python, Qt, SQL and C. But C is the language I am speaking 
even in the real life ;-)

Surely I would like to take project from the Linux Media subsystem, but 
unfortunately there wasn't any listed. I think we don't have mentors and 
thus no project, maybe I should start mentor next year :) Doing code on 
the area you already know better than your pants pocket is more 
efficient as no time spend for learning. But if it is possible to take 
own project I would like improve, or implement new DVB USB core. There 
is also a lot of other issues to resolve, public API changes and 
internal API changes too - for the digital video.

And as you ask, 40h/week is much, but I can do it. Coding is fun when 
project is interesting and time goes on the fly! I like to hack. I 
cannot say much about schedule since I haven't seen the code I should 
start hacking...

And some interesting links related to topic:

Antti Palosaari April 3, 2012, 9:25 p.m.

I have no embedded experience as much as Kernel device driver coding, 
but something still. Mainly school related projects but also one USB 
chip firmware for the DVB device. I collected small list projects that 
bear in mind. There is surely some more, likely smaller hacking 
projects, blink LEDs using PIC etc... I am not even going to mention.

Embedded thermometer. School project. Own made PCB, Philips 89C52 MCU 
(Intel 8052 clone), two I2C controllable temperature sensors, two relays 
and LCD display. Programming language C.

Learning remote controller. School project. Own made PCB, Atmel ATmega32 
MCU, LCD display, JTAG, IR receiver, IR sender, few buttons. Programming 
language C. [1]

SIP phone. School project. Hardware was Atmel ATmega128 MCU based board 
called Ethernut2.1. Only some very limited SIP stack and ethernet 
networking was implemented. RTP, meaning voice codecs, was not done. 
Programming language C. [2]

"Egg-timer". School project. Atmel ATmega128 MCU based development board 
called Olimex AVR-MT-128. LCD display, buzzer, relay, few buttons. I 
coded running Pacman for the LCD screen top of all required 
functionality :) Programming language C. [3]

Test firmware for one Cypress EZ-USB FX2LP based DVB USB device. Cypress 
FX2 is general and very common USB -interface chip. Firmware I did was 
based of open Termini design. Due to that relative small amount changes 
was needed. [4], [5]

Electric meter. School project. FPGA. Hardware was Altera DE2 
development board, featuring an Altera Cyclone II 2C35 FPGA. [6]

[1] http://palosaari.fi/img_1305.jpg
[2] http://www.ethernut.de/en/hardware.html
[3] http://www.olimex.com/dev/avr-mt128.html
[4] http://www.cypress.com/?id=193
[5] http://linuxtv.org/cgi-bin/viewvc.cgi/dvb-hw/dvbusb-fx2/

Hin-Tak Leung April 18, 2012, 6:54 p.m.

The applicant could submit a proposal on a topic of his choice. Plans 
and deliverables are also needed.

Antti Palosaari April 19, 2012, 3:48 p.m.

OK. Here is my own topic. As a active Linux-Media contributor I would 
like to enhance Kernel digital television framework. Biggest problems 
what I have meet are limitations of very old DVB-USB-framework. It 
contains a lot of common routines used by almost all USB digital 
television sticks and those routines are offered via configuration 
structure that is full of callbacks. Like standard stuff. Anyhow, new 
devices are very often too complex to fit that old structure and hacks 
are needed.Current static structure contains too many static values 
whilst devices are more "dynamic". Very often device contains eeprom and 
configurations should be got from the eeprom instead of hard coded to 
Other general issue is DVB-frontend handling which is part of DVB-core. 
I would like to see DVB-core doing more validly checking leaving less 
job for individual driver. For example;
* If we are sleeping, I mean HW is put sleep, block all queries (IOCTLs) 
coming from the userspace so those does not never go the individual chip 
driver. If chip is sleeping it cannot answer "read signal strength" etc.
* Some calls are valid only in certain situation. Block those if we are 
in state we cannot answer. For example, if demod is not LOCKed to the 
radio channel, it simply cannot give many channel statistics like bit 
error rate.
* general limits for the frequencies, with the override possibility.
* add polling callback for statistic update

I have surely enough knowledge and contacts to resolve all issues and 
ran needed RFCs for internal/external API changes. It is easy job for 
the mentor as I have already all the needed info. And easy for me too 
since no time wasted for learning massive amount of new things.

Schedule could be something like:
week 21: DVB-USB plan driver interface + RFC
week 22: DVB-USB implementation
week 23: DVB-USB implementation
week 24: DVB-USB implementation
week 25: DVB-USB implementation
week 26: DVB-USB convert few existing drivers to use that new interface
week 27: DVB-CORE learn frontend handling
week 28: DVB-CORE plan needed + RFC
week 29: DVB-CORE implementation
week 30: DVB-CORE implementation
week 31: DVB-CORE implementation
week 22: DVB-CORE convert few existing drivers to use that new interface
week 33: pencils down, finalize
week 34: pencils down, finalize

Antti Palosaari April 19, 2012, 4:27 p.m.


Schedule for the Open firmware for ath9k_htc. It is very preliminary. I 
don't have enough knowledge for estimating it more detailed level.
I think good starting point is to order features by importance and then 
start implementing in that order. And when time runs out, what I think 
is very realistic assumption, just drop less important features out. And 
implement those later after the GSoC.

week 20: "Community Bonding Period".
week 21: learning general WiFi stuff. Get hardware. Get specs.
week 22: learning. Try to get hardware initially working.
week 23: learning, planning
week 24: planning, order features by importance
week 25: implementation
week 26: implementation
week 27: implementation
week 28: implementation - mid-term evaluations
week 29: implementation
week 20: implementation
week 31: implementation
week 32: implementation
week 33: pencils down, finalize
week 34: pencils down, finalize


OpenPrinting Web Site

Email: chetan1 at gmail.com

Mentor: Till Kamppeter

Possible mentors: Till Kamppeter

Short description: The project involves revamping the existing Web 
Application on the Open Printing Website and adding additional features. 
The main aim is to make it easy to collaboratively collect and manage 
information about printers to make more models work.

Additional info: ATTACHED PDF FILE

Eric Searcy April 17, 2012, 4:18 p.m.

I think he has the skillset for this.  My main concern would be his 
trying to revamp the site while Jannes is adding content (presumably 
using the existing templating structure).

I suggest we not accept for this reason.

Eric Searcy April 13, 2012, 10:34 p.m.


your proposal assumes the creation of a new web application: schema, 
architecture, etc.---after checkout and evaluation of the current 
application.  I would appreciate if you could elaborate some on this why 
you would choose this path, vs. incremental improvements to the existing 


Chetan April 14, 2012, 3:17 a.m.


Thanks for reviewing the proposal. I am comfortable with either of them, 
building the website from scratch or building on the existing codebase.

Main focus will be on the usability and the scalability of the website. 
Also, since other  people will also be touching the codebase at some 
point of time in future, so, it has to be well documented and readible. 
MVC design pattern enhances the readibility of the code a lot.

I think, it might be a good idea to modify the existing scripts. 
However, we have enough time (> 3 months) and I have the necessary 
skills (and experience) for either of the two ways.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: Chetan-OpenPrinting-Web-Site.pdf
Type: application/pdf
Size: 344720 bytes
Desc: not available
URL: <http://lists.linuxfoundation.org/pipermail/lsb-discuss/attachments/20120419/ec3ce2d9/attachment-0001.pdf>

More information about the lsb-discuss mailing list