User:Nicola.mfb

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(NBTM)
(FSORAW)
Line 123: Line 123:
  
 
The best is to change *.desktop files for have this automagically launched by your preferred windows manager.
 
The best is to change *.desktop files for have this automagically launched by your preferred windows manager.
 +
 +
==NAMI==
 +
An asterisk manager interface GUI, that used with a patched version of [[Asterisk]] let you use the freerunner as voip softphone and much other!

Revision as of 02:05, 13 July 2009

Hi

I'm Nicola, born on 1973 in Paduli a little country of southern Italy.

I'm graduated in Informatic science, and since 1997 I'm working as system manager for the University Federico II of Naples. When I arrived I found about 40 servers, equipped with some proprietary Unix (and not Unix) OS, time after time I migrated all them to Linux, today about 400 servers are free, and 99% of them have community distro.

My mission is Linux everywhere, I use it on all my desktop, servers, wireless AP, hp ipaq, and finally on my phone too. While not struggling over all my devices I play accordion, flute and piano in an ethnic popular music band, or take photos around the world.

On this page you may see what I'm thinking about the freerunner and what I'm doing for it!.

Contents

Distros

2007.12

I do not know it, when my freerunner arrived on september 2008 it was already deprecated so I flashed ASU after a couple of minutes. I did an error, I lost the knowledge of some important features and ideas I was able to see only some month ago with Hackable:1, and that are inspiring me now.

Qtopia

Qtopia was the first distro I installed on the SD, it was FAST and complete, but cannot run X11 applications.

ASU

A mix between E, QT and GTK, the idea was to provide a subset of the mature qtopia stack on the X server together with all other X11 apps. So I swapped and put Qtopia on the flash and ASU on the SD card to have more space to play with it.

FSO

"All development should go to FSO, ASU is deprecated" was the rule, and as I was excited to write my apps for my phone with simple dbus calls so I deleted Qtopia, put ASU on the flash and FSO on the SD and resumed my OE knowledge. There is not much to say on FSO images, it's not a really distro, but a way to carry and use the FSO frameworkd.

SHR

In the mean while, SHR was born to recycle the 2007.12 code porting it to FSO, it was growing and now it's quite all based on E* software. It's a very promising distro, but a lot of users are annoyed because it frequently breaks. The release of a stable milestone was announced several months ago, but we are still waiting, developers sometime freeze the unstable branch to a testing snapshot tree calling user to test and report feedbacks, and after a bit they delete it and freezes again. This happened a lot of time while peoples are asking for a stable distro. SHR applications are based on C and python, so you actually have C/python apps, interacting with a C ophonekitd, interacting with a python frameworkd. A problem is that flash/sd is slow, and phone functionalities are splitted between several apps, the load time of each of them is high, the result is a very slow device. Please to not blame me! I respect the effort of SHR developers, but think that some decision must be revisited above all when we may see in the past better solutions!

OM2009

OM2009 was initially the new offical OM distro, as OM stopped developing actually it's based on volounter work. It has two strong points over SHR, the first is that it uses more legacy software to try effectively a stabilization for release, an example is the kernel as the last have serious problems on wifi, the second is that the main application, Paroli, is a semi monolitic python app, so the python load time is limited only on startup, and the big part of functionality are ready to use because they are in ram or is loaded easyly with plugins.

Gentoo

My preferred distro on laptop and servers, but it's too slow on the device, the lack of precompiled binaries and freerunner customization make it usable only after some weeks of emerging/twicking.

Hackable:1

A very interesting distro, it uses hardware directly, stable underliyng system (debian lenny), and revisited and improved 2007.12 code. No python in core parts, so very it's fast, it has some important features and ideas that I think it'absourd we losed in ASU/SHR/OM2009, for example the possibility to launch a stay on top window by holding the aux menu to kill applications and switch fullscreen windows! Try actually to close a fullscreen application on distro that use aux to lock and power to suspend! Luckily SHR has restored the use of power button to launch a dialog that make you kill applications or poweroff the system. The only problem of hackable is that it uses hardware and not FSO, so many applications FSO based does not work, developers has to drive the hardware without a central mediator. For example if two applications power on the BT at startup and power off it at exit, you cannot close the first and use the second, while the FSO resource system handles that for you. And the last, it uses an old 2.6.24 kernel, but actually it seems more stable than recents!

Debian SID

My actually preferred distro, has quite recent kernel and fso, tons of precompiled ready to use software, the best distro to try and test software and to develop new ones! One only problem, it's not targeted for freerunner (of course) so you have to customize it, and it upgrades slowly, but this may be not a defect :)

Neovento

Not tested yet

A stable device?

