Saturday, 20 February 2010

Efika MX Smartbook Information For Interested Parties


bbrv posted some information on the Efika MX Smartbook and we got a few questions we feel we have to answer just to point out. Let's start with the specifications (update 2010-02-28):

  • 800MHz Freescale i.MX515 CPU with OpenGL and OpenVG GPU
  • 1024x600 10.1" laptop panel
  • 512MB RAM
  • 2x USB ports
  • 8GB to 32GB of SSD storage
  • 1x SD card slot (side) and 1x MicroSD slot (behind battery)
  • Built-in Stereo Speakers, Microphone, external headphone port
  • Ralink RT3070 Wireless, same as the Efika MX, and Bluetooth 2.0 EDR
  • 3G Cell modem option (SIM card is behind battery slot)
  • GPS module
  • 3-cell removable battery giving ~6 hours battery life.
    • There will be a larger battery available in the near future, if you think 6 hours isn't long enough. The units we have peter out at just over 5 hours and 50 minutes of actual use.
  • >92% full size, low-travel keyboard (like Sony or Apple's)
  • Buttonless Touchpad
  • Webcam (1.3 Megapixel)
  • Light weight (around 2 lbs, or 1 Kg)
You will have seen the photo and thought to yourself "what on earth? there are no mouse buttons!!" and you'll be right. There was some objection to initial designs where the touchpad buttons were off to the left and right of the touchpad. This is the usual Netbook Cop-Out you see on Acer devices for example and it really makes the whole thing less easy to use.

The touchpad we have is something of a novel experience. While it supports single touch tap and the usual touchpad features, it also has two integrated mouse buttons; hold down the left hand side of the pad and it will click. That's a left mouse button. The same for the right. The keyboard "Menu" key finally has a use, and doubles as a right mouse button for most common application where you need a right click context menu or have to hold it down and drag.

In terms of size, it's about 1/3 the lid-closed height and weight of an Acer Aspire One Netbook, but about the same width/height dimensions (Acer's netbook is an 8" panel with a large bezel) - a little wider to support the widescreen panel and the bigger, more comfortable keyboard. It's very portable!

The nearest "PC" equivalent is the Asus Eee 1008 series (standard, $399.99), with the keyboard of the 1008P (Karim Rasheed Edition) (a designer edition netbook) which hasn't got a hope in matching the battery life even if it says it can get 6 hours (the battery is a 6-cell standard and is three times the power rating), and doesn't have any HD playback capability - retail price, $499.99.

Yes, the Efika MX Smartbook comes with a "designer edition" keyboard, awesome trackpad and HD video playback and 6 hours battery life as standard and we're hoping you will like the price too (hint: cheaper than those two Asus netbooks :)

Friday, 12 February 2010

Kernel Development Status

Some bugs in the last release:
  • Some poking around with the DMFC made codecs and accelerated X11 not work. 3D would probably have been hosed too. Since we've not released the codecs yet it's not a huge problem but, the next release should be more sound and allow us to do a release
  • Enabling "Improved Transaction Translator Scheduling" broke the build - a patch I fixed for Ubuntu a long while ago but didn't seem to drag it into the new kernel
There are some other things but those were the most annoying. Freescale released a new BSP snapshot for February so we are rebasing on that. The result:
  • Efika MX: Integrates RT3070 Wireless properly
  • Efika MX: CompCache (ramzswap) working
  • A REAL patchset against 2.6.31 mainline (to bring up to BSP level) and then Efika patches on top, a special present for distro maintainers
  • More stable
  • Finally, HW accelerated codecs!
  • Finally, 2D Acceleration for X11 (but not OpenVG, sorry)
  • Finally, OpenGL ES 1.1 and 2.0!
  • steev@gentoo requested devtmpfs which should speed up boot and be much nicer to work with. We have to thank Canonical for backporting that to 2.6.31 :)
Those are the goals anyway. We will keep you posted. This is going to be kernel version 2.6.31.12-ER2-efikamx to differentiate between the ER1 releases (ER means "Engineering Release" for the curious). We're working our way up to PR (Production Release) which should square everything away for non-Aura kernels.

Secondly: we may release a kernel build based on Con Kolivas' "BFS" Scheduler to go with it, and for everyone who got (or still wants) a "1.0" Efika MX Developer Edition (the one with no case, flakey PATA and flakey ethernet) to make clusters, compile farms and generally do cool things with a lot of Cortex-A8s connected together, a custom kernel build that will Just Work (tm).

Long Term: Aura release (developer preview) and a kernel to go with it (2.6.32 or 2.6.33).

