Using Poky SDK to build software

Thursday, July 17th, 2008 by Marcin Juszkiewicz

Poky Linux distribution provides SDK for quite long time. From time to time I hear persons which complain about lack of libX or libY in toolchain tarballs. But there is a solution for them — Poky SDK can be expanded with packages.

Read the rest of this entry »



Choosing next cellphone

Tuesday, June 17th, 2008 by Marcin Juszkiewicz

Nearly two years passed since I started to use my current cellphone: Sony Ericsson k750i. It is great device but I feel more and more limited during using it. For example PIM is very simple (no recurrent events, no attenders) and none of my PDA devices has something more extended.

PIM — Agendus

Few years ago when I had PalmOS powered Sony Clie SJ30 I used Agendus application for PIM. Recently I checked newest version in Garnet VM emulator on my Nokia N810 tablet. It is really great and complex application. There is a support for event attenders, contacts linking, contacts history (tasks, calls, meetings) and lot more. Interesting feature is support for “Trip” events — I tested it with my GUADEC 2008 trip. I was able to add timeline for whole conference, bus trips from Szczecin to Berlin Tegel airport (and back) + plane flights and all of that linked as one trip with all components available in calendar, agenda etc…

Yesterday I installed Windows Mobile emulator and checked Agendus for that platform. It lacks some features from PalmOS version (trips are one of them) but is much better then default WM PIM. I do not plan to check BlackBerry or Symbian versions because they are not on a list of systems which I want to use.

Which system to choose?

So the problem now is which cellphone system to choose… I do not want Symbian because most of devices lack touchscreen (iirc only UIQ ones have it), BlackBerry is totally unknown for me and I also do not want to use totally closed phones like I did in last few years. PalmOS is trying to not die but nothing new was done on this platform in last few years so it is also not for me. Looks like the only choice is going to Windows Mobile cellphones.

Possible devices

Which one to choose? Most of devices use QVGA screens which is a very limiting resolution. After searching on web and discussing with few friends I have a few devices to check — Toshiba G900 (WVGA, new ~480EUR, used ~300EUR, hardware keyboard, no gps) or something from ETEN Glofiish devices with VGA screen (X650, X800, M800, M810). HTC has only Touch Diamond with VGA screen but it is too expensive.

Why not Linux phone?

Because there is nothing interesting now :( Openmoko guys moved from GTK+ to mix of E17 and Qtopia and when I saw result during LinuxTag 2008 it was nothing impressive. To add more confusion there are at least 4 different environments for Openmoko in development (GTK+ based OM2007.2, Qtopia on framebuffer, E17 + Qtopia on X11 and something called “Openmoko underground”). Also formfactor of GTA01/02 is not something I would call “nice” — have a look at any device manufactured by HTC…

And I did not yet saw Linux mobile platform with good PIM… Maemo lack it totally — even GPE contacts/calendar are hard to use due to lack of alarms functionality, Openmoko does not decided yet which PIM they want to support (not that there is something on a horizon)… So sorry guys but I will not buy Linux phone soon.



Feel the power of USB with Nokia tablet

Monday, June 2nd, 2008 by Marcin Juszkiewicz

Over year ago I wrote post about USB — connected most of my devices/gadgets into desktop USB ports and checked how system reacts to it. As Kees Jongenburger gave me USB AF/AF adapter during this year LinuxTag I decided to do the same with N810 tablet.

Required software

In theory nothing is needed as N8×0 tablets are equipped in USB On-The-Go port and proper support is enabled in kernel. To make things easier users can install USBControl (available in normal Maemo repositories).

But there is one problem — default kernel is compiled with OTG whitelist enabled. As a result some classes of devices are rejected — for example all my USB Hubs. After disabling of CONFIG_USB_OTG_WHITELIST (and recompilation of kernel) they got supported.

Attached hardware

I decided to not connect everything USB I have but most of it. Resulting list (names in brackets are added by hand):

Bus 001 Device 001: ID 0000:0000 (Nokia N810 internal USB Host)
Bus 001 Device 004: ID 058f:9254 Alcor Micro Corp. Hub
Bus 001 Device 005: ID 058f:6362 Alcor Micro Corp. 
Bus 001 Device 007: ID 0c76:0007 JMTek, LLC. 
Bus 001 Device 008: ID 0409:005a NEC Corp. 
Bus 001 Device 020: ID 1457:5122 (OpenMoko GTA01 phone)
Bus 001 Device 021: ID 046d:0b02 Logitech, Inc. 
Bus 001 Device 023: ID 046d:c70e Logitech, Inc. 
Bus 001 Device 024: ID 046d:c70a Logitech, Inc. 
Bus 001 Device 026: ID 0409:005a NEC Corp. 
Bus 001 Device 027: ID 0403:6001 Future Technology Devices International, Ltd 8-bit FIFO
Bus 001 Device 028: ID 0fce:d016 Sony Ericsson Mobile Communications AB 
Bus 001 Device 029: ID 05e3:0606 Genesys Logic, Inc. 
Bus 001 Device 030: ID 0a81:0205 Chesen Electronics Corp. PS/2 Keyboard+Mouse Adapter
Bus 001 Device 031: ID 1130:0202 Tenx Technology, Inc. 
Bus 001 Device 033: ID 0a46:9601 Davicom Semiconductor, Inc. 
Bus 001 Device 034: ID 13fe:1d00 (2GB pendrive from GUADEC 2007) 

In other words:

  • 3 hubs (2 of them were powered, one had 7 ports)
  • Ethernet card (dm9601 based)
  • serial port
  • PS/2 -> USB adapter for keyboard and mouse
  • 2 pendrives
  • Bluetooth adapter (those 3 Logitech entries)
  • panic button
  • Openmoko GTA01 pda/phone
  • my cellphone
  • multi slot card reader

Obligatory screen shot

Screenshot must be — especially when it shows that GUI was not ready for this amount of devices. But thats expected — in normal situations no one connects more then one device (especially when USB hubs are not supported).

Conclusion

USB Host ports are handy in devices like N810 tablet. Would be nice if there would be possibility to update firmware from thumb drive like it is one few other devices.



Good bye ipkg, welcome opkg

Monday, March 17th, 2008 by Marcin Juszkiewicz

During last days I was working on switching Poky Linux into using OPKG package manager. Today whole work was merged into trunk and we got rid of non-maintained IPKG.

What is OPKG? It is fork of IPKG (from handhelds.org) done for Openmoko distribution. It has all usable patches from OpenEmbedded related projects merged and got some new features:

  • libcurl instead of wget for fetching
  • GPG signing of repositories is now possible
  • GUI package managers can have own callbacks
  • sends download progress updates to libopkg clients
  • marks packages that were installed to satisfy dependancies (auto installed)
  • additional command line option to remove “auto installed” packages
  • support for faceted classification (similar to debtags) - not used yet

And most important — it is maintained (which can not be told about ipkg).



Year with Openmoko

Sunday, March 16th, 2008 by Marcin Juszkiewicz

It was over year ago — day when I got Neo1973 GTA01Bv3 as part of “phase0″ developer program. What happened during that time?

First there was “OM2007.1″ version of interface. Ugly, hard to use, lacking features. But that was start so let forgive developers that they created such thing.

Then OpenedHand guys created new look for Openmoko — and “OM2007.2″ was born. As one of OH developers I created first recipes for it (so we were able to show it during GUADEC 2007) and later Openmoko guys switched to this set of applications. During next months I did testing from time to time — one of them resulted in most popular post ever: “OpenMoko 2007.2 testing”. It hit Digg and I had problems to reach website ;)

