Tag Archives: efikamx

I am running out of names for computers

Somewhere in 2010/11 I decided to clean up mess of naming machines at home and decided to go with character names from “Winnie the Pooh” books (Polish edition). Today I got new developer board and had to spend a moment to get a name for it.

So “klapouchy” (Eyeore) will be new name for DragonBoard. Maybe not best one but most of the names are already taken:

  • krzys (Christopher Robin) is my router (because Chris decides who can enter Hundred Acre Wood which is the name of my WiFi network)
  • puchatek (Winnie the Pooh) is main desktop
  • lumpek (Lumpy) is conference laptop (it was lucek before because it got Ubuntu Lucid as first system)
  • gofer (Gopher) is Efika MX Smartbook
  • krolik (Rabbit) is Samsung Chromebook
  • malenstwo (Roo) is Pandaboard (there were malenstwo-a1 and malenstwo-ea1 when I had two boards)
  • prosiaczek (Piglet) was MX53 Quickstart
  • kangurzyca (Kanga) is my wife laptop (she chosen the name)
  • sowa (Owl) is another router
  • tygrysek (Tigger) is my VPS (at beginning it was up/down/up/down all the time)

So most of the names from books are already taken. There are also Disney movies which adds few new ones (like Gopher and Lumpy) and cartoons (which I am not fan of). In worst case one day I will start re-using names or add names from other story.

What I used before? Desktop was “home” or “hrw”, Dell laptop (now “kangurzyca”) was “maluch” (small) due to 12″ size, “lumpek” was “lucek” due to Ubuntu Lucid installed and rest was named by hardware name (which is a default in OpenEmbedded).

How you are naming your machines?

Let’s compare some cpu ;)

When I bought Samsung Chromebook friend started “nbench” on it. So I did same on my conference laptop. None of devices won…

Idea of testing cpu power was sitting somewhere at back of my head and finally I decided to just run one simple command available on nearly every GNU/Linux based system: “openssl speed”. Sure, on some systems it will use hardware accelerators, on others (or not) some options enabled to get more speed (like ARM assembly version which is not enabled in Debian/Ubuntu systems). But it is something what anyone can run at home.

Table may be hard to decipher so I also give it as Google Docs. It also has few more devices listed and whole tables (one below is for 8192 size samples).

Devices in table are:

  • my Intel Core i7-2600K desktop
  • my Intel U7300 (ultra low voltage) conference laptop
  • Exynos5 Dual powered Samsung ARM Chromebook
  • Exynos4 Dual powered Tizen development platform (got rid of it today)
  • i.mx515 powered Efika MX Smartbook
  • Beaglebone with AM335x cpu
  • Sheevaplug (as only armv5te device which can compare with other entries)

Devices were running different versions of OpenSSL under different systems. It is listed in Google Docs document.

CPUCore i7U7300Exynos 5250Exynos 4210i.mx515AM335xFeroceon 88FR131
Architecturex86-64x86-64armv7a (a15)armv7a (a9)armv7a (a8)armv7a (a8)armv5te
MHz34001300170010008007201200
OpenSSL version1.0.1c1.0.1c1.0.1c1.0.0f1.0.1a1.0.0i1.0.0d
 
md41111896393198328471205906143746103068119367
md5693969249301224040148089854015336586518
hmac(md5)686511248859225839149153867285498187651
sha172152822277014773971233495253544638123
rmd1602474539350010693557790401882631830803
rc489461522566015394986829637702936445036
des cbc737032719137811212991496686018829
des ede32809110578141837806552630053130
seed cbc78204311813900224361176501167113087
rc2 cbc4432713839236911549410897739310699
blowfish cbc133455520044947137540235361565420584
cast cbc118852491625532631738228481529820590
aes-128 cbc127378959556536022386164771087611697
aes-192 cbc1061418100255973186531391292219968
aes-256 cbc904876914848564164191209179818677
camellia-128187958444035869815447233251550714197
camellia-192141346331804586712090183001226111138
camellia-256141422332724592712050183831224711131
sha256216766867916433423427181481202213040
sha512336729135935311268877532124843221
whirlpool12121147920278204602384022623085
aes-128 ige122085430186321822126155901046911219
aes-192 ige1021333610754269186961335589049647
aes-256 ige875143100147636163071163577358433
ghash19386091680343547912136

Most interesting columns are U7300 and Exynos 5250 ones — 3 years old laptop which I bought for conferences compared to Chromebook. Looks like for next conferences/events I will rather go with Chromebook not UL30A. This will give me one or two hours of battery life less but it is much lighter device at same time. But have to test it first for few days to check is it comfortable enough for daily use.

New thing to buy: Samsung Chromebook

Sometimes it is good to take a look at IRC channel in the evening. There will be new chromebook from Samsung. Someone may say “So what? It’s just yet another chromebook not worth looking at.” but I will disagree.