Saturday, 6 February 2010

Wireless: RT3070 Driver Status

Looks like two things are evident from the RT3070 drivers in the 2.6.31 kernels we shipped:
  • The Mainline rt2x00 (rt2800usb etc.) driver is completely broken
  • The Staging rt2870sta (and rt3070sta) driver has been trashed beyond working by the kernel devs who "cleaned it up"
In essence, we recommend going back to building an external module (not an in-kernel one) for RT3070 Wireless support on the Efika MX. A configuration file for this has been posted to PD EfikaMX Kernel page for your convenience. There are a few caveats to this, again...
  • When it installs the module it installs it to /tftpboot. Just ignore this, delete it, and copy it from "os/linux/rt3070sta.ko" to "/lib/modules/`uname -r`/extra" and make sure to "depmod -a".
  • It will whine about a missing config file. Just copy the RT2870STA.dat in the source archive to /etc/Wireless/RT2870STA/RT2870STA.dat and it'll not complain.

It should pick up in NetworkManager on Ubuntu just fine after this. It's set up for 802.11h, 802.11e, cfg80211 (regulatory compliance using the kernel) and WPA Supplicant. You may need to reboot (NM hates being restarted) and there may need to be some finesse required putting it into a /etc/modprobe.d config file, but don't pay attention to the hundred forum posts out there that say you should be managing the config using /etc/network/interfaces - they're wrong :)

Genesi will be releasing a new kernel plus an accelerated 2D driver for Xorg and we'll endeavour to include the Ralink driver properly at the same time and disable the other Ralink 3070 drivers at the same time.

