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!

Friday, 4 December 2009

Blog Blog (and clustering)

Some developers and customers have received their boards and written blogs already :)

Jeremy Olexa from Gentoo actually bought a board. Several Gentoo developers have also received boards through projects, and we're looking into a way we can provide systems for their tinderbox build farm. There are some pictures of what came in the box from Steev.. (BTW Boondock Saints, good taste in movies :)

We have also shipped a few boards to developers and some old Efika Development Edition 2.0 systems (yes, with the problems we had.. but they will still compile stuff) to create small scale clusters for this purpose, including members of the gcc team.

If anyone has any legitimate reason they could use a couple (up to 5) Efika MX systems with no cases, bootable using SD card, for this kind of work, please give us a nudge (matt@genesi-usa...). They support networking so NFS root filesystems are possible, and USB hard disks always work (please use powered drives though, as the Efika MX is not really geared for the kind of power drain on USB that those little 2.5" laptop drives need to spin up). They will need a little configuring but we are very happy to help out on this.

A note about the SD card gratuity program: we shipped all pending customer orders and quite a lot of developer systems this week, and after some frantic work from the guys at FedEx trying to find enough boxes and "Fragile" labels (thanks, guys :) we did finally run out of our stock of SD cards. Efika MX Open Client systems are still being shipped with debug boards for the forseeable future.

Monday, 30 November 2009

Le mieux est l'ennemi du bien

As you may have guessed (or been told if you mailed) we have been having some nightmares with software support, including a hard-to-reproduce crash bug related to bus clock speeds, and some other nightmares coming with the support of the iMX515 from Freescale as it moves into 2010.. not to mention Thanksgiving getting in the way.

As it stands right now all units are shipping TODAY or TOMORROW with the following packing list:
  • Efika MX Developer Edition 3.0
    • i.MX515 "TO2" at 800MHz
    • 512MB RAM (configured at 166MHz because of above software bug)
    • RT3070 USB Wireless
    • 4GB SSD (soldered)
  • 12V/5A Power supply with "C5" Power connector (US). European users will need to buy a ~5,00 EUR cable.
  • Serial & JTAG debug connector dongle (whether you ordered developer edition or not)
  • 2GB MicroSD card with SD adapter
Remember the ONLY difference between a Developer Edition board and the Open Client is the inclusion of the serial/JTAG board, which we are providing anyway. The 2GB microSD card is both useful at this stage, and a gratuity to our customers for hanging on :)

Software on the boards:
  • U-Boot 2009.01
  • Ubuntu Karmic Koala (9.10) "ubuntu-minimal" - a console environment ready to install whatever desktop or software you like
  • Kernel 2.6.28 - we understand this is not 2.6.31 as Ubuntu 9.10 would ship with..
We decided against providing a GNOME desktop as it is a pain to uninstall once it's there - and if you prefer GNOME or Xfce or KDE or LXDE, and these are all available using "apt-get whatever-desktop". It also means developers will be able to get compiling without dealing with a 3GB+ software install :)

We will be providing software updates in the next weeks for:
  • U-Boot performance update
  • Accelerated X11 graphics and YUV video overlay
  • Media codecs (especially H.264)
  • Precompiled wireless driver (although you can build it yourself from the source at www.ralink.com.tw)
  • Precompiled 3D GPU driver (closed source, sorry)
  • a proper package repository for Ubuntu/Debian
  • .. and maybe Fedora 12 & openSUSE 11.2/Factory.
This will include, by the end of December, a 2.6.31 kernel and possibly a 2.6.32 kernel once it gets past Release Candidate (soon!). Aura should be on track for release by New Year's and will replace U-Boot and possibly several of the precompiled drivers. Software development is on a fast track, and we feel that we can adequately provide updates to solve issues, however there are enough major issues solved that this is shippable to customers.

Again, sincere apologies for slow shipping. Support will be available on the forums and customers need not hesitate in contacting me personally (matt@genesi-usa...) for any problems or quirks they may experience. Documentation and software downloads will appear on PowerDeveloper before the end of the week.