jump to navigation

Preparing LinuxTag 2008 April 1, 2008

Posted by Florian in GPE, kernel concepts, Linux, OpenEmbedded.
1 comment so far

LinuxTag 2008 will be great for people interested in mobile and embedded Linux. I do not know about all the projects that will have a booth there, but GPE, GPE Phone Edition, QuantumSTEP and OpenEmbedded will be there at least. The application for a booth for these projects was accepted some days ago.


LinuxTag is one of the largest and most interesting Open Source events in Europe. It is known to be a great forum for meeting all sorts of people interested in Open Source – LinuxTag attracts developers, business people and users in equal measure. It will take place in Berlin from May 28th till May 31st

A big thanks to the LinuxTag people and the booth sponsors for the opportunity to show what we are doing.

For OpenEmbedded event planning we have a wiki page that can be found here.


Maemo, S60 and a nice reward March 27, 2008

Posted by Florian in GPE, kernel concepts, Linux, Maemo, Source.

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.

Sync GUI

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 kernel concepts, Linux, Maemo, OpenEmbedded, Source.
Tags: , , , , ,

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.

Java frontend on N800

Frontend running on e 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.

Updates! November 14, 2007

Posted by Florian in GPE, kernel concepts, Maemo.

Did I ever complain about the fact that days are too short to write about interesting things? Time to do so… but well, finally I managed to write a short summary about latest updates:

Thanks to Nora we have a major improvement of the design of the GPE website. I even managed to update the PDA image on the index page last week. GPE is going to work on Maemo Chinook as soon as it is ready I guess – Graham and Christoph are doing a good job sorting out the remaining issues and building new binary packages. I’ll work on this a little bit soon I guess, I’ll get a N810 from the Maemo device program as well.

The new kernel concepts website is online now and finally has both German and English language support as well as a much better look&feel and a nice new shop. The only major task remaining is the English translation of all the shop contents.

There are some more updates… family updates, workstation upgrade (Intellistation M-Pro to Z-Pro) and a lot of minor updates, but nothing that is really relevant to the public :)

Have a good time…

Cardman 4000 with GnuPG October 23, 2007

Posted by Florian in Cryptography, kernel concepts, Linux, Source, World.

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:

DEVICENAME /dev/cmm0
LIBPATH /usr/lib/openct-ifd.so

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.



[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

G(PE)² on a HTC Tornado April 24, 2007

Posted by Florian in GPE, kernel concepts, OpenEmbedded, Source.

With the help of some nice French colleagues I was able to create a GPE Phone Edition image for a HTC Tornado. I was quite impressed how much of the user interface stuff works even without having a touchscreen. Now we only need some hero to make the GSM modem work – using this cute little phone with G(PE)² would be pretty cool. But well even with a working hardware platform there still quite a lot of work to do. The most important missing feature is a working text input method for devices with a numeric keypad.

G(PE)² on HTC Tornado

Many thanks to the people who were involved into porting Linux to these devices, in particular Vivien and Nicolas.

Of course I have images available for testing again. They are available from here. I used the 128MB Mini-SD card shipped with my N800 and put Haret, zImage and the configuration file on a FAT partition. The second partition on the poor SD card contains the ext3 root filesystem. Depending on your filesystem layout on the phone you need to create a directory tree to put the haret configuration in, that path seems to be hardcoded into the binary from Nicolas’ website. Please note that Haret only works on unlocked phones.

If you have comments or questions just drom me a mail… enjoy!