What is special in this device? Specification of course ;) Exynos5 Dual (5250) which has 2 Cortex-A15 cores, 2GB of memory, 16GB of eMMC (a bit small but 64GB sd cards exist) and all that in 11.6″ netbook case. There is no ARM device on a market which could be compared and run open source operating system.

I hope to get one soon — online stores will sell it on Monday. From what I know there will be a way to run other operating system than ChromeOS — I will switch to Ubuntu or Debian on first day probably.

And finally will replace Efika MX Smartbook.

What interest me in ARM world

When I published my last post about ARM boards there were many questions and suggestions with interesting devices. Thank You all for it.

But there were also suggestions about ARM9 or ARM11 based devices. So I decided that it is good time to write what interest me now in ARM world.

But first some inventory. I had/used/have several devices with ARM cpu:

  • StrongARM (armv4) one:

    • Sharp Zaurus SL-5500 (which took me to ARM world)
  • ARM920 (armv4t) ones:

    • Openmoko GTA01 bv3, bv4 (s3c2410)
    • EDB9301 (EP9301 cpu)
    • Sim-One (EP9307)
  • ARM926 (armv5te) ones:

    • Sharp Zaurus sl-5600 (pxa250)
    • Sharp Zaurus c760/sl-6000 (pxa255)
    • Sharp Zaurus sl-c3000 (pxa272)
    • Sheevaplug (kirkwood)
    • Atmel devboards (at91sam9263, at91sam9m10)
    • ST-Microelectronics/ST-Ericsson NDK-15, NHK-15 (st88n15)
    • Nokia 770 (omap1710)
    • Linksys NSLU2 (ixp425 iirc)
  • ARM1136 (armv6) ones:

    • Nokia N810 (omap2430)
    • Bug r1.0, r1.2 (i.mx31)
  • Cortex-A8 (armv7a) ones:

    • Beagleboard B7, B7, C3 (omap3430)
    • Nokia N900 (omap3430)
    • Nexus S (exynos3)
    • Genesi Efika MX Smartbook (i.mx51)
    • Freescale Quickstart (i.mx53)
  • Cortex-A9 (armv7a) ones:

    • Pandaboard EA1, A1 (omap4430)
    • Archos G9 80 (omap4430)

All of that during last 8 years. Most of my ARM live so far was around ARM926 based devices (some of them still can not be listed here) and I do not want to go there again. Kirkwood core was fastest one with 1.2GHz clock and 512MB of RAM it was really fast machine. I only missed Serial ATA in my Sheevaplug (rev 1.0) but even with hard drive on USB it was nice improvement.

Then I played a bit with ARM11 processors. Ok, they were faster than most of ARM9 cpus but I already had experience with Sheevaplug. And after few months first Cortex-a8 board landed on my desk — I got Beagleboard B7 from Bug labs as test platform for their new device. This was improvement!

I still remember my reaction when connected it to normal LCD monitor and saw it used at 720p resolution (1680×1050 was a bit hard for omap3). Moved to Nokia N900 few months later and found that fast cpu means nothing when paired with slow storage and not enough memory for system.

So today I prefer to not look below Cortex-A9 (or comparable cores like ones from Qualcomm or Marvell). Hope to play one day with Cortex-A5 (which should replace ARM926 one day) just to see how low-end armv7a cpu behave.

And wait for ARMv8 to hit market.

Flashing U-Boot on Efika MX Smartbook

From time to time I read posts where people wrote that their Efika MX Smartbook does not boot any more. The only thing which it does is white power led blinking about twice per second. Standard reply in such case is “send device back to Genesi”.

Some time ago a friend of mine borrowed Efika MX Smartbook from me. During his experiments he managed to get netbook into such state. I have serial/jtag debug dongle so decided to take a look at it (and unbrick device). I managed to fix it but also somehow broke serial port so can not check why my automate way does not want to work.

What needs to be done to get Smartbook back to live? Few things:

Needed steps:

  1. Repartition SD card. You can use any tool for it. All what has to be done is set up first partition at 1MB offset so we have space for U-Boot.
  2. Format partition (if needed) as FAT.
  3. Run “sudo dd if=u-boot.imx of=/dev/sdd bs=1k seek=1” (replace /dev/sdd with your SD card).
  4. Put card into SD slot of Efika MX Smartbook.
  5. Take out keyboard — you need to use small screwdriver to push holes near F1, F6, F10, End keys.
  6. Change DIP switches – they are in a middle of motherboard. You need to reverse default setup.
  7. Power on your Efika. There should be U-Boot output on screen. You may even get system loaded up at this step ;)
  8. Take out SD card and copy ‘boot.scr’ to it.
  9. Power off Efika, put SD card and boot.
  10. Old U-Boot will be stored into NOR flash (output will be visible on screen).
  11. Change DIP switches – they are in a middle of motherboard. You need to reverse them to default setup.
  12. Put keyboard back.
  13. Take out SD card.
  14. Boot your Efika MX Smartbook — operating system should load.