After one year I may say my freerunner is *not* a stable platform, I encountered all the problem you may read on the list archives:

  • SD partition corruption
  • WSOD
  • NSOD
  • no suspend/resume
  • interferences with 8GB micro sdhc with glamo errors on GSM
  • Bt does not works after resume on 2.6.28
  • wifi really unstable on 2.6.29
  • a lot of kernel ops, device freezing

So the real problem is that the kernel is not rock solid. Some chip specification are under NDA so only few people may contribute, after OM suspended the kernel development we cannot say if it will be really improved in the future.

I really hope that the volounters maintaining the kernel will grow in number and find the time to fix it, only with a rock solid kernel we may think to use the device seriously.

A fast device?

The freerunner is slow:

  • python abused everywhere
  • xglamo is accelerated but cpu has to busy wait after requesting accelerated ops
  • software functionality are splitted in too many apps

Software status

Some basic tasks are impossible to do with graphical UI, for example connect to WPA enterprise networks, transfer obex file with bluetooth. Some phone functionalities are missing, see for example MMS. Peoples are not working on them for a simple reason, they are working on "basic" software, as it's not complete.

What I'm doing

As I think the better way to solve problems is to try fix them yourself instead of boring peoples, in the spare time I'm coding some apps I feel missing on the freerunner. The problem is that I have few time, documentation in the free software is poor, and above all I'm an old school C/C++ coder with some QT extension, and this toolkit seems to be a forbidden topic in the freerunner world, the consequence is that there are few people that may collaborate with me, the above of them prefers to spend time on qtmoko.

Projects

Read the my freerunner section.

My Freerunner

I have the shipped 512MB SD card with OM2009 and a GSM incompatible 8GB sd card for development/testing. On there I have a 512MB partition with SHR-unstable, a 1.5GB with Hackable:1 and a 6GB partition with debian sid. On flash I have a OM2008 "legacy" installation.

As of my work I cannot miss calls, so I do *not* use the freerunner as a phone, but as a PDA or some kind of hacker toy. IMHO every distro lacks important features, for that reason I'm customizing my debian/sid in a deep way, so actually I have a deeply customized system where I put my ideas and my apps:

Matchbox

I like very much the look & feel of E, but it lacks two important things, EWMH and a sys trayer. For that reason I use matchbox window manager and it's matchbox-panel.

To make it look fine I use the moko theme from hackable:1. As I do not like matchbox-desktop and need a simple way to launch applications or script without tampering with .desktop files I use a self-made application launcher.

NUD

Nud is another selfmade application that mimes the "neod" daemon, it listen for F2 press showing matchbox keyboard and for F6 press showing a menu that let me rotate the screen, switch current window fullscreen mode, close and kill apps. Yes F2 and F6, they are simulated at input level layer with nide and nvkmd.

NWA

NWA is a wifi manager prototype application that tries to use wpa_supplicant in the right way, it's auto launched at startup showing only a systray icon, when wpa_supplicant connects and get an IP a sound alert me.


NIDE/NIDED

NIDE/NIDED is another self-made application, it's a network keyboard/mouse emulator.

NVKMD

That's a test application, it read from /dev/input/0 and /dev/input/4 for aux/power button events, handle their press/release timings and simulate a 6 button virtual keyboard trough NIDE. The six virtual button are:

  • F1 short aux press
  • F2 long aux press
  • F3 short aux+power press
  • F4 long aux+power press
  • F5 short power press
  • F6 long power press

I'm using it to give friends a test environment to discuss about Better handling of AUX/Power buttons.

NBTM

A gui to use Bluetooth on my freerunner, it's an agent a bnep connection manager and transfer/receives file with obex. I started it becouse in my work flat I did not have a Wifi connection to internet and wanted to share my laptop network with BT. Now I have an AP so I'm focusing on NWA :)

a lot of other small apps and customization! TBD

FSORAW

fsoraw (FSO Resource Allocation Wrapper) is a wrapper utility to launch applications preallocating system resources from FSO.

Under normal circumstances Freerunner has resources (bt, wifi, etc.) disabled to save power, FSO has a set of DBUS api to allocate/release resources dinamically.

For applications that does not honour FSO you have to manually force resource policy, launch the application, wait for the job done, reset the resource policy.

There are some gui applications that let the user switch resource policy but this need the user switches menus, clicks and so on, and may be boring and slow, and sometime dangerous (suppose to be in car and want to switch autodimming/suspending off, launch navigation software, reset autodimming/suspending).

Another case may be you want to launch a wifi manager, you have to enable the wifi resource, launch your apps, and when finished disable the wifi resource.

Here comes fsoraw in help, instead of launching the application itself use fsoraw listing the resources you need, for example:

fsoraw -r Display,CPU tangogps

or

fsoraw -r WiFi WifiGui

it will allocate the WiFi resource, launch the WiFiGui applications, wait for it to end, and disable WiFi.

