March 15, 2010

Neophysis - oFono na Neo FreeRunneru

By Openmoko.cz Articles

oFono je opensource telefonní framework, jehož vývoj je sponzorován Intelem a Nokií. V podstatě se jedná o konkurenci ogsmd démona z freesmartphone.org. Nebudu zde nyní rozvíjet rivalitu mezi oFono a FSO, ale představím vám první distribuci založenou na oFono frameworku, distribuci Neophysis. A na čem jiném by tato distribuce běžela než na Openmoko Neo FreeRunneru :) - ať chceme nebo nechceme,...

QtMoko v16: jaké to je s Qt Extended

By Openmoko.cz Articles

Zkusme se dnes podívat na distribuci QtMoko. Pokud ji nemáte, možná vás překvapí, že její použitelnost je relativně vysoká. Kde se vzalo... QtMoko je jedna z distribucí, které pro telefonování používají komplexní telefonní aplikaci Qt Extended. Vývojem Qt Extended (možná jste ji znali pod starým názvem QTopia) se zabývala společnost Trolltech (dnes Qt...

Stali jsme se partnerem OpenMagazinu!

By Openmoko.cz Articles

OpenMagazin je společný projekt několika portálů věnujících se svobodnému software. Každý měsíc vychází výběr z těch nejlepších článků. Počínaje číslem 10/2009 si můžete přečíst také vybrané články z našeho portálu. OpenMagazin stahujte zde. Z obsahu partnerských portálů vyzdvihnu především článek První...

WikiReader aneb Wikipedia v kapse

By Openmoko.cz Articles

V dubnu 2009 byl odložen vývoj mobilního telefonu 3D7K (původně GTA03), následovníka Neo FreeRunner, na neurčito. Zároveň byl oznámen záhadný projekt Plan B. Nikdo však nevěděl o jaký Plan B půjde, ale podle dostupných informací má jít o mobilní zařízení třikrát levnější než 3D7K a bez GSM modulu, tedy nemá se jednat o další...

Openmoko sraz, přednáška a buzzfix party v Berouně

By Openmoko.cz Articles

Dne 18.7.2009 od 10.00 bude probíhat linuxový sraz v pivovaru v Berouně u Prahy. Na programu jsou přednášky a diskuze o Linuxu a hlavně přednáška o Openmoko, kde se po nezbytném úvodu dozvíte co se za poslední rok událo, co nás v nejbližší době čeká, jaké jsou plány okolo Openmoko do budoucna a jak se aktivně podílet na vývoji Openmoko. Dále budou...

GNU Hackers Meeting and LibrePlanet, Cambridge, MA, March 18th - 21st

By John Sullivan

I'm excited about the GNU Hackers Meeting in a few days.

We're going to meet for some curry on Thursday night with the people in town so far, then the bulk of the meeting will be on Friday. Things on the agenda so far include lightning talks from several of the people attending about the GNU projects they are working on, a discussion about the problems with Software as a Service and what GNU can do about it -- with a focus on the creation of a new GNU network services team, and longer presentations like David Sugar on Replacing Skype, Matt Lee on GNU FM (the software that runs last.fm replacement libre.fm), and Michael Flickinger on Savannah.

This is the first US edition of the GNU Hackers Meeting -- there have already been a few in Europe. One cool thing about this one is the range of contributors we have represented. We have people from the origin of the project, including RMS, John Gilmore, and Rob Savoye -- plus new contributors like Steven DuBois of GNU Generation (the awesome project started last year by FSF intern Max Shinn for high schoolers interested in GNU).

After Friday, the Meeting segues into the rest of the LibrePlanet conference, which promises to be awesome as well. The Women in Free Software track is particularly important to me because I think it's progress in one of the most critical steps we need to take to really make the free software movement work for everyone. As one of the conference organizers I'm sure I'm going to be bouncing around a lot during the days, but I'm definitely going to make a point to catch as much as I can of all of the presentations in that track -- I'm especially interested in hearing Karen Sandler of the Software Freedom Law Center, and the panel on Sunday with Chris Ball, Hanna Wallach, Erinn Clark and Denise Paolucci.

It's not too late to register for either the GHM (if you're a GNU maintainer or significant contributor), or the LibrePlanet conference -- just follow the instructions on the wiki. Drop me a line if you're reading this and will be there.

Libre en Fête 2010

By openmoko-fr

Libre en Fête, c'est reparti !

Cette opération nationale initiée par l'April a pour but de faire découvrir au grand public les Logiciels Libres.
Chaque organisation locale est conviée à préparer des animations autour du 21 mars et jusqu'au 4 avril inclus.

