I cleaed keboard esterda

Yesterday I cleaned my Microsoft Natural Keyboard after few years of usage (keyboard itself is 12 years old). Whole process took me 3 hours, required 3 screwdrivers, bowl with water and some chemicals used to clean keyboard case.

Why 3 screwdrivers? Big Philips one to open case, second to take foils and rubber from case. Then flat one to take keys from case (only if they do not want to go out after finger press from inside of case). All keys were cleaned only with water as it was enough to get them clean. Case needed chemicals — I used “Pronto” anti-dust spray.

Completing keyboard was easy but gave me few problems. First I forgot about rubber used for space key and needed to unscrew electronics to put it back. Then needed to fix “Enter” key (main one, not numpad one) as it was working but very hard — it use hinge which as to catch key properly. After connecting to computer there was a problem with YUHJNM keys (as you see in post’s topic). Another unscrewing and fixing foil they were working.

The last problem was space bar which was working only in the middle. This key mounting is hardest in whole keyboard. To mount it properly you need to disassemble stamen from it and put it into it’s place in case. Then put key into case. Put keyboard keys to bottom and use flat screwdriver to put stamen into it’s place in key. After that keyboard should be fully functional.

Like I wrote it took me 3 hours but it was worth it. Keys does not block and keyboard is clean. Of course it is not white but what you can expect from 12 years old keyboard 🙂

x86 architecture mess

x86 architecture is total mess when it comes to naming. Basically there were “i386”, “i486”, “i586”, “i686” — nothing more was used. But this gives lot of problems.

First one — which optimisations can be used on “i686”? It has MMX for sure but does it have SSE? SSEv2? SSEv3? 3DNow! technology? It depends on cpu… for example PentiumPro (the first “i686”) has MMX but lack any other addons. Athlon64 will have most of them (or even all in newest cores) but under 32bit Linux it still be “i686”.

Second thing is how Linux recognize CPU. On ALIX board I have AMD Geode LX which has MMX and 3DNow! but lack SSE. According to some data it is “i686” but under Linux it is “i586”:

root@alix:~$ uname -m

Currently I am running Ångström on it but is it built with “i686” optimisations…

Why using of DISTRO/MACHINE variables in local.conf is wrong

Now when Neo1973 phones are in hands of external developers we have more and more people using the OpenEmbedded build system. Many of them wants to add something to resulting image. And that is where problem begins…

Most of them abuse DISTRO_EXTRA_RDEPENDS variable which should be used only in a distribution configuration file. Some of them also use MACHINE_EXTRA_RDEPENDS which should be used only in a machine configuration file. And all of them are surprised when I told them that their way is wrong. Most common reaction was: So how can I add ‘mc’ into image? (“mc” is an example).

The solution is simple — if you want to have image with own contents then you need to write a recipe for it. Take the one which you want to extend as a base, add few entries into RDEPENDS/PACKAGE_INSTALL and that will be all. And if you want to have something extra you just have to edit own image and add it. With abused vars you have to remember about rebuilding task-base recipe.

Why such way instead of abusing listed variables? Because in other way we will get bug reports like “I tried to flash angstrom-x11-image and it did not fit in flash.” when we know that it fit on that device. Why it did not fit for user? Because he injected megabytes of applications into it. So how we react to such report? WONTFIX/INVALID comes to my mind.

More about it can be find in Poky manual.

OpenMoko 2007.2

Yesterday Sean announced new version of OpenMoko software — so called OM 2007.2 version. It is redesigned, rewritten to make phone software more finger friendly.

What changed? Nearly everything 🙂 Theme is lighter, applications are usable without stylus, there is no “scroll wheel” which was in 2007.1 and nearly no one know how to use it — instead of it there is a dragging by thumb or finger up/down in the list (also left/right). Everything is better fit to 285 DPI of Neo1973 screen. Main place of operation is new Today application which shows events from calendar, missed calls, tasks to do and allow to run any installed application. It also allow to switch between running ones. In summary — it is totally different stuff.

