Aus Linux-Magazin 06/2010

Linksys NSLU2 und Alternativen

© Anneke_Schram, 123RF.com

Der Heimserver Linksys NSLU2 reicht als preiswerte Plattform für anspruchslose Linux-Anwendungen. Für andere Zwecke ist das auch liebevoll als Schnecke (Slug) bezeichnete Gerät jedoch zu langsam, ein moderner Embedded-Computer muss her. Ein Erfahrungsbericht .

Pfusch am Bau sorgte dafür, dass im Winter 2008/2009 in einem Privathaus in Portugal ein ungewöhnliches Linux-Projekt begann. Das Szenario: Das nagelneue Flachdach über dem Schlafzimmer war undicht, Decke und Wände feucht, der Bauunternehmer machte Ausflüchte. Ich half der Besitzerin, indem ich mit Sensoren die Feuchtigkeit maß. Zum automatisierten Aufzeichnen und Auswerten der Messwerte setzte ich zwei kleine Linksys-Fileserver unter Debian ein.

1-Wire plus NSLU2

Für diese Aufgabe habe ich zwei Stränge mit 1-Wire-Sensoren [1] installiert, die im Haus und im Freien sowohl Temperatur als auch Luftfeuchtigkeit messen. OWFS-Software [2] unter Linux erfasst die Messwerte und speichert sie lokal. Ein Rechner in München holt die Daten über DSL ab und verarbeitet sie. Bei Bedarf löst das System per Asterisk eine telefonische Alarmierung aus. Die beiden Linksys NSLU2 in Portugal erlauben zudem lokales SSH-Portforwarding, sodass eine IP-Kamera, ein IP-Powerswitch, ein 1-Wire-Powerswitch und ein VoIP-Telefon im Haus SSH-gesichert erreichbar sind.

Nach einem kurzen Intermezzo mit zwei gebrauchten 15-Euro-Pentium-III-Desktops entschied ich mich für den Linksys NSLU2 (Abbildung 1) mit ARM-Architektur, scherzhaft auch Slug (Schnecke) genannt [3], der etwa bis Jahresende 2009 noch als Neugerät verfügbar war. Auf dem Gebrauchtmarkt findet man das Produkt weiterhin häufig und zu geringem Preis. Bei einem Neupreis von 80 bis 90 Euro inklusive Versand war dies genau das richtige Gerät für das Sensornetz – vorausgesetzt man tauscht die Software aus.

Abbildung 1: Der Linksys NSLU2 lässt sich vom Heim-Fileserver zu einem ordentlichen Debian-Computer umrüsten.

Abbildung 1: Der Linksys NSLU2 lässt sich vom Heim-Fileserver zu einem ordentlichen Debian-Computer umrüsten.

Während der Original-Slug ein Fileserver für Privatanwender ist, mit dem sich sonst nichts Weiteres anstellen lässt, macht die Installation von Debian Lenny einen echten Linux-Rechner daraus [4]. Wer aber glaubt, man könne mit einem Slug moderne Embedded-Computer wie den 300 Euro teuren Soekris Net5501 oder den Alix 2D13 zu 150 Euro (jeweils betriebsfertig samt Netzteil) ersetzen, der sei eindringlich gewarnt: Die Intel-XScale-IXP420-CPU des NSLU2 ist ein Stromsparer in ARM-Architektur und deshalb entsprechend langsam.

Problematischer als die geringe CPU-Leistung ist aber der Umstand, dass der Slug lediglich 32 MByte RAM besitzt. Zum Betrieb kleiner Applikationen wie Owhttpd reicht dies aus und auch Asterisk läuft problemlos, solange man ihm nicht viel abverlangt. In jedem Fall ist es ratsam, auf dem USB-Stick, den man als Festplattenersatz betreibt, einen Swap-Bereich anzulegen.

Pakete im Schneckentempo

Wie eng der Gürtel beim Slug sitzt, zeigt sich schon, wenn ich mit Apt Pakete installiere. Gleichgültig wie viele oder wenige Pakete ich mit einem »apt-get install«-Aufruf eingespielt habe – das Kommando brauchte mindestens 45 Minuten. Als während der Nmap-Installation sowohl Owhttpd als auch Asterisk liefen, dauerte das sogar fast sechs Stunden.

Während die Grundinstallation eines Minimalsystems mit dem Debian-Installer etwa vier bis fünf Stunden braucht, vergeht die meiste Zeit also mit der Nachinstallation benötigter Pakete. Positiv sei erwähnt, dass man die OWFS-Software (Owhttpd, Owserver und Ähnliches) ohne Weiteres auf dem NSLU2 selbst übersetzen kann und für das Kompilieren an sich nur rund eine halbe Stunde braucht. Doch wahre Nervenstärke ist dabei gefordert, vorher die benötigten Tools und Devel-Pakete einzuspielen.

Wer mehr als einen einzelnen Slug benötigt, kann deshalb viel Zeit sparen, wenn er nach der Installation und Konfiguration des ersten Geräts den USB-Stick klont, der als Festplatte dient. Auf der Eins-zu-eins-Kopie sind einige Konfigurationsdaten anzupassen, vor allem aber die MAC-Adresse in der Datei »/etc/udev/rules.d/70-persistent-net.rules«. Andernfalls lässt sich das Ethernet-Interface nicht konfigurieren und der Kleincomputer ist nicht per Netzwerk erreichbar.

Tty-Schnittstelle