The best is to change *.desktop files for have this automagically launched by your preferred windows manager.

NAMI

An asterisk manager interface GUI, that used with a patched version of Asterisk let you use the freerunner as voip softphone and much other!

Personal tools

Hi

I'm Nicola, born on 1973 in Paduli a little country of southern Italy.

I'm graduated in Informatic science, and since 1997 I'm working as system manager for the University Federico II of Naples. When I arrived I found about 40 servers, equipped with some proprietary Unix (and not Unix) OS, time after time I migrated all them to Linux, today about 400 servers are free, and 99% of them have community distro.

My mission is Linux everywhere, I use it on all my desktop, servers, wireless AP, hp ipaq, and finally on my phone too. While not struggling over all my devices I play accordion, flute and piano in an ethnic popular music band, or take photos around the world.

On this page you may see what I'm thinking about the freerunner and what I'm doing for it!.

Distros

2007.12

I do not know it, when my freerunner arrived on september 2008 it was already deprecated so I flashed ASU after a couple of minutes. I did an error, I lost the knowledge of some important features and ideas I was able to see only some month ago with Hackable:1, and that are inspiring me now.

Qtopia

Qtopia was the first distro I installed on the SD, it was FAST and complete, but cannot run X11 applications.

ASU

A mix between E, QT and GTK, the idea was to provide a subset of the mature qtopia stack on the X server together with all other X11 apps. So I swapped and put Qtopia on the flash and ASU on the SD card to have more space to play with it.

FSO

"All development should go to FSO, ASU is deprecated" was the rule, and as I was excited to write my apps for my phone with simple dbus calls so I deleted Qtopia, put ASU on the flash and FSO on the SD and resumed my OE knowledge. There is not much to say on FSO images, it's not a really distro, but a way to carry and use the FSO frameworkd.

SHR

In the mean while, SHR was born to recycle the 2007.12 code porting it to FSO, it was growing and now it's quite all based on E* software. It's a very promising distro, but a lot of users are annoyed because it frequently breaks. The release of a stable milestone was announced several months ago, but we are still waiting, developers sometime freeze the unstable branch to a testing snapshot tree calling user to test and report feedbacks, and after a bit they delete it and freezes again. This happened a lot of time while peoples are asking for a stable distro. SHR applications are based on C and python, so you actually have C/python apps, interacting with a C ophonekitd, interacting with a python frameworkd. A problem is that flash/sd is slow, and phone functionalities are splitted between several apps, the load time of each of them is high, the result is a very slow device. Please to not blame me! I respect the effort of SHR developers, but think that some decision must be revisited above all when we may see in the past better solutions!

OM2009

OM2009 was initially the new offical OM distro, as OM stopped developing actually it's based on volounter work. It has two strong points over SHR, the first is that it uses more legacy software to try effectively a stabilization for release, an example is the kernel as the last have serious problems on wifi, the second is that the main application, Paroli, is a semi monolitic python app, so the python load time is limited only on startup, and the big part of functionality are ready to use because they are in ram or is loaded easyly with plugins.

Gentoo

My preferred distro on laptop and servers, but it's too slow on the device, the lack of precompiled binaries and freerunner customization make it usable only after some weeks of emerging/twicking.

Hackable:1

A very interesting distro, it uses hardware directly, stable underliyng system (debian lenny), and revisited and improved 2007.12 code. No python in core parts, so very it's fast, it has some important features and ideas that I think it'absourd we losed in ASU/SHR/OM2009, for example the possibility to launch a stay on top window by holding the aux menu to kill applications and switch fullscreen windows! Try actually to close a fullscreen application on distro that use aux to lock and power to suspend! Luckily SHR has restored the use of power button to launch a dialog that make you kill applications or poweroff the system. The only problem of hackable is that it uses hardware and not FSO, so many applications FSO based does not work, developers has to drive the hardware without a central mediator. For example if two applications power on the BT at startup and power off it at exit, you cannot close the first and use the second, while the FSO resource system handles that for you. And the last, it uses an old 2.6.24 kernel, but actually it seems more stable than recents!

Debian SID

My actually preferred distro, has quite recent kernel and fso, tons of precompiled ready to use software, the best distro to try and test software and to develop new ones! One only problem, it's not targeted for freerunner (of course) so you have to customize it, and it upgrades slowly, but this may be not a defect :)

Neovento

Not tested yet

A stable device?

After one year I may say my freerunner is *not* a stable platform, I encountered all the problem you may read on the list archives:

  • SD partition corruption
  • WSOD
  • NSOD
  • no suspend/resume
  • interferences with 8GB micro sdhc with glamo errors on GSM
  • Bt does not works after resume on 2.6.28
  • wifi really unstable on 2.6.29
  • a lot of kernel ops, device freezing