Renseignez-vous, il y a certainement un événement de ce type dans votre région.
Si ce n'est pas le cas, il est encore temps d'en créer un !
C'est une bonne occasion de faire connaître les projets Openmoko et WikiReader.


De mon côté, je suis impliqué dans les événements qui se dérouleront en Isère :

  • ce samedi 20 mars à Voiron
  • le 3 avril à Voreppe

Pour tout savoir sur ce programme, consultez la page dédié sur le wiki de l'April.

L'entrée est libre et gratuite, le cadre est sympa et l'ambiance sera (forcément) conviviale.
Alors si vous êtes dans les parages, n'hésitez pas à venir nous saluer :-)

March 13, 2010

Using setitimer of your favorite posix kernel

By Holger "zecke" Freyther

As this was requested in a comment of a previous post and knowing your kernel helps to write better performing systems here is a small information of how to use the interval timers provided by your posix kernel.

What is the interval itime?r


The interval timer is managed and provided by your kernel. Everytime the interval of the timer expires the kernel wil send a signal to your application. The kernel is providing three different interval timers for every application. The different timers are for measuring the real time passed on the system, the time your application is actually executed and finally the profiling timer which tmes the time when your application is executed and when the system is executing on behalf of your application. More information can be found in the manpage with the name setitimer.

Why is it useful?


In the QtWebKit Performance Measurement Utilities we are using the interval itimer as the timing implementation for our Benchmark Macros. To be more precise we are using the ITIMER_PROF to measure the time we spend executing in the system and in the application, we are using the smallest possible precision of this timer with one microsecond. The big benefit os using this instead of elapsed real time, e.g. with QTime::elapsed, is that we are not depending so much on system scheduling. This can be really nice as even with a lightly crouded system we can generate stable times, the only thing influecing the timing is the MHZ of the CPU.

How is it implemented?


It is a kernel timer, this means that it is implemented in your kernel. In case of Linux you should be able to find a file called kernel/itimer.c, it defines the syscall setitimer at the bottom of the file. In our case the SIGPROF seems to be generated in kernel/posix-cpu-timers.c in the check_cpu_itimer routine. Of course the timer needs to be accounted by things like kernel/sched.c when scheduling tasks to run...

How to make use of it?


We want to use ITIMER_PROF, according to the manpage this will generate the SIGPROF. This means we need to have a signal handler for that, then we need to have a way to start the timer. So let us start with the SIGPROF handling.


Elapsed time handling
static unsigned int sig_prof = 0;
static void sig_profiling()
{
    ++sig_prof;
}



The signal handler
    struct sigaction sa;
    sa.sa_handler = sig_profiling;
    sigemptyset(&sa.sa_mask);
    sa.sa_flags = SA_RESTART;
    if (sigaction(SIGPROF, &sa, 0) != 0) {
        fprintf(stderr, "Failed to register signal handler.\n");
        exit(-1);
    }



Start the timer
tatic void startTimer()
{
    sig_prof = 0;
    struct itimerval tim;
    tim.it_interval.tv_sec = 0;
    tim.it_interval.tv_usec = 1;
    tim.it_value.tv_sec = 0;
    tim.it_value.tv_usec = 1;
    setitimer(ITIMER_PROF, &tim, 0);
}


Discussion of the implementation


What is missing? We are using the sigaction API... we should make use of the siginfo_t passed inside the signal handler.

What if we need a higher precision or need to handle overflows?
There is the POSIX.1b timer API which provides timers in the nanosec region and also providers information about overflows (e.g. when the signal could not be delivered in timer). More information can be found when looking at the timer_create functions.

When is the interval timer not useufl?


Imagine you want to measure time it takes to complete a download and someone wrote code like this:

QTimer::singleShot(this, SLOT(finishDownload())), 300000);


In this case to finish the download a lot of real time will pass and the app might be considered very slow, but it in terms of the itimer only little will be executed as the time we just sleep is not accounted on us. This means the itimer can be the wrong thing to use when you want to measure real time, e.g. latency or time to complete network operations.

March 11, 2010

Solution Linux

By openmoko-fr

Comme vous le savez sûrement déjà, le salon Solutions Linux se tiendra à Porte de Versailles à Paris, du 17 au 18 mars 2010.

En revanche ce que vous ignorez peut-être, c'est que Bearstech y sera présent avec un programme bien rempli :

  • conférences
  • formation / tutoriel
  • ateliers
  • tables rondes

Pour connaître le détail, consultez cette annonce.

Pour rencontrer d'autres mokos sur place, consultez également le forum et la page wiki dédiée.

March 09, 2010

Virtual Keyboard

By SlyBlog

vkbd
I just found this little EFL-testapp:

It’s an app written by Gustavo Sverzut Barbieri. It’s an Iphone like virtual keyboard. You can find the sourcecode on googlecode..
I had to apply a little change to the code, to get it running on the Freerunner.
I changed lines 206-210 to this:

if ecore.evas.engine_type_supported_get(“software_16_x11”):
    ee = ecore.evas.SoftwareX11_16(w=WIDTH, h=HEIGHT)
else: print “warning: x11-16 is not supported, fallback to x11” ee = ecore.evas.SoftwareX11(w=WIDTH, h=HEIGHT)

Maybe someone likes to modify this code and build a real virtural keyboard for SHR out of it?
I hope i could motivate someone, as this would be a really nice keyboard.

March 08, 2010

QtMoko v18

By Openmoko.cz Blogs

Pokud jste ještě nezachytili, na oficiálním serveru QtMoko jsou k dispozici images QtMoko v18. Pro image byl použitý novější linuxový kernel 2.6.32 (původní v19 byla na kernelu 2.6.29). Mimochodem testovací images na SHR je taky venku: http://build.shr-project.org/tests/mrmoku/kms/images/om-gta02   QtMoko v18 je spíše testovací, prý ale funguje dobře (nezkoušel jsem). Radek...

March 07, 2010

Neophysis - oFono na Neo FreeRunneru

By Openmoko.cz Blogs

oFono je opensource telefonní framework, jehož vývoj je sponzorován Intelem a Nokií. V podstatě se jedná o konkurenci freesmartphone.org. Nebudu zde nyní rozvíjet rivalitu mezi oFono a FSO, ale představím vám první (o které vím) distribuci založenou na oFono frameworku, distribuci Neophysis. A na čem jiném by tato distribuce běžela než na Openmoko Freerunneru :) - ať chceme nebo nechceme,...

March 05, 2010

OsmocomBB now performing location updating procedure against GSM cell

By Harald "LaF0rge" Welte

I haven't had much time for blogging recently, too much exciting work going on at OsmocomBB:

  • we now have simplistic support for Uplink (transmit) on SDCCH/4
  • we have a minimal Layer2 (LAPDm) implementation
  • we can send LOCATION UPDATING REQUEST to the network, and receive the respective response
  • there's wireshark integration, i.e. all packets on the L1-L2 interface can be sent into wireshark for protocol analysis

There are still many limitations, but this is a major milestone in the project: We have working bi-directional communication from the phone to the network!

The limitations include:

  • The cell has to use a combined CCCH (SDCCH/4 on timeslot 0)
  • The cell has to use no encryption/authentication
  • The layer2 is not finished, especially re-transmissions will not work yet
  • There's no power control loop yet
  • There's no timing advance correction
However, most of those are more or less simple we know what needs to be done, its just a matter of getting it done kind of tasks. There are no big unknowns involved, and particularly no further reverse-engineering of the hardware is required.

Also, the existence of a stable bi-directional communications channel between the network and the phone means that anyone interested in working on the higher layers can now actually do so. Completing and testing layer2 as well as RR/MM/CC on layer3 is a major task in itself, and it definitely requires the lower layers to be there.

The other good part is that development of layer2 and layer3 can happen entirely on the host PC, where debugging is much easier and there's no need for cross-compilation and we can use all the usual debugging options (gdb, valgrind, ...)

I'm now almost heading off for holidays (starting March 10), so don't expect any major progress from me anytime soon. I hope other interested developers will be able to take it from here and fill in some missing gaps until I'll get back.

March 04, 2010

Communauté Francophone : activité de février 2010

By openmoko-fr

Le mois de Février est déjà terminé, c'est le moment du résumé des activités.

Actualités

Voici une sélection de brèves glanées sur la toile :

Consultez également les dernières pages Community Updates (voir celle du 01/03/2010) pour plus d'informations.

Neuf billets ont été publiés sur le blog en février.

Au rayon des distributions,nous avons eus une nouvelle version de Android et de QtMoko. ainsi que la fusion de Moblin et Maemo pour donner naissance à MeeGo.

Le monde du Libre poursuit son expansion dans le domaine de la téléphonie avec la publication des sources de Symbian et surtout la naissance du projet OsmocomBB.

A noter également la mise à jour logicielle du WikiReader, l'apparition du Neo Freerunner A7+ et un retour sur le FOSDEM 2010.

Le forum garde une activité soutenue avec à ce jour :

  • 588 inscrits
  • 1176 discussions
  • 13557 messages

Souhaitons la bienvenue à : fifou3101, lugarbleiz, leon, koocotte, cedric49fr, The Marauder, Scorate, kyrilkarlier et Airon90.

Voici une sélection non-exhaustive des nombreuses discussions du mois.

Communauté :

Logiciels :

Matériels :

Projets :

Divers :

Bonne lecture !

Nous avons 2 nouvelles pages ce mois-ci :

Les pages suivantes ont également été mises à jour :

Je rappelle que ce wiki est ouvert à tous et que les contributions sont vivement encouragées car c'est un bon moyen de capitaliser les connaissances.

Statistiques du site

  • Graphique des visites :
    (on constate une légère baisse générale en février)

  • Nombre de visites par mois :
(Cliquez sur l'image pour l'agrandir)
  • Répartition par pays :

  • Visites par jour :

Remarque : pour les graphiques suivants, j'ai dû changer les échelles pour améliorer la lisibilité.
Les chiffres seront donc donnés à partir de juillet (mois anniversaire du forum).

  • Statistiques du forum :

  • Les statistiques du wiki :

Bilan

Je suis toujours émerveillé de voir les idées originales certains sont capables d'imaginer autour du Neo Freerunner.
La rubrique Actualités ci-dessus en contient deux bons exemples : une voiture télécommandée par un Neo et un Neo expédié dans l'espace avec un fusée !
Ce genre de cas rappellent une nouvelle fois tout l'intérêt d'une plate-forme ouverte tant au niveau logiciel qu'au niveau matériel.

Enfin vous avez sûrement remarqué la préparation d'une SHR Party mondiale pour fêter comme il se doit la très attendue version Stable de la distribution SHR.
Sur la page wiki, elle est annoncée pour Mars 2010 !
Mais vous connaissez la rengaine du Libre : ça sortira ... quand ça sera prêt !
Alors comme on dit outre-manche : Wait and See ... ;-)

March 01, 2010

Looking for documentation on sunplus SPMA100B

By Harald "LaF0rge" Welte

In the Motorola/Compal C155 phone supported by OsmocomBB, we have found a ringtone melody chip called SPMA100B from sunplus.

As strange as it might seem, this is the only part used in the phone for which we have not been able to find any kind of programming information. So if you know anything about how to program this part from software (register map, programming manual, ...) please let me know!

And no, we don't need electrical/mechanical data sheets, thanks :)

February 28, 2010

Freerunner preparing for his second outer space trip

By Stefan Schmidt

Freerunner with case In May last year the Freerunner had its debut in outer space. The Mobile Rocket Base department of the German Aerospace Center launched a research rocket into the aerospace (140Km height). On board was the pictured Freerunner. Although the metal case you can see on the picture is new and was not used.

The mission of the rocket was to experiment with materials physics under conditions of weightlessness. The Freerunner had nothing to do with this experiments and was only on board to verify that it survives the launch, travel and landing. Battery, GSM and GPS antenna has been removed before launch. Everything survived. During the flight the accelerometers have been used to collect measurements.

In May this year it will enjoy its second trip into space. The case was designed and build to offer space for the Freerunner as well as an extension board connected to it. The board is connected to the debug board connector of the Freerunner which offers a SPI and an I2C bus. It was designed to hold different sensors the Freerunner does not offer and is equipped with a BMP085 pressure sensor and two gyroscopes. The Melexis MLX90609 and the Sensonor SAR100.

Freerunner with board

Over the next month I'll working on drivers for these two gyroscopes and after the flight we will see if the chips survived and if the data they had produced will show that they are good enough for further testing.

All in all this shows pretty nicely how an open device with available schematics, CAD files and hardware interfaces can serve together with an open software stack for vertical markets. Be it for research purpose like in this case or a crazy business idea on the other side. The fact that you have all resources to understand the electrical design as well as being able to make changes over the complete software stack brings you into the position to easily adapt it for your needs.

Some more picture with a higher resolution can be found here.

UPDATE: Fix typos and rewrite some parts so people have a chance to understand it.

February 27, 2010

Qt suddenly got interesting again

By Michael "mickeyl" Lauer

After Trolltech dropping the ball with the community back in the old days of Opie, I pretty much gave up on Qt (and C++) apart from accepting some contract work, so my C++/Qt skills would not get too rusty. Since my nightmares with getting something fluid out of Gtk+ (back in the Openmoko days), I did not have the chance to do much UI work — the freesmartphone.org middleware kept me busy enough.

I have been watching Qt progressing though, and ever since they introduced Qt Kinetic and QML it became very interesting for me again. QML looks like EFL’s Edje been thought through — don’t get me wrong, Edje was groundbreaking (as most of Rasterman’s work) when it made its debut, however in my opinion it got stuck in the middle and never lived up to what I was expecting from it.