Als zusätzliche Hilfe lasse ich in der Inittab des NSLU2 einen Getty-Prozess auf »/dev/ttyUSB0« starten. Wer einen von Linux unterstützten USB-to-Serial-Adapter in die zweite USB-Schnittstelle des Slug einsteckt und dann die RS232-Seite des Adapters mit einem Nullmodemkabel an die serielle Schnittstelle eines zweiten Rechners anschließt, braucht dort nur noch ein Terminalprogramm zu starten. Auf diese Weise bleibt immerhin ein Terminal-Login auf dem Slug möglich, wenn die Netzwerk-Konfiguration vermurkst ist. Wer sich einen zusätzlichen USB-to-Serial-Adapter zulegt und den an das Nullmodemkabel anschließt, braucht am zweiten Rechner keine RS232-Schnittstelle mehr.

Der USB-to-Serial-Adapter funktioniert zusammen mit einem Onewire-USB-Dongle hervorragend hinter einem USB-Hub, sodass sich beide Geräte die zweite USB-Schnittstelle des Slug teilen können. Als ausgesprochen störend erwiesen sich beim NSLU2 bestimmte Hardware-Eigenheiten. Von insgesamt sechs Geräten funktionierte nur bei zweien die Hardware-Clock, woran die Knopfzelle übrigens unschuldig war. Wer also Zeit und Datum braucht, ist auf eine Netzwerkverbindung samt NTP-Server angewiesen und sollte das Gerät nach dem Ntpd-Start besser eine Weile Däumchen drehen lassen, damit sich der Daemon zwischenzeitlich Uhrzeit und Datum holt.

Wohl als “Feature” hat Linksys dafür gesorgt, dass ein Slug nach einem Stromausfall grundsätzlich nicht wieder anläuft, bevor der Benutzer den Einschaltknopf gedrückt hat. Dieses Verhalten mag bei einem Network-Storage-Adapter akzeptabel sein, als der das Gerät ja verkauft wird. Ein Embedded-Device jedoch, das nach einem Stromausfall nicht automatisch wieder startet, ist nach meinen Maßstäben unbrauchbar. Dies Verhalten macht es als Asterisk-Host ebenso ungeeignet wie auch als Server für ein Sensorsystem, denn am Einsatzort des NSLU2 in Portugal gab es in den letzten sechs Monaten rund 70 Stromausfälle, aber fast nie einen Menschen, um den Knopf zu drücken. Wer dieses Feature ändern will, muss einen Transistor und einen Widerstand (Abbildung 2) auf die Rückseite der Slug-Platine löten [5].

Mittlerweile setze ich bei meinen Sensor-Netzwerken an zwei Münchener Standorten nur noch einen einzigen Slug, aber zusätzlich zwei Exemplare des Embedded-Computers Soekris Net5501 mit 512 MByte RAM ein [6]. Denn diese können neben Owfs noch zusätzliche Software laufen lassen und bedienen auch PCI-Hardware, Cups und Sane mit proprietären Binary-only-Backends, aber auch Asterisk mit Codec Conversion, Call Monitoring, Text-to-Speech-Software und PCI-ISDN-Karte. Ein weiteres Onewire-Netzwerk im bayerischen Erding, das ich aus der Ferne betreue, läuft auf einem weiteren Embedded-Rechner, dem Alix 2D13 mit 256 MByte RAM [7], der ebenfalls noch genügend Ressourcen für weitere Applikationen hat.

Abbildung 2: Einen Transistor und einen Widerstand einlöten – und schon startet der NSLU2 auch ohne manuellen Knopfdruck.

Abbildung 2: Einen Transistor und einen Widerstand einlöten – und schon startet der NSLU2 auch ohne manuellen Knopfdruck.

Passend dimensionieren

Wer lediglich eng umrissene Aufgaben zu bewältigen hat und den Speicherbedarf in Grenzen halten kann, der ist mit dem NSLU2 sicher ausreichend bedient. Sobald der Rechner aber zusätzliche Services erbringen soll, lohnt sich der Griff zur Alix- oder Soekris-Kategorie. Und obendrein ist das Preis-Leistungs-Verhältnis beim nicht einmal doppelt so teuren Alix zumindest nach meinen Maßstäben dramatisch besser. Wer noch mehr RAM, SATA und vier Ethernet-Schnittstellen braucht, wird zum Soekris greifen. Der Aktionsradius von Schnecken ist manchmal eben doch zu klein. (mhu)

Infos

[1] Andreas Bohne-Lang, “Auf Draht”: Linux-Magazin 03/10, S.78

[2] OWFS: [http://owfs.sourceforge.net/OWFS_Components.html]

[3] Linksys NSLU2: [http://de.wikipedia.org/wiki/NSLU2]

[4] Debian-Installation auf NSLU2: [http://www.cyrius.com/debian/nslu2/install.html]

[5] Hardware-Modifikation: [http://www.nslu2-linux.org/wiki/HowTo/ForcePowerAlwaysOn#method11]

[6] Embedded-Rechner Soekris: [http://www.soekris.com/net5501.htm]

[7] Embedded-Rechner Alix: [http://shop.varia-store.com/product_info.php?info=p724_ALIX-2D13-Mainboard–500MHz-3xLAN-1xMini-PCI-IDE-USB-RTC.html]

Der Autor


Eitel Dignatz ist Strategieberater und Inhaber von Dignatz Consulting, München [http://www.dignatz.de/spot461 ].

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 2 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben