ALIX system boards are manufacturered and sold by PC Engines. They utilise the x86-based AMD Geode CPUs. The boards and other components (enclosures, power supplies, wireless cards, CompactFlash cards, etc) are sold separately, although some retailers sell pre-build kits. At the time of writing (August 2011), ALIX boards and associated accessories are readily available from many resellers across Europe and North America.
|Model||OpenWrt Version Supported||Model Specific Notes|
|Alix 1c, 2c*, 3c*||Kamikaze 8.09 and above||-|
|Alix 1d, 2d*, 3d*||Kamikaze 8.09 and above||-|
|Alix 6*||Kamikaze 8.09 and above||Almost certainly works, but is untested|
The Alix.1 series is significantly different to most other Alix system boards in that it includes VGA/PS2 ports, a PCI slot, has only 1 ethernet port, and has a different BIOS. In short, it is very much a x86-compatible PC rather than a headless appliance. This is an important distinction (see below).
There are many models of ALIX boards (all work with OpenWRT at present), with two different CPU/RAM configurations:
|AMD Geode LX700 @ 433 MHz||128 MiB||Optional (CF)||100Mbit/s (1-3 ports, varies)||Optional||Yes (RS232)|
|AMD Geode LX800 @ 500 MHz||256 MiB||Optional (CF)||100Mbit/s (1-3 ports, varies)||Optional||Yes (RS232)|
All models have a CompactFlash socket and some also have a 44-pin IDE header for 2.5" IDE hard disks.
Many models have miniPCI sockets (ideal for WiFi cards), and some have miniPCI Express sockets (note that there is a warning on the PC Engines site stating that these cannot be used with WiFi cards though). The Alix.1 series includes a standard 3.3V PCI riser.
The device does not include an embedded Ethernet switch. Models with multiple Ethernet ports have multiple Ethernet controllers (Via VT6105M).
There are two distinct options for installing OpenWRT, using images that are either:
- pre-built nightly and available from http://downloads.openwrt.org/, or
- built by yourself (or a mate).
There are no pre-built images specifically for the Alix boards. However, the generic x86 images will work, although they do not include all of the Alix system board drivers by default (e.g. LED support, USB). This is not a major problem as (it appears that) all these packages can always be added via the opkg utilities once the system has booted.
Alternatively, you can build such images yourself (recommended, but obligates a significant learning curve). Note that the x86/alix2 image appears to include a Alix.2-specific kernel and that this image is not recommended for the Alix.1 series.
Note that the x86/Generic image is the best option for the Alix.1 series because, unlike the x86/Alix2 image, it includes drivers for the VGA/PS2 console. This is because it is easier to add Alix-specific drivers to the x86-generic image, rather than VGA/PS2 drivers to an alix-specific image (which you'd have to build yourself anyway).
The current release Backfire 10.03.1-RC5 openwrt-x86-generic-combined-ext2.img.gz includes ethernet drivers (at least for the Alix.1/Alix.2d3 boards). After flashing the OpenWrt image, follow these guides to install missing packages:
opkg update opkg install ''kmod-leds-alix''
NOTE: If you have problem mounting external storage on boot apply this fix: sleep.before.startup.
Building your own image and specifying the build profile below will ensure the appropriate drivers are all included in the image. Follow:
The build profile should be (exception: Alix.1-series boards, see notes above):
- Target System: x86
- Subtarget: PCEngines alix2
The easiest method of installation for ALIX boards is to use dd to write the image to the CompactFlash card on machine.
- Attach a USB CompactFlash reader/writer to the flashing machine and insert the CompactFlash card
- Watch the output from 'dmesg' to see what device ID it has picked up (it will be something like /dev/sdb)
- Ensure that /dev/sdb (or whatever is determined in step #2) is not mounted through the use of the 'mount' command. If it is, unmount it with 'umount'.
- Decide whether you want to use the squashfs (openwrt-x86-squashfs.image) or ext2 image (openwrt-x86-ext2.image). The ext2 one will take up considerably more space on the CompactFlash card, but will be faster to boot.
- Uncompress your image file
- Flash the desired image to the CompactFlash card with:
dd if=openwrt-x86-ext2.image of=/dev/sdb
- Depending on your CF card size the default install won´t full fill your CF card. You can use gparted or equivalent application to expand the root partition.
- Removed the CompactFlash card, place it in the ALIX board and power on.
- Once powered on and booted up the ALIX should be reachable on 192.168.1.1 on eth1. In default install eth0 is wan interface configured to obtain ip by dhcp and eth1 is br-lan interface with static ip 192.168.1.1 this does not aaply for the Alix.1c/1d - see below.
- If you have a serial cable it is recommended to do the first boot and initial network configuration with it attached ( minicom configured for 38400-8N1)
If you selected the squashfs image it may take quite a few minutes for the device to power on.
- Afterwards you can use the usual utilities like
tune2fs, etc. to resize the system partition (its only around 40MiB by default) and maybe upgrade the filesystem.
- Sometimes you need to change the
root=parameter in the GRUB settings if the booting kernel does not find the root device. You'll find the
menu.listwithin the first partition.
As stated above, the Alix.1d series is significantly different to the other Alix system boards. For example, when using a generic x86 image (recommended), the system will not be able to connect to the Internet by default.
With this in mind, the following scripts have been tested on both
- trunk (aka Attitude Adjustment / bleeding edge) using: openwrt-x86-generic-combined-ext4.img, and
- Backfire using openwrt-x86-generic-combined-ext2.img.
To use the VGA/PS2 console, boot the Alix.1d with these devices attached. When the console has stopped scrolling, just press Enter, and you should be good to go. The serial port is not necessary, but will work, although you will require a null modem cable (38400 8N1).
If you wish to use SSH (via TCP/IP) later, you will need to set a password for the root account (here's how to do it in a script).
(echo "12345678"; sleep 1; echo "12345678") | passwd root
By default, the Alix.1d will not be able to access the Internet (and thereby download packages) with a generic x86 image.
This is because the Alix.1d has only one ethernet port, eth0, which is configured as a LAN interface by default on this image. To configure it as a WAN interface, the following has worked for me (see network interfaces for more details):
uci set network.lan.ifname=
lan network is still required for the wireless AP to 'bridge' to, even though it has no physical interface.
uci set network.wan=interface uci set network.wan.ifname=eth0 uci set network.wan.proto=dhcp
Finally, effect the changes.
uci commit network /etc/init.d/network restart
You can confirm the result of this script by executing:
ifconfig eth0 | grep inet and/or
ping 184.108.40.206 -c 4.
This should work on other x86 models. First, install the wireless card drivers (this assumes an Atheros ath9k-compatible wifi card):
opkg update opkg install kmod-ath9k
You can confirm the result of this script by executing
ifconfig wlan0. Next, configure the radio:
wifi detect > /etc/config/wireless uci set wireless.radio0.disabled=0 uci commit wireless
Finally, install and start the access point daemon:
opkg install wpad-mini wifi
By Default, the SSID will be OpenWRT and there will be no WEP/WPA.
There is a rumour that this picture may be labelled incorrectly.
tested with r38680, this picture is correct: powerplug | usb | WAN/eth0 | LAN/eth1 | MANAGEMENT/eth2 | serial-console
Note: The below is taken from the Old Wiki, but is known to still be correct.
Assuming you have the kmod-led-alix module present (check via lsmod), you should get three LED devices under /sys/class/leds/ - alix:1, alix:2 and alix:3 This should turn on one led:
echo 1 > /sys/class/leds/alix:1/brightness
echo 0 > /sys/class/leds/alix:1/brightness
And this should make it blink:
echo timer > /sys/class/leds/alix:1/trigger echo 1000 > /sys/class/leds/alix:1/delay_off echo 100 > /sys/class/leds/alix:1/delay_on
You can assign various triggers for LED activity using the instructions here.
After reading the previous link about leds functionality, the easiest way to configure the leds is from the web gui (luci) in "system" » "led configuration"
Note: The below is taken from the Old Wiki, and its current correctness is unknown.
- The button does not seem to work
- Attach serial cable, speed is 38400
- Press Esc during or after the memory check (can be tricky to time right)
- Choose 'safe mode' in the grub menu
Tested on ALIX 2d2, Barrier Breaker
The Geode LX CPUs have a hardware watchdog. It is supported by the geodewdt kernel module (kmod-wdt-geode) with a default timeout of 60 seconds. You can change the timeout permanently in /etc/modules.d/50-wdt-geode
echo "geodewdt timeout=30" > /etc/modules.d/50-wdt-geode
or oneshot by passing a timeout value in seconds upon insmod:
rmmod geodewdt insmod geodewdt timeout=30
The watchdog is activated by accessing /dev/watchdog (Either read or write!) Note: Once the watchdog is triggered, the module can not be stopped or unloaded anymore!
A simple script for using a watchdog with timeout of 30 sec would be:
#!/bin/sh trap "" INT HUP while true do echo "1" > /dev/watchdog sleep 25 done
Old: An example of the watchdog in action on ALIX boards can be found at twam.info
As of OpenWRT Backfire 10.03, cryptodev support can be enabled by installing the following packages (confirmed and tested on Alix 2d13):
From Kernel Modules, Cryptographic API modules:
This was tested using openssl-util, which was installed from Utilities –> openssl-util. The command to test it is:
- "openssl speed -evp aes-128-cbc -engine cryptodev"
The Alix Geode crypto engine supports only AES-128. Other ciphers are not supported. For more general crypto hardware info, see here:
Many of the below are written with Gentoo in mind, but will work equally well on OpenWRT (you should install relevant pages via 'opkg' rather than 'emerge' though).
toh/pcengines/alix.txt · Last modified: 2014/11/09 19:03 by mk74