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).
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.
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.
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.
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.
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:
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:
Compare it with SD card:
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.
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):
I finally found a time to connect debug board to Efika MX Smartbook. I got that dongle about week ago but had more important things to do.
Package arrived in small box with BBRV signature on it:
Inside was “Lange 3 DB Board” made by Pegatron company. This provides ARM JTAG and serial connectors.
To connect it with Efika MX Smartbook first thing to do is take out keyboard. To do this small screwdriver is needed to push in four places at the top edge:
Inside you see empty space for mini-pciexpress card (but only USB signalling) which is used for 3G modems. On the right is half size mini-pciexpress card (also USB only ofcourse) wifi card based on Ralink 3273 chipset. Debug board cable needs to be connected to CONN1501 connector under 3G modem space (contacts bottom).
Keyboard can be put back into place so it is possible to use serial/JTAG and keyboard at same time:
What for I would use debug board? Time will show. So far I found out that kernel based on 10.08 Freescale code drop has worse battery driver then previous one (10.07 based). After one hack I got at least system which boots normally.
Then I got rid of initrd — kernel has everything built-in to boot from internal drive so why bother with reading few megabytes on each boot? Here I looked at /boot/ and after few reboots I got into system which does not need initrd to start.
But editing “/boot/boot.scr” by hand was not what I would call handy. So I checked flash-kernel modifications done by Genesi, cleaned it up and proposed for merge. Resulting package is also provided in download zone.
What next? Time will show. Maybe will look at USB suspend/resume problem or again at making KDE fly (this needs some rebuilds done first).
That’s nice device. Powered by 800MHz Freescale i.MX515 cpu with 512MB ram has enough juice to be used as web/email netbook. After charging I got nice message from kernel’s power supply subsystem: 427 minutes of battery life — nice value for just 3-cell battery (6-cell is an option according to box informations and website). What else inside:
10.1″ TFT-LCD, 16:9 with LED backlight, 1024 x 600 resolution
3D Graphics Processing Unit
Multi-format HD video decoder and D1 video encoder
16GB Nand Flash
External MMC / SD card slot (up to SD v2.0 and MMC v4.2)
That “16GB Nand Flash” in reality is 15GB Flash-on-module connected to PATA controller. According to “hdparm” tests it makes 22-24MB/s which is quite for this type of devices. My class 10 SD card managed to get 14MB/s (compare it with 5.3MB/s in BeagleBoard) so storage options are nice. Ah… there is also MicroSD slot behind the battery but I did not tested how fast it is.
Note one thing: by default Smartbook boots from internal PATA drive but if there is SD card in slot then it is used for booting. This allows to test development kernels without need of getting to U-Boot. I got hit once by that because card which I used to transfer some data had OMAP3 kernels on it… As you can imagine it did not booted properly…
After I think hour or two I got it upgraded from Ubuntu 10.10 “maverick” to “natty” and got hit by some modifications done by Genesi. After copying “/boot/” from other Efika MX I got it working again. Next days will bring me working KDE 4.5.2 desktop (will have to rebuild some packages for it).
My plans for it? Mobile ARM test platform + laptop replacement for events where I do not need more then email + web + IM.