So the real problem is that the kernel is not rock solid. Some chip specification are under NDA so only few people may contribute, after OM suspended the kernel development we cannot say if it will be really improved in the future.

I really hope that the volounters maintaining the kernel will grow in number and find the time to fix it, only with a rock solid kernel we may think to use the device seriously.

A fast device?

The freerunner is slow:

  • python abused everywhere
  • xglamo is accelerated but cpu has to busy wait after requesting accelerated ops
  • software functionality are splitted in too many apps

Software status

Some basic tasks are impossible to do with graphical UI, for example connect to WPA enterprise networks, transfer obex file with bluetooth. Some phone functionalities are missing, see for example MMS. Peoples are not working on them for a simple reason, they are working on "basic" software, as it's not complete.

What I'm doing

As I think the better way to solve problems is to try fix them yourself instead of boring peoples, in the spare time I'm coding some apps I feel missing on the freerunner. The problem is that I have few time, documentation in the free software is poor, and above all I'm an old school C/C++ coder with some QT extension, and this toolkit seems to be a forbidden topic in the freerunner world, the consequence is that there are few people that may collaborate with me, the above of them prefers to spend time on qtmoko.

Projects

Read the my freerunner section.

My Freerunner

I have the shipped 512MB SD card with OM2009 and a GSM incompatible 8GB sd card for development/testing. On there I have a 512MB partition with SHR-unstable, a 1.5GB with Hackable:1 and a 6GB partition with debian sid. On flash I have a OM2008 "legacy" installation.

As of my work I cannot miss calls, so I do *not* use the freerunner as a phone, but as a PDA or some kind of hacker toy. IMHO every distro lacks important features, for that reason I'm customizing my debian/sid in a deep way, so actually I have a deeply customized system where I put my ideas and my apps:

Matchbox

I like very much the look & feel of E, but it lacks two important things, EWMH and a sys trayer. For that reason I use matchbox window manager and it's matchbox-panel.

To make it look fine I use the moko theme from hackable:1. As I do not like matchbox-desktop and need a simple way to launch applications or script without tampering with .desktop files I use a self-made application launcher.

NUD

Nud is another selfmade application that mimes the "neod" daemon, it listen for F2 press showing matchbox keyboard and for F6 press showing a menu that let me rotate the screen, switch current window fullscreen mode, close and kill apps. Yes F2 and F6, they are simulated at input level layer with nide and nvkmd.

NWA

NWA is a wifi manager prototype application that tries to use wpa_supplicant in the right way, it's auto launched at startup showing only a systray icon, when wpa_supplicant connects and get an IP a sound alert me.


NIDE/NIDED

NIDE/NIDED is another self-made application, it's a network keyboard/mouse emulator.

NVKMD

That's a test application, it read from /dev/input/0 and /dev/input/4 for aux/power button events, handle their press/release timings and simulate a 6 button virtual keyboard trough NIDE. The six virtual button are:

  • F1 short aux press
  • F2 long aux press
  • F3 short aux+power press
  • F4 long aux+power press
  • F5 short power press
  • F6 long power press

I'm using it to give friends a test environment to discuss about Better handling of AUX/Power buttons.

NBTM

A gui to use Bluetooth on my freerunner, it's an agent a bnep connection manager and transfer/receives file with obex. I started it becouse in my work flat I did not have a Wifi connection to internet and wanted to share my laptop network with BT. Now I have an AP so I'm focusing on NWA :)

a lot of other small apps and customization! TBD

FSORAW

fsoraw (FSO Resource Allocation Wrapper) is a wrapper utility to launch applications preallocating system resources from FSO.

Under normal circumstances Freerunner has resources (bt, wifi, etc.) disabled to save power, FSO has a set of DBUS api to allocate/release resources dinamically.

For applications that does not honour FSO you have to manually force resource policy, launch the application, wait for the job done, reset the resource policy.

There are some gui applications that let the user switch resource policy but this need the user switches menus, clicks and so on, and may be boring and slow, and sometime dangerous (suppose to be in car and want to switch autodimming/suspending off, launch navigation software, reset autodimming/suspending).

Another case may be you want to launch a wifi manager, you have to enable the wifi resource, launch your apps, and when finished disable the wifi resource.

Here comes fsoraw in help, instead of launching the application itself use fsoraw listing the resources you need, for example:

fsoraw -r Display,CPU tangogps

or

fsoraw -r WiFi WifiGui

it will allocate the WiFi resource, launch the WiFiGui applications, wait for it to end, and disable WiFi.

The best is to change *.desktop files for have this automagically launched by your preferred windows manager.

NAMI

An asterisk manager interface GUI, that used with a patched version of Asterisk let you use the freerunner as voip softphone and much other!