Some information:

  • old U-Boot got flashed because new one was not tested for NOR boot
  • finding out information for this how to took me few hours
  • this procedure can be done without Efika MX Smartbook serial/jtag dongle
  • similar procedure can be used for Efika MX Smarttop but as I do not have such I can not offer help

Thanks goes to:

  • Genesi for giving me free Smartbook and serial/jtag dongle
  • Marek Vasut for his work on mainlining U-Boot support for Efika MX devices
  • Matt Sealey for some hints on IRC

Square board with five edges

Some time ago I got yet another developer board from Linaro — this time it was i.mx53 Quickstart also known as mx53 LOCO. At that time I only found time to power it on and check does it work at all.

Yesterday I booted it with Ubuntu desktop image from Linaro but without connecting to display (I have HDMI addon so can use VGA and HDMI outputs). Lot of lights (voltage controls mostly) appeared on board — funny thing is that to power some of them all you need is VGA or HDMI cable connected.

Today I went shopping… Board comes with power supply (did not used), USB cable and 8GB microSD card. Last item is important as mx53loco boots from it by default — I do not know does it checks SD card too. What I lacked was Serial ATA -> E-SATA cable for my external hard drive. Yes… SATA->ESATA as board has standard connector for connecting drives directly but as it lacks SATA power connector (about which I wrote already) I had to use external case. Good thing is that local electronics shop had those cables available. Disk speed is quite nice:

Serial ATA disk speed

Serial ATA disk speed

Same disk on USB

Same disk on USB

Compare it with SD card:

SD card speed

SD card speed

Which interface you prefer for storage? :) I hope that new Efika MX53 from Genesi will have some good Serial ATA storage inside.

But then I got hit by other issue… Mounting of board started to be a problem. I hope that next version of board will be bigger. This one is too packed — and HDMI addon makes it even worse at it adds 5th edge to square board. In past I wrote a post about perfect developer board and some points apply here. What I do not like:

  • too small amount of space around mounting holes — hard to reach with 5mm key
  • VGA and RS232 connectors forced me to use very tiny screws to be able to mount board to my board plate
  • Power button is hidden behind screw and hard to reach
  • HDMI addon makes use of Reset and Power buttons very hard — have to use pen or stylus instead of finger when cable is connected
  • leds are too bright — will have to put some duct tape on them

Is there something I like? Of course — I do not want to only complain ;) This is the only cheap developer board from Linaro supported ones with native Serial ATA interface (iirc Samsung cpu could have it but Origenboard does not have connector). Two SD interfaces allow to prototype devices which require extra expansions in case of Beagleboard or Pandaboard. And this is smallest devboard I ever used (cause I never played with Gumstix — but even they usually run in some carrier boards). And compare to Texas Instruments boards it comes with cables and power supply. I plan to make small distcc/icecream farm from my ARM boards and this one will be for use one of nodes.

Linux 2.6.38 on Efika MX Smartbook

Some time ago I updated my Efika MX Smartbook to run latest natty (which it was running since I got it) and then to newer kernel: 2.6.38 version.

Most of informations how to do it I got from guys sitting on #efika irc channel. There are 3 git repositories involved:

Fetch/checkout all three into separate directories.

First we need sdma firmware. Do not ask me what it is — you will need it to build kernel. Cd into directory, call “make” then copy sdma-imx51-to3.bin into firmware directory of linux kernel sources.

Second step is applying patches to kernel. Cd into linux dir, checkout a10aabd5e313ec6481569be20d120191692b4ca6 revision (this is which I used) and call:

QUILT_PATCHES=../rtp-patches/ quilt push -a

This will apply all required patches. Grab my kernel configuration and store it under .config name. Feel free to make some changes into it. Then build kernel.

How to get kernel to device is left for readers — if you know how to build then you are expected to know that.

Next step (we nearly finished) is to boot kernel. So reboot machine and watch how it gets up and running. With my kernel config you will probably see nothing… Cause I moved lot of things into modules. Edit /etc/modules file and add:

  • snd-soc-imx-3stack-sgtl5000 — sound driver
  • efikasb_rfkill — needed for wifi to work
  • mx5fb — framebuffer

Do not expect that 2d/3d stuff which works on official images (with non-free packages) will work. But if you will check modules then you can also look what is in NOR flash (but better do not play with it):

hrw@efika:~$ cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00001000 “u-boot”
mtd1: 00010000 00001000 “config”
mtd2: 00010000 00001000 “test”

Is it worth playing? Yes and no. Good is that kernel is more fresh then 2.6.31.14.20 which was installed, but also it lost some 2d/3d acceleration support. But who knows… Maybe one day :)