Using CMake for Maemo development April 11, 2008
Posted by Florian in Linux, Maemo, Source.add a comment
Since OpenSync switched to CMake build system I had to get along with CMake in the Maemo SDK. I have to admit the fun was limited. In fact CMake has some advantages over autotools - most notably: It is much faster. One major drawback is that it is more complicated to use pkg-config with it.
I have never worked with CMake before, but OpenSync had some quite good examples how to check and support additional libraries. So I hacked cmake support for some basic Maemo components (libhildon, libosso) and Maemo-like Debian packages.
My cmake files can be found here:
http://www.kernelconcepts.de/~fuchs/maemo/
CMake itself is in the official extras-devel repository at maemo.org. Just add this line to your sources.list:
deb http://repository.maemo.org/extras-devel chinook free
The package is available for all other SDKs from the same location.
The DpkgDeb.cmake file is based on the updated DpkgDeb.cmake by Mehdi Rabah. The other ones are based on random files found in OpenSync SVN.
Maemo Sync packages April 2, 2008
Posted by Florian in GPE, Maemo, Source.3 comments
I have made an installable package for Maemo Sync, but do not expect too much. Its a basic port of the current Multisync-gui to Maemo. It is only tested to so far that the GUI starts up and registeres correctly. The fact that I had to use cmake for building Maemo software caused some headaches here… the quality of the source distribution package is still quite bad.

I also did not decide if I want it to become a project forked from Multisync-gui or to maintained with Multisync-gui adding optional support for Maemo environment. The always changing OpenSync API would be a reason to stay with Multisync-gui, but the fact that I have different opinions about UI design, Glade is involved and cmake are reasons for making it a separate project.
Binary package and sources are located here. You also need the OpenSync packages from Graham’s daily repository.
Another minor improvement of the GPE application packages in this repository is that latest Starling supports OGG playback. You only need to have an OGG plugin for GStreamer installed. The mogg package provides this for example.
Any feedback is welcome - if you manage to sync data with either the command line tool msynctool or using Maemo Sync please drop me a line. I would like to collect information which sync peers work with latest OpenSync and how to set up these.
Enjoy!
GPE trademark rejected March 28, 2008
Posted by Florian in GPE, LinuxToGo, Source.13 comments
Some weeks ago the USPTO rejected the GPE trademark again - finally!
This is great news for the GPE project which really suffered from this situation. The latest entries in the ‘prosecution history’ look nice:
2008-02-27 - Notification Of Final Refusal Emailed
2008-02-27 - Final refusal e-mailed
2008-02-27 - Final Refusal Written
The complete attempt by Mr. France to register GPE as his personal trademark is publicly available at the USPTO website. Some background information can be found in this article. The handhelds.org website still claims several trademarks, but the related project become more and more obsolete. The hh.o bootloader is used for ancient hardware only or replaced by U-Boot and ipkg gets replaced by the much better maintained OPKG. Its a little bit sad that the Opie projects are not that active any more though…

Maemo, S60 and a nice reward March 27, 2008
Posted by Florian in GPE, Linux, Maemo, Source, kernel concepts.7 comments
I made some progress porting the multisync-gui to Maemo. The idea is to offer an easy to use graphical user interface for synchronizing data between the Maemo based tablets and other devices. The OpenSync framework that is used offers several plugins for interfacing data sources already. The most interesting ones are the two SyncML ones (HTTP server and client) and the GPE plugin we can use for the PIM applications on the Maemo device.

Currently it is far from beeing useful, but there are some windows to make screenshots now :-) The first thing I want to archieve is to be able to sync PIM data from a Series60 cellphone.
Speaking about Series60 - I received my Forum Nokia Champion diploma today which came with a great target device for syncing experiments :) Many thanks to Nokia for this nice reward and for the great Forum Nokia Champion program and to Nils who suggested me for it!

How to make a mobile Logic Analyzer February 13, 2008
Posted by Florian in Linux, Maemo, OpenEmbedded, Source, kernel concepts.Tags: Java, Logic Analyzer, mobile, N810, Neo1973, Open Source
add a comment
Making a useful mobile Logic Analyzer is quite a challenge, but the basic needs are there. sump.org has a nice VHDL design and Java software for a 32 channel Logic Analyzer
based on a Xilinx Spartan FPGA. The whole design is GPL licensed. The current VHDL implementation is available for several Xilinx FPGA evaluation boards and uses a serial port for communication with a device (usually a PC) running the GUI software. The FPGA board takes care about sampling and buffering of the sample data before it is transferred to the controlling device.
Robert Schuster of tarent did a great job to get the Java software running on a Nokia N800 and on the Neo1973.