Once QML ships with Qt — hopefully in the next minor or at least major version of Qt, I will get back on doing some FOSS work on application level to complete creating a smart phone stack. That’s going to be fun!

February 26, 2010

Explorations in the field of GSM

By Holger "zecke" Freyther

Something like 14 months ago I had no idea about GSM protocols, 12 months ago I was implementing paging for OpenBSC, beginning from last summer I explored SS7 and SCCP, wrote a simple SCCP stack for On-Waves. Started to implement the GSM A Interface for OpenBSC, the last week I saw myself learning more about MTP Level3. With the Osmocom I start to explore GSM Layer 1 (TDMA, bursts, syncing), GSM Layer 2 (LAPDm) and on GSM Layer3 we mostly see the counterpart of OpenBSC.

I feel like I am back to school (in the positive way) and I have learned a lot in the recent year and looking forward I will learn more about protocols used at the MSC side and such. I'm very excited about what the future is going to be like. Will we have a complete GSM Network (BTS, BSC, MSC, MS, SMSC, GPRS gateway(s)) with GPL software by the end of the year?

February 25, 2010

1000x 本 NanoNote

By SlyBlog


Yesterday (24.02.2010) Qi-Hardware1 proudly announced their first product of copylefted hardware – Ben NanoNote – which is now released to the public. The first batch of 1000 NanoNotes is produced. They are shipping and in stock in Hong Kong, Europe and India!2

Now, Qi-Hardware’s masterplan is to sell their 1000 units. Actually they have to sell them, because they spend $180.000 until now, without earning any money (as stated in chapter two of the “[Company] Weekly Update 6/2010”3)

So, if you are an opensource enthusiast, interested in a miniPC/PDA like gadget with 100% opensource hardware (a.k.a. copyleft hardware), running 100% opensource software, which offers a lot of opportunities to run all sort of software on it, go for it!
Get a Ben NanoNote and help Qi-Hardware to finance their current and future efforts in the opensource hardware business:

Official Shop: http://www.nanonote.cc
European Distributor: http://www.tuxbrain.com
German Distributor: http://www.pulster.eu

[1] http://www.qi-hardware.com
[2] http://en.qi-hardware.com/pipermail/developer/2010-February/002114.html
[3] http://en.qi-hardware.com/pipermail/developer/2010-February/002114.html

1000X Ben NanoNote!

By Openmoko.cz Blogs

Qi Ben NanoNote se nyní dá koupit! TuxBrain jej dnes přidal do nabídky.

Long time no see.

By SlyBlog

Hey guys out there!
It was pretty quit here on my blog for a long time, now. My last post is more than three months ago.

As you may have noticed I updated my blog to a new theme and system. I did this in the one move, while changing to a newer and better webspace.
The system I use nowadays is called Chyrp, using the Gull theme.
I am amazed by this nice and lightweight piece of software!

I didn’t have a lot of time, as I was bussy with school. Now , after 13 years of school, I’m (almost) finished with my “Abitur”.

Cheers, Slyon

February 24, 2010

OsmocomBB : un GSM libre

By openmoko-fr

Harald Welte, Hacker et Libriste militant déjà impliqué dans des projets comme Openmoko, OpenBSC ou GPL-violations est en ce moment à l'honneur sur Linuxfr.org.

En effet, un premier article a présenté OsmocomBB, son nouveau projet qui a pour but de créer un firmware GSM 100% Libre.
Cet objectif est considéré comme un "graal du Libre" alors qu'aucun mobile n'en implémente actuellement, pas même le Neo Freerunner.

Le second article est une interview où Patrick Guignot l'interroge sur ses motivations et son point de vue.
Un échange intéressant qui au passage nous en apprend plus sur l'état actuel du marché des communications.

Deux lectures fortement recommandées !

February 21, 2010

Google released Android source

By SlyBlog


Android is now fully available under an opensource license. This was annouced by Google today. I’m very curious how much this will influence the Openmoko project and how long it takes until we can test Andorid on the Freerunner.

Today I’m very proud to announce that we are releasing the code that went into that same revolutionary device. Let me present Android: the first complete and highly functional, mass market, Open Source mobile platform. Built with and on top of a bunch of Open Source software, this is one of the largest releases in the history of FOSS. Our goal was to make millions of terrific phones possible, to raise the bar on what people can expect from any mobile phone and to release the code that makes it possible.

Google’s announcement is here: http://google-opensource.blogspot.com
And the Andorid-Source there: http://source.android.com