In meantime Trolltech guys started to use Neo1973 as development platform (instead of Greenphone). It resulted in nicely working Qtopia Phone Edition which even got re-licensed to GPL. TT also officially announced that Greenphone will be no longer available but still supported.

What does Openmoko release now for phone? To tell the truth: I have no idea. Last time when I switched Neo1973 it was for testing Poky 3.1 release on it. My GTA01Bv4 is now upgrading from 2007.11 snapshot (last available on downloads.openmoko.org website) so I will see what is going on now with development. I heard lot of E17 based applications for Openmoko + mixture of apps from Qtopia Phone Edition + GTK+ based ones. I hope that result will still fit in 64MB of flash…

Will Openmoko idea survive? I hope that next half of year will show it. I also hope that it will survive — would be nice to have usable phone with possibility to hack any application or behaviour. But until then I will keep my SonyEricsson k750i cellphone or upgrade it to newer model.



My palmtops story

Saturday, February 2nd, 2008 by Marcin Juszkiewicz

All started years ago — I was living in Wrocław then. Each Thursday groups of friends met in pub. About half of them used PalmOS powered palmtops. Due to them I started thinking about buying palmtop for myself.

Palm M105

About year later I bought my first PDA: Palm M105. It had monochrome screen (16 shades of grey), PalmOS 3.5 and 8MB of RAM (which is also used as storage). Standard AA(A) batteries were able to power it for quite long time. I moved my calendar, address book into it, used it as e-book reader (with Plucker), public transportation timetable (Przewodas and Fahrplan) and many others things.

Sony CLIE SJ30

One day I decided that 160×160 screen is too small and colour would be nice thing to have. So I bought Sony CLIE SJ30. It was powered by PalmOS 4.1 and had great 320×320 screen. Took me a bit of time to collect apps which were able to make use of that resolution (as PalmOS treats all devices as 160×160 ones — only fonts looks better). I also started hacking some applications to make use of HiRes screen and fonts.

It was nice device and my first one with memory card slot — I used 128MB MemoryStick with it.

But hacking applications was frustrating — system did not made any use of HiRes screen, GUI sizes were mostly hard coded so even replacing fonts with smaller ones did not give more informations on screen. I decided to change platform.

Sharp Zaurus SL-5500

At that time (end of 2003 year) I had two other choices: PocketPC or Linux. I decided to not go into PalmOS 5 as it was not better then older versions. So after checking market I decided to go Linux way (which was even easier as I used Linux on Desktop for quite long time then).

