~ OpenRD - A Low Power Server Running Debian on ARM

GuruPlug
This blog post comments on using the Marvell OpenRD SoC(System on a Chip) as a low power multipurpose home server.

The Hardware

The specifications of the OpenRD SoC are very similar to the better known SheevaPlug devices, so it has 512MB DDR2 RAM, an 1.2GHz ARM processor and 512MB internal flash. To be more precise the OpenRD SoC is essentially a SheevaPlug in a different form factor. The main advantage of this form factor is the number of available connections: 7xUSB, SATA, eSATA, 2xGb Ethernet, VGA, Audio, … which make the device a lot more extendable and practical as a mulitpurpose home server.

The Software

Thanks to the work of Dr. Martin Michlmayr there is a Debian port for the Kirkwood platform readily available. He even wrote a tutorial on how to install Debian on a SheevaPlug. Installing Debian on an OpenRD is exactly the same except for one important detail: the arcNumber variable.

Once Debian is installed you can apt-get or aptitude almost all the software you are used to: webserver, samba, ruby, …

The Alternatives

The Future

The next version of the SoC is known as Marvell Armada 310/300

NAS in the attic

NAS in the attic

OpenRD

OpenRD

 

~ Touchatag RFID reader and Ubuntu Linux

Touchatag Logo

This blog post is about how to use the Touchatag RFID reader hardware on Ubuntu Linux without using the Touchatag web service.

An RFID reader with tags can used to fire events. With a bit of scripting the events can be handled to do practically any task.

Normally a Touchatag reader is used together with the Touchatag web service but for some RFID applications the web service is just not practical. E.g. for embedded Linux devices without an Internet connection. In this tutorial I wil document how I got the Touchatag hardware working under Ubuntu Linux.

To follow this tutorial you will need:

  • Touchatag hardware: the USB reader and some tags
  • A Ubuntu Linux computer (I tested 9.10 Karmic Koala and 8.04 )
  • SVN to download source code from a repository

The touchatag USB reader works at 13.56MHz (High Frequency RFID) and has a readout distance of about 4 cm (1.5 inch) when used with the touchatag RFID tags. Internally it uses an ACS ACR122U reader with a SAM card. A Linux driver is readily available so when you plug it in lsusb you should get something like this:

1
2
3
4
lsusb 

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 004: ID 072e:90dd Advanced Card Systems, Ltd

lsusb recognizes the device incorrectly but that’s not a problem. To read RFID-tags and respond to events additional software is needed: tagEventor is a software library that does just that. It can be downloaded using an svn command:


svn export http://tageventor.googlecode.com svn/trunk/ tageventor

To compile tagEventor a couple of other software packages or header files should be available on your system. Te tagEventor software dependencies are described on the tagEventor wiki. On Ubuntu (and possibly other Debian based distro’s the installation is simple:

1
2
3
sudo aptitude install build-essential libpcsclite-dev build-essential pcscd libccid
#if you need gnome support
#sudo aptitude install libgtk2.0-dev

Now the tricky part. Two header files of the pcsclite package need to be modified (update: this bug is fixed see here). tagEventor builds and can be installed:

1
2
3
4
5
6
7
cd tageventor
make
...
tagEventor BUILT (./bin/Release/tagEventor)

sudo ./install.sh
...

When tagEventor is correctly installed the only thing left is … to build your application. When an event is fired tagEventor executes the /etc/tageventor/generic script with three parameters (see below). Using some kind of IPC an application can react to events. A simple and flexible way to propagate events (inter-processes, over a network, platform and programming language independent) uses sockets. The code below is the /etc/tageventor/generic script (make sure it is executable), it communicates with the server: the second script. To run the server execute ruby /name/of/server.rb

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/ruby

# $1 = SAM (unique ID of the SAM chip in the smart card reader if exists, "NoSAM" otherwise
# $2 = UID (unique ID of the tag, as later we may use wildcard naming)
# $3 = Event Type (IN for new tag placed on reader, OUT for tag removed from reader)

require 'socket'

data = ARGV.join('|')
puts data

streamSock = TCPSocket.new( "127.0.0.1", 20000 )
streamSock.send(data, 0)
streamSock.close
1
2
3
4
5
6
7
8
require "socket"  
dts = TCPServer.new('localhost', 20000) 
loop do  
   Thread.start(dts.accept) do |s|
     puts s.gets
     s.close  
   end  
end

The tagEventor software is made by the Autelic Association a Non-Profit association dedicated to making technology easier to use for all. I would like to thank Andrew Mackenzie, the founder and president of the association for creating the software and the support.

Touchatag hardware

Touchatag hardware

 

~ Verhuis naar VPS

VPS

Waarschijnlijk heb je het al gemerkt: deze site gaat nu heel wat sneller. Dit is te danken aan een verhuis. 0110.be wordt nu gehost op een VPS.

De virtuele server heeft Ubuntu 8.04 LTS Server als besturingssysteem en draait op een Xen hypervisor. De fysieke server zelf bevat een achttal Intel® Xeon® E5440 @ 2.83GHz CPU’s.

De server staat in Amsterdam en is rechtstreeks verbonden met het grootste internetknooppunt ter wereld: AMS-IX.

~ Externe harde schijf

Onze mentor beloofde ons een week geleden een externe harde schijf en een nice grade voor ons werk aan Övning.nu. Een deel van die belofte is hij vandaag nagekomen: hij had twee LaCie mobile drives mee van een tachtigtal GB happy ([8)]). Het lijkt er dus op dat hij een man is van zijn woord en dat ook dat andere geen probleem gaat zijn. Het ding ziet er zo uit:

lacie hd

~ Laptop in aantocht

De voorbije week heb ik wat rond zitten surfen naar een geschikte laptop. Mijn oog is gevallen op de MSI S260. Ik wilde die laptop bestellen bij azerty.nl maar ze konden het ding enkel leveren met een qwerty toetsenbordlayout. Nu heb ik gemaild naar codima om die laptop te bestellen, en wacht nu op een bevestiging.
foto van mijn aanstaande
Update 1: De bestelling is bevestigd.

Update 2: De laptop waarvan sprake is nu ook in mijn bezit :p. Foto 1, foto 2 let niet te veel op de enorme hoeveelheid troep op de achtergrond.

~ IBM Model M Tikplank

Ik heb een toetsenbord op de kop kunnen tikken en wel een IBM Model M. Deze toetsenborden zijn ronduit legendarisch. Als je zou zoeken naar "IBM Model M" op google dan kom je meermaals deze of gelijkaardige getuigenissen tegen:

IBM model M keyboard: a hardware device, said by some to be the best example of keyboard design, engineering and construction.
One of the best keyboards ever manufactured. Almost completely indestructible, these keyboards have the best tactile feedback imaginable while typing.
There is, and can be, no argument. The old-style bucklingspring keyboards are, for usability and durability, the best ever made, and I for one don´t mind paying top dollar for them.
It is one of the only computer components one can own that is as useful today as it was almost twenty years ago, an unheard of value in computer technology.

~ Server status

Ons aller servertje heeft net een verse windows 2003 installatie gekregen. De RAID-1 array is opnieuw gefixt (die werkte nl. niet meer). Ik was heel even heel bang omdat ik de database van deze site niet direct vond (lees: ik heb meer dan een half uur gezocht). Nuja alles is blijkbaar toch nog in orde gekomen .


~ Server getuned

Ik heb 2 fan's van 80 mm op de server aangesloten. De twee 120 GB harde schijven werden te warm en worden nu actief gekoeld. PIC's! hoor ik je roepen:

Pic's!

~ Over Joren Six

Hieronder staat het een en ander over mijzelf, indien je nog meer wil weten kan je me mailen.

Persoonlijke Gegevens

  • Naam: Six
  • Voornaam: Joren
  • Digitaal adres: Joren ad 0110 punt be, 0110.be
  • Analoog adres: Oost-Vlaanderen, België
  • Uptime: ±25 jaar

Andere

Ik ben afgestudeerd aan de Hogeschool Gent, departement INWE als “Master in de Industriële Wetenschappen: Informatica”. Die titel heb ik behaald via een schakelprogramma nadat ik afgestudeerd was als “Professionele Bachelor in de Informatica”. Ook die studie heb ik aan de Hogeschool Gent gevolgd maar dan in het departement BINF.

MCP Joren Ik ben ook MCP en wel in de dicipline Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio.NET. Dit wil helemaal niet zeggen dat ik een onvoorwaardelijke Microsoft fanboy ben, een bewijs hiervan is dat deze website niet eens in C# geschreven is maar in Ruby. Ik heb ook over de technieken die deze website gebruikt een stukje geschreven.

 
© 2012 0110.be