It was not too complicated to make the VHDL part work on an inexpensive Spartan-3E eval board. This hardware of course does not really fit the needs for two reasons: First it is too big to accompany a mobile consumer device such as a N810 or the Neo 1973. Second it does not support other input signal levels than 3.3V which is a real showstopper. A better hardware design that fits the needs based on a small FPGA industry module, a battery and some line drivers would be easy to do… but that’s something for a new story later :-) Before that I need to get a serial connection from a N810 to the board and check how the software performs on this device…
The board I used for my test was a Xilinx Spartan-3E Starter Kit.Ther is quite some room for improvement since a a major share of the FPGAs blocks are unused and it does not yet make much of use of all the nice features on the board such as external RAM, flash, display and USB.
Additional screenshots can be found at http://scap.linuxtogo.org.
LinuxToGo project news December 12, 2007
Posted by Florian in Linux, LinuxToGo, Maemo, Source.add a comment
There are some cool things going at LinuxToGo - maybe the most notable is that the Linux on Smartphones project started to become active after sleeping for more than one year. The basic idea of this project / freesmartphone.org is to create a place for collecting, defining and implementing open standards for Linux driven smartphones. That means doing for mobile phones what freedesktop.org does for the desktop environments. Its quite interesting to take a look - there is quite some content yet.
Finally there is a new project some developers (including me) were waiting for a long time. The mobile-linux project joins efforts of projects porting Linux to all sorts of mobile devices. One important change in contrast to a similar but older project is that mobile-linux aims on merging its work upstream. It does not only provide a GIT repository but also a mailinglist for discussing kernel related topics. It would be cool if some more project joined this initiative in order to get in touch with each other.
There is a new release of gpe-sudoku which includes a lot of fixes and minor improvements. It is supposed to work in a plain GTK (non-Maemo) environment too and the Maemo variant works much better now. Packages for Chinook and Bora are avalilabe from here. Please report bugs!
Enjoy….
Cardman 4000 with GnuPG October 23, 2007
Posted by Florian in Cryptography, Linux, Source, World, kernel concepts.1 comment so far
I just received my FSFE Fellowship Smartcard and it took me a while to find out how GnuPG and the Omnikey Cardman 4000 PCMCIA smartcard reader can play together. It looks like there quite some more of thease cheap devices around… so lets write down some lines about how to make it work. The procedure was tested on Ubunty Gutsy but should work on any more or less up to date Debian based system.
You need an up to date kernel 2.6 with the cardman4000_cs driver. Make sure not to have the reader in the PCMCIA slot during boot or suspend - this caused some oopses here.
PC/SC-Lite used by GnuPG does not know how handle the CM4000 directly, but you can use OpenCT as a driver for PC/SC-Lite. So first get root and install the necessary software packges:
apt-get install pcscd pcsc-tools openct
In /etc/openct.conf you need to activate the cm4000 driver - comment in the cm4000 lines to read:
reader cm4000 {
driver = cm4000;
device = pcmcia:/dev/cmm0;
};
After this edit the PC/SC-Lite configuration file /etc/reader.conf.d/openct and activate the OpenCT driver:
FRIENDLYNAME “OpenCT”
DEVICENAME /dev/cmm0
LIBPATH /usr/lib/openct-ifd.so
CHANNELID 0
Start both services:
/etc/init.d/openct start
/etc/init.d/pcscd start
If you insert the reader and a Smartcard pcsc_scan should list a reader and card like this:
fuchs@gibson:~$ pcsc_scan
PC/SC device scanner
V 1.4.9 (c) 2001-2006, Ludovic Rousseau
Compiled with PC/SC lite version: 1.4.2
Scanning present readers
0: OpenCT 00 00
Tue Oct 23 16:35:02 2007
Reader 0: OpenCT 00 00
Card state: Card inserted,
ATR: 3B FA 13 00 FF 81 31 80 45…
Now make it usable as user:
We create a group scard and add the users that should be able to use the card to it.
# addgroup scard
# addgroup <username> scard
Now create a set of udev rules to create the device node with the correct owner and permission settings:
Edit /etc/udev/rules.d/99-gnupg.rules to read:
SUBSYSTEM=="cardman_4000", ACTION=="add", GROUP="scard", MODE="0660"
ACTION==”add”, SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”04e6″, SYSFS{idProduct}==”e003″, GROUP=”scard”, MODE=”0660″
ACTION==”add”, SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”04e6″, SYSFS{idProduct}==”5115″, GROUP=”scard”, MODE=”0660″
This should cover the permissions for USB CCID readers as well.
If you insert the reader again you should get a device like this:
crw-rw---- 1 root scard 252, 0 2007-10-23 15:43 /dev/cmm0
Finally log out your user, log in again to make the group changes become active and check if it works. gpg should print out some lcard inflormation like this:
fuchs@gibson:~$ gpg --card-status
gpg: detected reader `OpenCT 00 00′
Application ID …: D276000124010101000100000D0E0000
Version ……….: 1.1
Manufacturer …..: PPC Card Systems
Serial number ….: 00000D0E
Name of cardholder: Florian Boor
…
If this doesn’t work confgure gpg not to use gpg-agent, I have read some reports that this might cause trouble in combination with Smartcards. This whole text was written from memory, I might have missed some important step - bug reports and additions are very welcome.
Enjoy!
References:
[1] FSFE Cardreader Howto: http://www.fsfe.org/en/card/howto/card_reader_howto_udev
[2] OpenCT Wiki: http://www.opensc-project.org/openct/wiki/cardman
Love-letters August 21, 2007
Posted by Florian in GPE, Source.2 comments
I got a nice loveletter from Mr. France of handhelds.org today - I do not think that I should quote him here ;-) But its a good reason to point interested people to two links. The first one is the letter of the USPTO in response to the GPE trademark application from 25. of June. A short summary of that letter is that hey did not accept the screenshot of the old hh.o GPE website as proof for GPE beeing used in commerce by hh.o and request a better specimen for a “GPE product”.
The second link is the page describing handhelds.org itself. The section “What we do not provide” gives us some information that hh.o does not sell any products - no hardware, no software and they do not even provide support. (In the case this page has some “accident” or suddenly changes I have a nice screenshot I can provide.)
So what’s the point here? Is there a secret hh.o product that suddenly pops up to fulfill the requirements for a trademark?
There are more reasons why this whole trademark story smells fishy:
- The date for the first use in commerce stated in the trademark application is a long time before hh.o Inc. was founded, at a time the platform was part of the CRL and the domain belonged to Kelly Martin. So who did this business? Compaq?
- Even if the hh.o website tells us that hh.o owns the GPE trademark this is not entirely true: The trademark was filed by George France personally and not by the non-profit handhelds.org Inc.
- Mr. France was never involved in GPE itself, only in administrating the servers used by GPE. Noone ever “donated” GPE to anyone and he simply has no right to claim GPE for himself.
Someone came up with the argument GPE was forked and did never move to LinuxToGo when this dispute started… well my answer was that future will give us clue about which of these opinions is right. From the time we moved till I was unsubscribed from the old GPE commits mailinglist today there was a single mail on this list - caused by Mr. France himself removing a file from the GPE CVS repository. I do not think that any honest person is able to speak about a fork in this case…
GPE 2.8 Maemo packages August 8, 2007
Posted by Florian in GPE, Maemo, Source.2 comments
Graham announced a set of stable GPE binary packages for both Nokia 770 and N800 (the Gregale and Bora distributions). I just tried the Bora packages and can confirm that the packages seem to be fine. I have updated my install files for easy installation of all GPE components both from stable and experimental repository. These can be found here. Please don’t forget that you have to add the SDK feed before installing the applications - there is an install file for it too.
Many thanks for the packages and happy hacking!
Update: There are more binary packages avalilable: The Ångström distribution has updated GPE packages with all GPE 2.8 components in its unstable feed now.
GPE 2.8 August 7, 2007
Posted by Florian in GPE, Maemo, OpenEmbedded, Source.4 comments
The release 2.8 of GPE is complete and available for download. The new release comes with a large number of bugfixes and improvements such as an improved calendar, many fixed import/export and synchronisation issues as well as support for Maemo in additional components like Starling (the new audio player) and gpe-filemanager.
The full announcement can be found here.
Many thanks to all the contributors that made this release possible!
Enjoy… and happy hacking :-)