Why I am writing about this? As I work for OpenedHand I had a luck of seeing that stuff month ago — we presented it on our booth during GUADEC. More details can be seen on Thomas Wood post about OM 2007.2 and Chris Lord made video which show kinetic scrolling on Neo1973.

High Definition TV

During wedding week I was at Ania’s parents house. Recently they bought 42″ wide screen TV and DVB-S receiver. This gave me possibility to watch some HDTV channels and compare them with standard TV.

I have to admit, that such big screen shows why HDTV is future — without high resolution data image is blurred too much — there is too small amount of details on screen. For example faces of news presenters are flat instead of showing face elements (wrinkles for example). There was no time to watch DVD movie but after working with my 20″ LCD monitor I think that on 42″ it will also remind that it is low resolution data ;(

Too bad that my cable TV do not provide HDTV channels ;(

Why Alix board is nice and why not quite

There are nice things in Alix board design and few not quite nice.

Nice ones:

  • only 12V voltage needed (small external PSU is in package)
  • DC-DC converter on board (so no need for ATX PSU or PicoPSU + 12V external PSU)
  • slot for CompactFlash storage on board (no need for CF->ATA adapter)
  • miniPCI slot
  • low profile (board has height of dual USB connector)
  • 22 GPIO lines
  • 256MB of RAM soldered on board (so no space taken by memory slot)
  • no fan, no heatsink

What I do not like:

  • lack of ATX back cover for ports (so when you put it in case you will get big hole for dust)
  • lack of memory slot (even SO-DIMM one if someone want more then 256MB RAM)
  • ATA connector is 44 pin one for 2.5″ harddisks (looks like it is impossible to buy 2.5″->2.5″ cable in Poland)

So if someone know where to buy 2.5″ -> 2.5″ ATA cable in Poland then please write in comment.

Wrists == pain ;(

Yesterday evening was nightmare — after 2 years my wrists started to pain again ;( Especially right hand is worrying me — there are moments when tendons feel like being pulled too much…

During next days I am going to visit orthopedist to get any kind of solution for hands. Probably for start it will be some medicines and wrist brace like it was in 2005 year when I had problem mainly with left hand.

PC Engines Alix1c arrived

During GUADEC time Stelios Koroneos from Digital Opsis announced that PC Engines company donated two Alix1c boards to OpenEmbedded. As the board is interesting I wrote that if no one else will mail than I would like to play with it.

Today it picked it on post office and brought home. First reaction during unpacking: “Wow, this board is TINY!” because I had not used mini-ITX boards before. After connecting few cables (power, ethernet, vga, usb keyboard) and shorting “power switch” with screwdriver I got it booted and checked BIOS settings. Unfortunately I was unable to boot from PXE 🙁

I did search in drawer and took 256M CompactFlash card which I bought few years ago for “collie” and decided to install something on it. Decided that this time it will be Voyage Linux (Debian derived distribution for x86-based embedded platforms such as WRAP, ALIX and Soekris 45xx/48xx boards). Fetched their install CD (33M only) and started qemu with CF card as harddisk and that ISO. Few minutes later card was put into slot on Alix board and I got Voyage running.

Of course I could not resist and now board is upgraded to plain Debian ‘sid’ and 2.6.22 kernel ;D After wedding I will replace NSLU2 with Alix board and add few functions for it:

  • Samba server
  • Bluetooth Access Point
  • CUPS based print server
  • NFS server

During that time I also plan to move it from CF card and Debian to 2.5″ harddisk and Ångström.

My OpenEmbedded related trips

Yesterday during evening talk I found out one funny thing — all my trips related to OpenEmbedded was to cities which name starts with “B” letter.

First it was Berlin — first OEDEM (in 2006). Then it was FOSDEM 2007 in Brussels. Latest one was GUADEC 2007 in Birmingham. Next one will be OEDEM 2007 — Berlin again.

Before or after OEDEM I will probably also attend Bromley to visit OpenedHand office but this does not rather count as Bromley is part of London.