[lsb-discuss] Google Summer of Code 2012: 14 good applications but only 12 slots
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
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
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. 
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. 
"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. 
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. , 
Electric meter. School project. FPGA. Hardware was Altera DE2
development board, featuring an Altera Cyclone II 2C35 FPGA. 
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
* 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.
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...
Size: 344720 bytes
Desc: not available
More information about the lsb-discuss