1. New interesting devices

    Recently few interesting devices appeared on a market. And they have high geek factor D:

    SheevaPlug

    SheevaPlug from Marvell contains MV88F6281 cpu running at 1.2GHz with 512MB of DDR2/800 memory. Other nice things are:

    • 1GbE network controller
    • 512MB of NAND for storage
    • USB 2.0 controller (up to 480Mbps speed)
    • RS232 serial port
    • ARM JTAG
    • SDIO slot
    • U-boot as bootloader

    Everything in small package and for only 99 USD. I think that this will be nice addon to my collection of ARM devices (it is also one of fastest available ones).

    Touch Book

    Few days ago Koen Kooi wrote on his blog about Touch Book. It is ARM (TI OMAP3) based combination of tablet and netbook. Composed from two detachable parts it can be tablet (one part) or netbook (two parts connected).

    There are few things in it’s design which make it special:

    • 8.9” 1024x600 touchscreen
    • up to 15h on battery (in netbook mode)
    • two internal USB connectors to hide dongles inside
    • six USB connectors in total
    • just 0.9kg
    • no fans, no moving parts
    • opensource design
    • runs Ångström based distribution

    Total price is 399 USD for netbook or 299 USB for tablet. Too bad that they offer selling to US only — but this can be handled by US friends D:

    To get one or to not get one is tricky question. Current design lacks any video output so using it instead of laptop will be hard (no way to show presentation slides) but size, weight and battery time are interesting. I will definitely track their progress.

    BeagleBoard C2

    At the end of March new version (C2) of BeagleBoard has to be released. It has 256MB ram compared to 128MB of currently sold B7 version and also working EHCI USB port (B7 offers only one OTG port). I planned to buy this version but now I am not sure about it — Touch Book looks too interesting D:

    Written by Marcin Juszkiewicz on
  2. WordPress plugins which I use on this blog

    Cliff Brake asked me which plugins I use on my blog for spam protection. I decided to write about all plugins which I use here.

    Widgets

    First part would be widgets which are used in sidebars:

    Spam related

    I used Spam Karma 2 before but it is not maintained anymore. Now I use simpler ones:

    Statistics

    Do not believe in statistics which you did not faked” or what to use to track visitors:

    Content related

    Other

    Theme

    OK, theme is not a plugin :D I use plaintxtblog by Scott with few modifications.

    Written by Marcin Juszkiewicz on
  3. Syncing mobile devices

    Since first week of 2009 I use Nokia E66 phone. It is nice device and is expandable with many applications due to fact that it runs Symbian (S60 3rd FP1). But as usual there is a problem with it — syncing or rather lack of it (at least under Linux).

    Under MS Windows there is “Nokia PC Suite” set of applications. It is heavy and ugly — mostly because vendor had own idea how application UI should look. As usual it is unable to keep device data available in any sensible format — all it do is syncing Phone “installed PIM” (which mean MS Outlook or Lotus Notes). It does not even have VCard import/export which will work good (I had to kill application after attempt to import 32KB file with ~200 vcards in it). So basically all what I can do with it is making backups of phone contents (but for that there is also application on phone which use memory card for keeping backups).

    Other option is OxyCube application. But it is too expensive so I do not even bother to check how good it is.

    But how to sync under Linux? This is good question… First idea which came to my mind was OpenSync. But which version to use? Last stable (0.22) or current development one (0.38)? Their homepage says:

    Releases 0.22 (and 0.2x svn branch) and before are considered stable and suitable for production. 0.3x releases introduce major architecture and API changes and are targeted for developers and testers only and may not even compile or are likely to contain severe bugs.

    0.3x releases are not recommended for end users or distribution packaging.

    So stable one is recommended but no one supports it as developers forgot how it worked. This is not strange thing because this release is over 2 years old now. So maybe development version should be used? No… I was told few times that it can crash, do dirty things etc. so it can not be trusted at all. And there is no plugin to get KDE4 PIM apps synced (plugin for KDE3 can be used after some tweaks).

    Effect is that after firmware update my phone has all contacts restored from phone backup but lost all calendar entries…

    Written by Marcin Juszkiewicz on
  4. Does Vortex86sx based devices are worth something?

    At FOSDEM 2009 I grabbed one Vortex86SX based device — Koala Nano PC which is available at Koan software. Device came with Ångström distribution and was running 2.6.26 kernel. I wanted to get something more fresh on it and after some fighting I booted 2.6.29-rc5 kernel today.

    Device use Vortex86SX SoC which is based on 486SX core. Yes — this is x86 machine without FPU. Overall speed of that is… nearly not existing.

    First benchmark which came to my mind was “hdparm -T /dev/sda”. Results were dramatic: 9-13 MB/s for cached reads (with 133MHz memory and 300MHz cpu). I decided to compare against other devices:

    Device Arch CPU CPU speed memory type cached reads
    Koala Nano PC x86 vortex86sx 300MHz DDR2 9-13MB/s
    old PC x86 pentium2 266MHz EDO DRAM 33MB/s
    ATNGW100 av32 AT32AP700x 130MHz SDRAM 35MB/s
    ASUS WL-500gP mips bcm3302 266MHz 46MB/s
    Freecom FSG-3 arm ipx42x 266MHz 43MB/s
    iBook G3 ppc g3 300MHz SDRAM 65MB/s
    AT91SAM9263-EK arm at91sam9263 180MHz SDRAM 62-63MB/s
    Compulab arm pxa270 312MHz SDRAM 74MB/s
    NSLU2 arm ixp420 266MHz SDRAM 74MB/s
    Koala nano33 x86 vortex86dx 1GHz DDR2 74MB/s
    Nokia N810 arm omap2420 400MHz SDRAM 82MB/s
    AT91SAM9G20-EK arm at91sam9G20 400MHz SDRAM 96MB/s
    Linkstation pro duo arm ixp4xx 266MHz 147MB/s
    BeagleBoard arm omap3530 500MHz mDDR 152MB/s
    Alix.1c x86 geodelx 500MHz DDR 209MB/s
    kirkwood reference board1 arm kirkwood 1200MHz DDR2 209MB/s
    BUG arm i.mx31 533MHz DDR 294MB/s
    my desktop x86 core2quad 2400MHz DDR2 3300-3500MB/s
    Cliff’s desktop x86 Core-i7 920 Quad 2.67GHz DDR3 6400-7200MB/s

    But remember that this test is not so good for benchmarking — I am preparing better set of tests to really compare speed of devices. So far it contains openssl speed and MP3 encoding/decoding.

    But device has also few nice things. Everything is integrated so 12x12cm box is enough to keep everything inside. It has ATA controller, FastEthernet, graphics based on XGI core (with accelerated framebuffer able to do 1680x1050 resolution) and working USB. There is a place to put 2.5” HDD inside (normally it boots from CompactFlash card), second Ethernet or WiFi are available options…

    But what is use for such slow device? There are lot of ARM based ones which offer similar (or better) functionality and are faster… But wait — there is one use: event displays as this machine has nicely working framebuffer (I got even 1680x1050 resolution).

    UPDATE: added results from iBook G3 300MHz and some other machines.


    1. kirkwood reference board uses same cpu as SheevaPlug device. 

    Written by Marcin Juszkiewicz on
  5. Serial cables for BUG

    During this year FOSDEM Bug Labs gave 4 BUG Starter Kits for people. Two were given for best ideas of application/module/way of using BUG — here Ken and Peter selected best entries. Other two were possible to win by donating FOSDEM.

    I already knew two of those lucky guys. If you are one of other ones then I want to tell that I have Handylink connectors which can be used to build serial cables for BUG. If someone wants to also have Ethernet then all signals are in connector too — just proper RJ45 socket needs to be added.

    How to get Handylink connector from me? Mail me with your address and I will send you one connector (with cable ending in just wires) by normal post. No costs for You even — whole package costs me ~1€ so I do not need return of costs.

    Written by Marcin Juszkiewicz on
  6. Contributing to Poky is not hard

    About 2 years ago I started to work (as contractor) for OpenedHand as full time Poky developer (I did not worked on kernel/applications — just Poky itself). During that time we made few releases, and last of them (‘elroy’) was prepared but never got released (it is present on OH servers anyway). I also worked on upgrading systems used by OH clients.

    Now I work for other companies and one of them (Bug Labs) use Poky. We use last official release (‘pinky’) which shows it’s age so we bumped some components to newer versions to get some additional software built. During that we had to fork some classes/recipes to make needed changes. Those changes were available only in Bug Labs repository and I decided to review all of them to get as much as possible merged back into Poky.

    I created single patches and started to show them to Richard Purdie to get them accepted. It was hard sometimes but I understand why — there are strict policies for backports in Poky (everything backported has to be present in ‘trunk’ for example). After some of our changes got accepted he created ‘poky-contrib’ repository and gave me access to make it easier in future.

    Since then I created few more backports/fixes and all of them were merged. I do not have to show him every patch separately — it is just “please pull” mails to Poky mailing list or similar discussions via Jabber.

    Having possibility to easy sharing changes is great thing.

    Written by Marcin Juszkiewicz on
  7. AT91SAM9263-EK board

    Some time ago I got AT91SAM9263-EK board which was given by Atmel company. It is not first developer board which I use but first which I own ;)

    Currently I run 2.6.28 kernel on it and have a problem with audio as it works only via OSS emulation and OOPS when ALSA is used directly. I tried 2.6.20 and 2.6.29-rc2 but problem was the same.

    Today I moved from nfsroot to root on NAND flash. But this time I used UBIFS instead of JFFS2 (which I used in past on devices). Kernel is still fetched from TFTP server but I will change that later (there is a space on flash still). I have to admit that my old setup (tftp kernel + nfsroot) is really handy for rapid development — no need to copy anything to device, no need to remember about syncing when RESET key is pressed etc.

    Next plans for board? Not defined yet but I know that I will use it for quite long time as main development platform.

    Written by Marcin Juszkiewicz on
  8. How to install additional software into your OE generated rootfs

    There are few methods of adding software into rootfs. You can copy binaries but you can also go better way by using packages. I know that this can be strange experience for some people (which are used to systems which generates only binaries) but in OpenEmbedded world effect of software build is set of packages which can be used to generate final rootfs image.

    First thing to check is which package contains needed binary. It is easier if package name has binary name (like ‘alsa-utils-aplay’ which contains ‘aplay’ command) but it is not always so easy. Hopefully OpenEmbedded generates ‘Packages.filelist’ file in ‘tmp/deploy/glibc/ipk/’ subdirectories. If they are empty (common situation) they need to be recreated.

    To generate them user needs to remove ‘Packages*’ files from all directories and call bitbake package-index command. When command finishes ‘Packages.filelist’ files should contain all informations — for example ‘update-inetd’ command line looks like this

    update-inetd netbase:armv6:./usr/sbin/update-inetd
    

    The format is simple:

    BINARY-NAME PACKAGE:ARCH:PATH-TO-BINARY
    

    So when package name is known we need to transfer package into device. This part depends on device so I will not elaborate on it.

    Installing package is simple: opkg install package.ipk. But copying single packages can result in frustration called ‘dependency hell’ (package require another package which require another etc). To check which packages will be required the easiest way is dpkg-deb -I package.ipk (as IPK packages are compatible with DEBs).

    Better way is to use repositories of packages — command simplify to opkg update;opkg install package (users of desktop Linux distributions can compare it with apt-get or yum). If you built Ångström distribution then your rootfs already contains all informations needed to use packages from repositories. For other distros user needs to define them by hand.

    Repository informations are stored in ‘/etc/opkg/*-feed.conf’ files. Format is simple:

    src/gz NAME URL
    

    Example:

    src/gz base http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv5te/base
    

    Instead of ‘src/gz’ also ‘src’ can be used — it will fetch uncompressed ‘Packages’ file instead of gzipped one.

    When repositories are defined installing software is easy: opkg update;opkg install package will fetch package and all it’s dependencies and then will install them into rootfs.

    I hope that this will simplify that task for some people.

    Written by Marcin Juszkiewicz on
Page 60 / 105