In the meantime, grab the Ralink RT3070USB driver from here (second link down, we're talking about version 2.1.2.0 here) and the config.mk file from here (it goes in the source archive in the os/linux directory). You do NOT need the firmware archive.

Sunday, 24 January 2010

2.6.31.12 Kernel update

End of January, another kernel update. This should fix DVI problems for a lot of people and also brings in some ARMv7 patches from mainline
  • 2.6.31.12
  • Updated to Freescale BSP 5.2.0 (lots of non-iMX515 stuff here too)
  • Disabled SPDIF, accidentally enabled it in last release (doesn't work yet, use I2S instead)
  • DVI sink support, should work better on DVI monitors now
  • Better mode culling and use of the best monitor mode
  • vmode= flag works again
  • Patches from Pegatron
    • DVI sink support (above) and CEA descriptor detection
    • Altogether better handling of the SII9022 (still not up to spec though)
    • PMIC reboot disabled (use mxc_reboot instead) should fix the shutdown-is-reboot problem
    • max_res= flag will make the system use the biggest mode, 1280x720 or 1024x768 as fallbacks
    • removed egregious hack from fbmem.c to adjust clocks and put it in a better place
  • ARM tree patches
    • remove that annoying migrate_pages warning on compile
    • updates for ARMv6/ARMv7 prefetch abort handling and MMU handling
    • updates to syscalls
    • remove annoying unused variable warning
  • ramzswap driver
    • pulled from staging for 2.6.32
    • updated ARM dcache handling if dirty bit set
    • updated to compcache 0.6.2

The update is shipped as a patch against the 2.6.31 tree released in December (not mainline!), and supercedes the 2.6.31.9 patchset. Just extract the 2.6.31 tarball and then extract the patch tarball inside it and run patches/patch-kernel.sh (just like a Freescale BSP :)

You can find them at the Efika MX Kernel Platform Support page. All the problems reported by beta testers (DVI problems still, and the power off fix not working) are fixed.

Thursday, 7 January 2010

2.6.31.9 Kernel Update

January 7th brings us another kernel release. From the changelog:
  • 2.6.31.9
  • LED platform device and trigger support for ide-disk (PATA) and mmc (SD card)
  • A few GPIO setup optimizations nobody will notice (including that annoying error on boot)
  • Patches from Pegatron
    • HDMI AV Information fix (wrong refresh rate)
    • HDMI EDID support, should autodetect your panel and use a native mode
    • Headphone detection fix
    • Reboot workaround
    • Board identification fix to differentiate between ER1 and ER2 (not shipping) boards
    • Some regulator changes
  • Patches from SUSE
    • ext3 fixes (superblock uptodate flag fix, barriers by default, JBD timeout increased to 15 seconds)
    • XFS fixes (redirty delayed allocations fix)
    • NFS write bug fix
    • RT3070 driver backport from 2.6.32 staging
    • USB storage devices delay 1 second instead of 5 when being plugged in
    • USB UVC webcam hue fix
  • Slightly better HDMI mode autodetection and usage including cleaning up impossible mode.
  • Enabled both the RT3070STA (Ralink/Staging) and RT2870 (Mainline) wireless drivers. Blacklist the ones that works the worst for you (rt2800usb, rt2870sta, rt3070sta)
  • Disabled the Boot Logo
You can find them at the Efika MX Kernel Platform Support page. The kernel support is shipped as a set of patches - simply extract it into your kernel directory and then run patches/patch-kernel.sh to update (just like a Freescale BSP). The new configuration file will be copied to .config inside the kernel tree for convenience.

Binaries are also available.

We would much appreciate it if we could get some input on whether this fixes peoples' display problems, and if it does or does not (either way), please post in the forums a copy of your dmesg output (log serial, copy it to a file, any way you like) so we can check EDIDs and errors.

Hope you're all having a great new year.

Tuesday, 22 December 2009

Releases for 22nd December 2009 - U-Boot, Kernel .31, Installer

Announcing doing final prep on the releases of the following updates for the Efika MX:

  • Linux 2.6.31 release which should fix some instability problems. If you downloaded the source already please modify arch/arm/mach-mx51/mx51_efikamx.c and edit line 1132 and 1133 so that cpu_wp_auto[1] and cpu_wp_auto[2] are set. The net effect of this change is the CPU will be running at the correct voltage which solves some audio glitching and some performance problems. The source will be updated in place (no patch) so new users will get the new code. You can find this on Power Developer under Efika MX Kernel
  • U-Boot 2009.01 release 1.1.7 which should improve RAM performance and a few other things. Auto-boot timeout has been increased to 10 seconds (to work around the "reboot hangs and shutdown just reboots" kernel bug, to give people time to remove the power cord) and the power LED is blue during U-Boot operation.
  • Auto-flash tool which will create an SD card with rootfs, kernel and U-Boot flasher (as above). This tool and the above source code (the flasher includes binaries) are at Efika MX Firmware.
  • Installer SD card image which is the result of the auto-flash tool plus the archives and installation script used to prep each machine. This has been put under Efika MX Linux along with the Karmic Root Filesystem released last week. You will need a 2GB SD card or larger (the one we shipped to everyone who ordered before 1st December will do perfectly) to use this image. Alternatively you can use a much smaller card (512MB) as the extracted rootfs is barely 300MB and the tools on top JUST about fit in 512MB, using the Auto-flash tool.
They should be up in the next few hours, instructions will be on this blog.

To install the new U-Boot you will need to do some quirky switch setting. You will need:

  • Adequate Lighting (I really mean this)
  • A small screwdriver (unless you already connected your serial board, in which case, you are already in there)
  • A sewing needle, sturdy paperclip, or professional DIP-switch-flicking tool
If you open up your Efika MX (small panel on the bottom) you will see next to the serial cable port, 4 small DIP switches. Simply switch these to 0001 (off off off on) and the system will boot from the SD card slot. You can flash the installer image directly to an SD card, or use the Flasher tool to create this SD card yourself. You really need to grab nearly all the files seperately and put them in the right places (this is obvious if you read the "flasher" script). Please note, once it's flashed, switch them back! Or it will continue to flash the NOR Flash on every boot, and this is some wear and tear on the chip.

To switch the system back to boot from SPI, the switch settings are 1110 (on on on off) which is the exact opposite. If you have an Efika MX you've opened all the way you may notice that there is a MicroSD card slot - don't rely on this as it will be gone in a future revision, but you can boot from this (as if it were SPI flash) using switch setting 0000 (off off off off). I'll grab some photos and schematics to make this easier later :)

Friday, 18 December 2009

2.6.31 kernel

You can find the latest kernel for the Efika MX on Power Developer Platform Support. Documentation, an updated firmware, and extra drivers coming soon ;)

This kernel update should fix some of the display problems people have been having with DVI adapters and some Dell and Samsung monitors. There are a few known issues with power off and reboot (you will have to pull the power cord and reinsert it), and audio not working under Ubuntu when using GUI media player apps (such as Totem or Exaile) and we are looking into these.

The next kernel update will be shipped as a binary and a patch against this kernel version, to reduce bandwidth and hassle for developers. Hopefully we will be able to fix native panel display resolution support, enable 32-bit display modes and provide an accelerated 2D graphics driver in addition to the above fixes.

As always, in the spirit of open source development, we would appreciate any patches that fix problems you experience whenever possible.

Have fun!