And that’s how I bought Zaurus SL-5500. I found someone who fetched it from USA for me (I even got 3 months warranty from Sharp as it was refurbished device). It was costly device — I had to sell CLIE, its memory card to be able to get “collie” into my hands.

13 February 2004 Zaurus arrived with SharpROM 2.38 installed. It was nice change from PalmOS world but it lacked “hackability” so I decided to switch into open alternative: OpenZaurus. It was 3.2 version (last one with binary compatibility with SharpROM).

Change was great — finally system which I can hack as much as I want to. After some time I switched to “3.3-pre1″ version which was totally experimental but it had newer OPIE. But also it lacked software due to not being compatible any more with SharpROM…

OpenEmbedded

I started searching for tools to build some applications. First it was “buildroot” used by OpenZaurus but some guys told me that I should forget about it and start to use something called OpenEmbedded.

Gods… this was hard tool. I had to buy extra RAM to my desktop machine just to use it. But after about week (or two) of asking stupid questions to Kergoth and Mickeyl I finally got ideas how to use it and started to build extra applications for collie (which still was using OZ 3.3-pre1).

My Zaurus started to have less and less packages from OpenZaurus 3.3 and most of installed software was built with OpenEmbedded. So one day I decided to build whole image with OE. It took me week. After that I got write permissions and joined OE core team ;)

We worked hard on our build system and in September 2003 OpenZaurus 3.5.1 was released. It lacked some software present in previous releases but also gave many others. Community started to use it, then some developers joined us so next releases had more software, more machines supported, more environments (not only OPIE but also GPE).

Zaurus c760

Time passed… I was spending lot of time on user support and one day people from #oe and #openzaurus channels started to congratulate me on getting new toy. I was surprised as I had no idea what are they talk about. Someone pointed me to OESF forums thread where Richard Jackson wrote that he donates his c760 for me. It was great day.

Zaurus arrived few days later and I flashed it with OpenZaurus on same day (played few minutes with SharpROM). I did lot of VGA related hacking on it (mostly OPIE). It was my favourite PDA for long time.

Zaurus SL-6000L

In May 2006 one OpenZaurus user contacted Mickeyl and me. He wanted to donate two Zaurus palmtops for OpenEmbedded project: SL-5600 (poodle) and SL-6000L (tosa). Both devices arrived at my place month later.

Tosa is very interesting device — very bright screen (best in whole Zaurus line), internal WiFi (Prism2 on USB bus) and usable USB host. But it is also very huge — too big to be usable ;(

Zaurus SL-5600

Crap screen (same as in collie) and only 32MB RAM. Looks like Sharp wanted to produce newer collie but lacked RAM chips. If it would get 64MB of memory it would be nice replacement.

I did not played with it too much — it moved to Mickeyl during OEDEM 2006.

Zaurus SL-C3000

Another device from OpenEmbedded project. I took it from Mickeyl during OEDEM 2006, played a bit, resolved some problems and during FOSDEM 2007 gave it for Rolf ‘Laibsch’ Leggewie.

I did not like it — too thick and heavy.

PalmPilot 5000

One day I had occasion to buy PalmPilot 5000 so I bought it. It was funny to see that PalmOS5 Datebook is nearly same as the one in PalmOS 2.0 — only ~8 years of time difference…

Nokia 770

During FOSDEM 2007 I got Nokia 770 from MDK. For long time I did not found good use for it. For PDA usage I had cellphone (Sony Eriksson k750i), for web browsing I used my desktop… Finally it became used as games platform — Mahjongg, Sudoku, Battleweled and few others. Plus sometimes some web browsing.

Finally during last trip to London I found use for it (based on experience from GUADEC). After installation of Maemo Mapper it turns into nice city map.

FIC Neo1973 GTA01

Some time before FOSDEM I got email that I am one of 50 developers selected for OpenMoko phase0 program. In March I got GTA01Bv3 and two months later GTA01Bv4 came as upgrade.

I have to admit that I have mixed feelings about this device. Compared to iPhone or recent HTC phones it is bulky and feature crippled. But Neo1973 GTA02 has to fix at least features part :)

There were two versions of UI for them: OM 2007.1 and then OM 2007.2 version which we (OpenedHand) prepared for GUADEC. I remember that time when recipes for components were changing many times during one day until poky-image-phone was ready and working. I still have this image (but with upgraded packages) on my GTA01Bv3 phone. It was interesting to see when OH guys were comparing behaviour of applications on 200MHz device with same apps on 266MHz one.

Nokia N810

My recent buy. Hard to tell more about it now.

Current situation

Now I use my cellphone for PIM tasks (calendar, address book, tasks, notes). It is not perfect but I have it always nearby. My SL-5500 is on a way to new home where it will be used for developing Linux 2.6 drivers. Nokia 770 is game platform like it was. Tosa waits for someone who wants to work on improving its situation (it can be drivers work, images polishing etc). PalmOS devices are packaged in a box with many other not needed computer/electronics stuff.

For now I think that mainly Nokia N810 will be used (for fun and work). Zaurus c760 will be booted from time to time to test some things and so will Neo1973 GTA01Bv4 phone (this one is all time USB connected).