Frostiges Windows

03 05 2009

Aus der Abteilung "Dinge, die immer dann eintreten, wenn man keine Zeit dafür hat": Ein Windows XP 32 Bit mit ServicePack 3 friert nach dem Booten unmotiviert ein. Manchmal nach zwei Minuten, manchmal erst nach einer Viertelstunde. Es lassen sich keine weiteren Programme mehr starten. Offene GUIs aktualisieren zwar noch für eine Weile ihre Inhalte (der Taskmanager, beispielsweise), lassen sich aber nicht mehr bedienen und stellen ihre Aktivitäten nach wenigen Minuten ebenfalls ein. Ein paralleles dazu existierendes, theoretisch identisches System läuft tadellos.

Phase I: Die Hardware ist acht Monate alt und auf den ersten Blick funktionsfähig. Alle Lüfter laufen, die Temperaturen sind stabil und bewegen sich im grünen Bereich. Ein Speichertest mittels memtest+ meldet nach vier Durchläufen keine Fehler. CHKDSK findet keine Fehler auf der Festplatte. Booten von Windows im abgesicherten Modus mit Netzwerkunterstützung gelingt. Danach läuft das System auch stabil. Ausschalten aller nicht unbedingt nötigen Programme und Dienste verlängert beim anschließenden normalen Booten zwar die Zeit bis zum Einfrieren, verhindert es aber nicht.

Phase II: Ausbau der Festplatte aus dem baugleichen Parallelsystem und Einbau in den zickenden Rechner. Bootet normal, läuft stabil. A-ha. Die übrige Hardware ist also in Ordnung. Vermutung: eng begrenzter Festplattenschaden. Einbau der betreffenden Platte in ein eSATA-Gehäuse zur weiteren Diagnose mit dem laufenden System. Alle Viren- und Malware-Scans dieser Festplatte verlaufen alarmfrei. Die Diagnose-Software des Festplattenherstellers meldet "S.M.A.R.T.-Status ok". Ein anschließender S.M.A.R.T-Kurztest kehrt jedoch bereits nach ca. 30 Sekunden mit einem "FAIL" zurück.

Phase III: S.M.A.R.T.-Langtest. Der wird nach drei Minuten durch offenbar defekte Sektoren ausgebremst und bleibt schließlich ganz stehen. Das Diagnoseprogramm läßt sich nicht einmal mehr auf normalem Wege beenden. Vermutung bestätigt: Festplattendefekt. Die S.M.A.R.T.-Abfrage lügt.

Also eine neue Festplatte ordern. Gewissensfrage: Welches Modell? Neuer Versuch mit demselben Modell, einer Western Digital Caviar Blue 640 GB (WD6400AAKS), oder Wechsel des Herstellers, zum Beispiel zu - ohnehin von mir favorisiert - Samsung, beispielsweise einer SpinPoint F1 (HD642JJ)? Danach Windows installieren und einrichten und, wesentlich aufwendiger, Installation und Konfiguration von Nutzprogrammen und Spielen. Das wird mindestens drei Feierabende in Anspruch nehmen. Wie gesagt, so etwas passiert nach Murphy immer ausgerechnet dann, wenn man gerade für so etwas ganz und gar und überhaupt keine Zeit erübrigen kann.

Windows war letztendlich definitiv unschuldig. Dessen Verhalten war lediglich ein Symptom, aber nicht die Ursache. Die Festplatte hingegen hat nur acht Monate gehalten und ist der erste Ausfall seit mindestens fünf Jahren.

Sheevaplug-Bezugsquellen

01 05 2009

Ich beginne damit, Informationen zum Sheevaplug zu sammeln und fange bei dessen Bezugsquellen an. Sie sind rasch aufgezählt. Zur Zeit scheint es noch keinen deutschen Importeur zu geben.

• Dies ist die Webseite des Entwicklers der Hardware, Marvell.

• Dessen Angaben zu seinen Kooperationspartnern, das heißt, zu möglichen Anbietern.

• Mein Exemplar habe ich beispielsweise über Globalscale Technologies, Inc. aus den USA bezogen. Die Wartezeit bis zur Auslieferung beträgt dort zur Zeit offenbar gut einen Monat. Die Zustellung erfolgt über FedEx und hat in meinem Fall einen Tag gedauert.

• Im Vergleich zu dem von Marvell bzw. Gobalscale bereitgestellten, schlichten Entwicklungs-Kit ist auf der Partnerseite außerdem ein Anbieter aufgeführt, der den Sheevaplug bereits mit einer angepaßten und erweiterten Software ausliefert. Bei ihm nennt sich das ansonsten baugleiche Gerät Pogoplug und ist aus der Sicht des Anwenders in erster Linie zum Einsatz als NAS gedacht.

Die Namensgebung irritiert mich jedes Mal auf's Neue, denn mit Pogo assoziiere ich Lärm, Hitze, Hektik und sehr schnelle Bewegungen, nicht aber ein handwarmes, kleines Kästchen, das nichts weiter tut, als herumzuliegen und still vor sich hin zu blinken ...

Serverseitig scheint es sich dabei um einen Implementationsansatz von Cloud Computing zu handeln. Dazu paßt auch der Firmenname des Anbieters, CloudEngines. Offenbar muß zur Nutzung des Geräts ein Account auf dessen Website eröffnet werden, über den jeglicher Datenverkehr zwischen dem Pogoplug und anderen Geräten - also auch im heimischen Netz befindlichen - fließt. Der Geschäftsansatz von CloudEngines liegt daher mutmaßlich unter anderem in der Vermarktung freier Rechenkapazitäten von am Netz hängenden Pogoplugs. Deren Preis ist derselbe wie bei Globalscale Technologies, er beträgt 99$.

Mindestens ein weiterer dort aufgeführter Marvell-Partner verfolgt denselben Ansatz und nennt dies "Cloud Attached Storage". Zwei weitere setzen auf UPnP-Server und Web-TV-Streaming. Sie bieten derzeit aber noch keine fertigen Produkte für Endkunden an, so daß letztlich nur die zwei bereits genannten Bezugsquellen übrigbleiben.

Max Headroom

30 04 2009

Total RAM available: 2 TB

Disks? Who needs disks, anyway?

Sheevaplug ist im Haus

28 04 2009

Der Sheevaplug ist ein energieeffizienter Steckdosencomputer, der leistungsfähige Hardware auf kleinem Raum vereint. Er enthält 512 MB Flash- und 512 MB Hauptspeicher, einen ARM-Prozessor, dessen Rechenleistung in etwa mit der eines mit 800 MHz getakteten Pentium III vergleichbar ist, einen USB-, einen SDIO- und einen Gigabit-Ethernet-Port sowie eine JTAG- und serielle-zu-USB-Schnittstelle.

Der Stromverbrauch beträgt zwischen 4 W im Leerlauf über 7 W unter Last bis hin zu etwa 11 W bei gleichzeitig angeschlossenem Netzwerk, USB-Festplatte und 100% Prozessorlast. Dabei wird das Gerät nur etwa handwarm. Das Netzteil ist in dem kompakten Gehäuse gleich mit eingebaut. Es wird bloß noch ein handelsübliches Kleingerätekabel benötigt, und der Mini-Rechner ist betriebsbereit. Er kostet 99$ ohne Versandkosten, das sind etwa 75€, Stand heute.

Vertrieben wird der Sheevaplug als Entwicklungsplattform, aber natürlich läßt er sich im Heimbereich wesentlich vielseitiger einsetzen. Das ist auch der Grund dafür, weshalb sich viele NSLU2-Nutzer auf das Gerät stürzen. Letztere weist ebenfalls einen geringen Stromverbrauch auf, krankt aber an einem schwachen Prozessor und dem zu geringen Hauptspeicher von nur 32 MB, so daß sie von vielen Aufgaben überfordert ist, die man heute an einem Heimserver stellen würde. Es sieht ganz danach aus, als könnte dieser Steckdosencomputer die NSLU2 ablösen, zumal er in etwa dasselbe kostet.

Der Sheevaplug wird mit einem vorinstallierten Ubuntu ausgeliefert. Die Unterstützung seitens des Debian-Projektes ist ebenfalls zugesagt und anscheinend bereits in Arbeit. Desweiteren ist es verschiedenen Nutzern inzwischen gelungen, Debian auf einer SD- oder SDHC-Karte zu installieren und erfolgreich davon zu booten.

Am 16. März war mein Exemplar bestellt worden, gestern ist es angekommen. Die Inbetriebnahme verlief dermaßen unspektakulär, daß man sie schon als langweilig bezeichnen muß: Netzstecker stecken, USB-Kabel anstecken, Strom einschalten und den Start des Mini-Rechners an der seriellen Konsole mitverfolgen. Nach dem Login als root eine sinnvolle Netzwerk-Konfiguration auflegen, Ethernet-Kabel stecken, fertig. Einziges Hindernis war das mitgelieferte, offenbar billig konfektionierte USB-Kabel, dessen Mini-Steckerseite nicht dem Standard entspricht und mechanisch zu klein ausfällt. Dadurch waren ein sicherer Sitz und Kontakt nicht möglich. Der Austausch mit einem handelsüblichen Kabel, wie sie Digitalkameras und anderen USB-fähigen Geräten beiliegen, brachte hier rasche Abhilfe.

Alle übrigen Arbeiten unterscheiden sich nicht von denen auf einer x-beliebigen anderen Entwicklungs-Hardware. Aufgaben wie das Anpassen des Kernels, Repartitionierung des Flash-Speichers oder Installation der favorisierten Linux-Distribution und zusätzlicher Applikationen sind dank des verfügbarem Ethernet, JTAG und serieller Konsole sofort in Angriff zu nehmen, ohne erst das Gerät zerlegen, den Lötkolben schwingen und mühselig Adapter basteln zu müssen.

Es ist durchaus möglich, daß sich hier eine neue Generation stromsparender, "immer an"-Computer für den Hausgebrauch ankündigt. Mit der derzeitigen Bestückung ist der Sheevaplug bereits sehr vielseitig einsetzbar. Falls er stabil zu betreiben ist, wird er hier tatsächlich die NSLU2 ablösen, die zur Zeit noch den internen Nameserver trägt und per USB-Steckerleiste als Schaltstelle für diverse weitere Geräte dient. Die Plattform, auf die der Sheevaplug aufsetzt, kann jedoch noch wesentlich mehr. So sind beispielsweise ein zusätzlicher USB- und Ethernet-Port sowie SATA-Schnittstellen möglich. Dadurch wäre der Einsatz als Router oder NAS denkbar. Entsprechende Entwicklungen sind anscheinend von verschiedenen Firmen geplant, so daß womöglich noch spannende Produkte auf der Basis dieser Plattform erscheinen werden.

LotRO und die Technik

23 02 2009

Codemasters Online kündigen auf ihren Webseiten und im LotRO-Client seit drei Tagen eine Systemwartung für den kommenden Donnerstag an. Von 7:00 Uhr bis 14:00 Uhr GMT wird man weder Account-Dienste nutzen noch sich in eines der Online-Spiele einloggen können. Zur Begründung wird angegeben:

"Während der Wartung erweitern wir die Stromversorgung im Datenzentrum. Aus Gründen der Sicherheit müssen daher alle Systeme während dieser Zeit ausgeschaltet werden."

Wie bitte? Alle Systeme!? Auf einmal?!1!! Besteht das Datenzentrum aus einem PC-Schräppelchen an einer Normalstromleitung unter dem Schreibtisch eines der Entwickler, oder was?

Folgendes Szenario: Ich bin ein Hersteller und Anbieter von Online-Spielen. Diese stellen gleichzeitig eine meiner Kernkompetenzen und einen relevanten Geschäftszweig dar. Nun gehen wir großzügigerweise einmal von einem zwölfstündigen Arbeitstag aus. Dann bedeutet die obige Meldung eine Komplettabschaltung aller kundenrelevanten Dienste für den Online-Spielesektor für einen halben Arbeitstag. Weil die Stromversorgung im Datacenter verstärkt wird?!

Zufälligerweise arbeite ich selbst in und mit einem nicht eben kleinen Rechenzentrum. Eine solche Vorgehensweise zeugt nicht gerade von einer beruhigenden Ausbaustufe des Centers oder gar sorgfältiger (Voraus-)Planung. Im Gegenteil, unter den gegebenen Ausgangsbedingungen möchte ich sie als in hohem Maße unprofessionell bezeichnen. Es sei denn, Spieler wären Kunden, auf die man leichten Herzens und luftiger Geldbörse einen halben Arbeitstag lang verzichten könnte.
Das geht auch anders.

LotRO ist ein tolles Spiel, keine Frage. Ich spiele es seit der Betaphase im März 2007 immer noch gerne. Man muß den Betreibern zugutehalten, daß es im Großen und Ganzen stabil läuft und die gröbsten Fehler relativ schnell behoben wurden. Mit den anderen, den kleineren, kann man sich meiner Meinung nach arrangieren. Es ist und bleibt immerhin bloß eines: ein Spiel.

Einige der technischen Gegebenheiten rund um "Der Herr der Ringe Online" ernten allerdings immer wieder mein Kopfschütteln. Wie zum Beispiel halbtägige Wartungsfenster während allgemein üblicher Geschäftszeiten.

Wir könnten uns das jedenfalls nicht leisten.

Kernel 2.6.28.7 mit LIRC 0.8.3 und ndiswrapper 1.54

21 02 2009

Auf unserem Mediacenter-Rechner, dessen Basis Debian Lenny ist, läuft seit ein paar Minuten Kernel 2.6.28.7 mit LIRC 0.8.3 und ndiswrapper 1.54.

Vanilla-Kernel baue ich grundsätzlich als Debian-Pakete mit den dazugehörigen für die Header und Quellen. Aus diesem Grund wollte ich für LIRC und ndiswrapper ebenfalls installierbare Pakete erzielen. Einerseits kann man sie dann in einem lokalen Repository ablegen, andererseits lassen sie sich sauber installieren und wieder entfernen. Überdies erscheinen sie in den Paketlisten für die Systeme, auf denen sie installiert sind, was die Verwaltung vereinfacht.

Hier stehen drei Rechner, die weitestgehend baugleich zum Mediacenter sind. Insofern ergeben diese Vorgehensweise und der daraus entstehende Aufwand größeren Sinn, als auf jeder dieser Maschinen Module separat aus den Quellen zu kompilieren.

Nach der Installation von lirc-modules-source ließen sich die Module für LIRC über den Aufruf von "module-assistant build lirc-modules" zunächst nicht bauen. Ursache war eine Pfadänderung für Headerdateien, die zwischen dem aktuellen Kernel und früheren Versionen stattgefunden hatte. Nach der Anpassung eines Includes in jeweils lirc_dev.c und lirc_i2c.c konnte das Modulpaket schließlich erzeugt werden:

/* #include <asm/semaphore.h> */
#include <linux/semaphore.h>

Der ndiswrapper war etwas aufwendiger. Auch dessen Kernel-Modul ließ sich über den module-assistant nicht bauen. Aufgrund früherer Erfahrungen mit dem Wrapper wollte ich auf jeden Fall die aktuelle Upstream-, also die Sourceforge-Version verwenden. Daher habe ich das Debian-Quellpaket der Version 1.5.3 zunächst auf die 1.5.4 aktualisiert. Dazu mußten die enthaltenen Debian-Patches deaktiviert bzw. teilweise manuell appliziert werden.
Sauberer wäre es gewesen, einen oder mehrere Patches für die neue Version und die zugehörige Patchliste zu erzeugen. Weil ich meiner Paketvariante aber keine allzu hohe Lebensdauer zurechne, habe ich aus Zeitgründen darauf verzichtet.

Nach der Aktualisierung des Debian-Quellpaketes ließen sich sowohl die ndiswrapper-utils als auch die ndiswrapper-modules problemlos erzeugen. Nach der Installation sieht das jetzt so aus:

ii  liblircclient-dev                        0.8.3-3.2
ii  liblircclient0                           0.8.3-3.2
ii  linux-headers-2.6.28.7-ks-srv-686        0.01.ks
ii  linux-image-2.6.28.7-ks-srv-686          0.01.ks
ii  linux-source-2.6.28.7-ks-srv-686         0.01.ks
ii  lirc                                     0.8.3-3.2
ii  lirc-modules-2.6.28.7-ks-srv-686         0.8.3-3.2+0.01.ks
ii  lirc-modules-source                      0.8.3-3.2
ii  ndiswrapper-common                       1.54-1
ii  ndiswrapper-modules-2.6.28.7-ks-srv-686  1.54-1+0.01.ks
ii  ndiswrapper-source                       1.54-1
ii  ndiswrapper-utils-1.9                    1.54-1

Sauber ist das nicht, denn die LIRC-Pakete habe ich als Non-Maintainer-Upload gekennzeichnet. Richtig wäre stattdessen die Markierung als lokaler Build gewesen. Ebensowenig tragen die ndiswrapper-Pakete die passenden Versionsnummern. An dieser Stelle bleibt also noch Raum für Verbesserungen. Nun müssen aber erst einmal der Windows-Treiber für die WLAN-Karte installiert und Netzwerk sowie Infrarot-Fernbedienung konfiguriert werden.

X-Fi-Soundkarte unter Linux einrichten

09 11 2008

Wie Golem und Pro-Linux berichten, haben Creative endlich quelloffene Linux-Treiber für Soundkarten der X-Fi-Reihe herausgegeben. Sie können in Form eines kleinen Tarballs von der Support-Seite des Herstellers heruntergeladen werden. Nach dem Auspacken kann der passende Treiber dann mit einem einfachen "make" und "make install" installiert werden. Gestetet habe ich ihn mit einer X-Fi XtremeGamer Fatal1ty Pro.

Befinden sich mehrere Soundkarten im System, zum Beispiel, weil der Onboard-Sound des Motherboards aktiviert ist, kann es vorkommen, daß die X-Fi nicht als primäre Karte benutzt wird. Ob das so ist, läßt sich mit einem Aufruf von "aplay -l" herausfinden. Er listet die vorhandenen Karten und ihre Nummern auf. Anschließend kann man die Kanäle der gewünschten Karte mit dem Alsamixer einstellen, wenn man ihm die passende Kartennummer mitgibt: "alsamixer -c <Kartennummer>".

Trotzdem ändert das nichts an der Reihenfolge, mit der die Soundkarten genutzt werden. Das Ausführen von alsaconf hilft an dieser Stelle nicht weiter, weil der ALSA-Konfigurator die X-Fi nicht (er)kennt. Ebensowenig nützt es, den X-Fi-Treiber ctxfi beispielsweise durch einen Eintrag in /etc/modules frühzeitig zu laden.

Den Onboard-Sound meines Motherboards möchte ich ohnehin nicht nutzen. Deshalb habe ich als Lösung das Laden des entsprechenden Treiber durch den Kernel unterdrückt, indem ich der Datei /etc/modprobe.d/blacklist den Eintrag "blacklist snd_hda_intel" hinzugefügt habe. Welcher Treiber geblacklistet werden muß, kann man über die Identifikation der Soundkarten mit "aplay -l" und einem anschließendem "lsmod" herausfinden. Danach kann man ihn mittels "rmmod" entladen. Wer auf Nummer sicher gehen möchte, startet den Rechner stattdessen neu.

Nach dem Reboot läuft die Audio-Ausgabe über die X-Fi als einzige Soundkarte im System. Der Alsamixer kann nun ohne Angabe von Argumenten aufgerufen werden, um die Kanäle einzustellen.

[Update 2008-11-10]
• Auch Heise berichten in ihrem Kernel-Log über den neuen Treiber.
• Soundkartentyp ergänzt.

Kernel 2.6.27.5 und ATI-Treiber fglrx

09 11 2008

Der ATI Treiber-Installer ati-driver-installer-8-10-x86.x86_64.run bricht unter Kernel 2.6.27.5 beim Kompilieren des Kernelmoduls mit mehreren Fehlermeldungen ab:
[Message] Kernel Module : Trying to install a precompiled kernel module.
[Message] Kernel Module : Precompiled kernel module version mismatched.
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.
ATI module generator V 2.0
==========================
initializing...
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.27.5-ks-dtp-686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/opt/kernel/linux-2.6.27.5'
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘__ke_flush_cache’:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2791: error: too many arguments to function ‘smp_call_function’
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘__ke_vm_phys_addr_str’:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3522: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3523: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3524: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3526: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_enable_pat’:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4063: error: too many arguments to function ‘smp_call_function’
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_disable_pat’:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4082: error: too many arguments to function ‘smp_call_function’
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5774: warning: initialization from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5800: warning: initialization from incompatible pointer type
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory `/opt/kernel/linux-2.6.27.5'
make: *** [kmod_build] Error 2
build failed with return value 2
[Error] Kernel Module : Failed to compile kernel module - please consult readme.
Erkennbar ist, daß das Problem von Aufrufen der Funktion smp_call verursacht wird. Im Arch Linux Forum gibt es dazu eine Lösung. Ich habe die darin aufgeführten Änderungen durch manuelles Editieren in firegl_public.c eingebracht und kann ihr Funktionieren für Kernel 2.6.27.5 und ATI Catalyst 8.10 unter Debian Lenny bestätigen.

Der Apfel fällt nicht weit vom Fenster

12 09 2008

Sil53r: (liest Newsticker, halblaut zu sich) "Uh-huh ..."
Die Königin: (schaut von ihrem Buch auf) "Was denn?"
Sil53r: "iTunes 8 verursacht Totalabsturz unter Windows Vista"
Die Königin: (trocken) "Wenn ich ein Programm von Apple wäre, dann würde ich unter Windows auch abstürzen."

Murphy war Elektriker

02 04 2008

These: Eine USV, die einen wichtigen Systemadministrationsarbeitsplatz absichert, wird in genau dem Moment ausfallen, in dem der Strom ausfällt.

Murphy war ein IT-Ingenieur

02 04 2008

These: Ein hilfreicher Artikel wird erst dann in der c't erscheinen, nachdem man die zugehörige Aufgabenstellung gelöst hat.

Intrigation

14 02 2008

Sil53r (bastelt an einem seiner museumsreifen Antik-Server herum, deren innerer Aufbau schon aus Stabilitätsgründen fragwürdig bis riskant erscheint, von der Verwendbarkeit der Montagebleche als Hobbyskalpelle einmal abgesehen): "Dieses Teil war schonmal integriert, also kriege ich es intregiert. Und wenn ich intrigieren muß, um es zu integrieren!"

Na bitte, es geht doch!

10 02 2008

Das hier ist ein Cobalt RaQ 3i, jetzt mit aktuellem Kernel, LVM und Debian Etch. Vermutlich wird sich der eine oder andere nach dessem Nutzen fragen und weshalb man es sich antun sollte, eine derart alte Hardware wiederzubeleben. Darauf gibt es mehrere Antworten.

Erstens, weil diese Maschinen nur maximal 60 Watt Leistung verbrauchen, sich aber trotzdem noch gut für viele Aufgaben einsetzen lassen, die keine allzugroßen Anforderungen an die Rechenleistung stellen. "Green IT" war bei mir schon lange vor dem jetzigen, von der jüngeren Klimaschutzdebatte ausgelösten Medienhype ein Thema. Denn eigentlich handelt es sich dabei um bereits jahrealte Bestrebungen.

Zweitens, und damit einhergehend, weil ich es nicht nur im Sinne der Ökobilanz bedauerlich finde, noch hundertprozentig funktionierende Hardware wegzuwerfen. Im Rechenzentrum will man diese Uraltmaschinen ganz bestimmt nicht mehr sehen. Dennoch gibt es immer noch Nischenbereiche, in denen sie verwendbar sind, und sei es als voll funktionsfähige Anschauungs-, Test- und Demontrationsobjekte für IT-Auszubildende. Als kleine Heimserver würden sie ebenfalls eine gute Figur machen, wäre da nicht die unüberhörbare Geräuschentwicklung der beiden viel zu kleinen Lüfter (35x35x10 mm). Für diesen Zweck ist ein mit einem neuen, langsamdrehenden Lüfter versehener Qube wesentlich besser geeignet.

Drittens, weil sie einem Standard-Formfaktor genügen (19 Zoll, 1 HE), dabei aber trotzdem ansprechend aussehen und mit dem integrierten 2x16-Zeichen-LC-Display an der Stirnseite eine Besonderheit bieten, die nicht jede für den Serverbereich entwickelte Maschine mit sich bringt. Ich muß gestehen, ich finde das Design der RaQs insgesamt sogar ziemlich schnuckelig.

Viertens, weil es schlicht und ergreifend geht! Beim Einrichten einer solchen Maschine wird man außerdem ganz bestimmt nicht dümmer.

Und warum Debian? Nun, es gibt Leute, die Gentoo verwendet haben. Ubuntu funktioniert ebenso. Das ursprüngliche Betriebssystem war ein angepaßtes RedHat. Die zum Einsatz kommende Linux-Distribution spielt also eigentlich keine nennenswerte Rolle. Deshalb habe ich mich für diejenige entschieden, die ich persönlich bevorzuge und am liebsten verwalte.

Bekannt geworden sind die Cobalt-Server ursprünglich einmal durch ihre Webadministrationsoberfläche, die für die damalige Zeit leicht zu bedienen, richtungsweisend und innovativ war. Statt auf der Serverkonsole mühsam Konfigurationsdateien editieren zu müssen, klickte man sich einfach im Browser durch viele bunte Webseiten. Erst sehr viel später erschienen Suiten für andere Systeme wie Plesk, Webmin und was es nicht noch alles an Versuchen gab und gibt, textbasierte Konfigurationen vor dem Nutzer zu verbergen und über grafische Oberflächen "einfacher" wart- und verwaltbar zu machen.

Wir, das heißt, alle die Angestellten, die das außerordentliche Vergnügen hatten, diese Kisten mit der Originaldistribution benutzen zu müssen, haben sie allerdings ziemlich schnell hassen- und ab und an sogar fürchten gelernt. Um nicht mißverstanden zu werden, ich ziehe noch heute meinen Hut vor der immensen Leistung der Cobalt-Leute, ein stabiles, webbasiertes Serververwaltungssystem aus dem Nichts heraus entwickelt zu haben. Aber der Paketmanager und mit ihm dessen Software-Aktualisierungsfunktionen waren alles andere als fehler- und fehlbedienungsmöglichkeitsfrei. Und wenn man über den Rahmen dessen hinaus, was einem die Weboberfläche an Möglichkeiten bot, Änderungen am Webserver machen wollte, gerieten diese Aktionen nur allzuleicht zu Abenteuern oder auf direkte Abwege.

Das System bestand aus zwei Webservern, einem für das Webhosting und einem zweitem für die gesamte Administration. Diese hörten auf unterschiedlichen Ports, und zusammengehalten wurde das Ganze von einer Schicht Perl-Skripte. Die Weboberfläche war aber beispielsweise für das massenweise Anlegen von VirtualHost- oder DNS-Einträgen nicht ausgelegt. Umschreiberegeln, die bei uns häufig gebraucht wurden, konnten darüber gar nicht verwaltet und mußten daher ohnehin händisch eingepflegt werden. Dadurch landete man sehr schnell bei einer Praxis, die einen Teil der Konfigurationsänderungen über die Weboberfläche erzwang, andere jedoch nur durch direktes - und damit für die Lauffähigkeit des Produktions-Webservers nicht ungefährliches - Editieren von dessen Konfiguration möglich werden ließ.

Letztlich bin ich der Ansicht, daß solche Ansätze zwar insgesamt recht nett sind und für einige Anwendungsszenarios durchaus brauchbar sein mögen, jedoch bei weitem nicht sämtliche Einsatzgebiete abdecken können, die in der Praxis oder während der Lebensdauer einer solchen Maschine auftreten können. Darüberhinaus skalieren sie bei einer größeren Anzahl von Maschinen äußerst schlecht. Nach Murphy trifft bei jeder IT ab einer gewissen Größe mindestens eines dieser beiden Negativkriterien zu, so daß man diese Oberflächen dann entweder doch immer wieder umgehen oder sogar gänzlich eigene Verfahren zur automatisierten Verwaltung der Systeme entwickeln muß.

Als schlichte kleine, nicht übermäßig geforderte reine (Web-)Server sind diese Maschinen allemal noch zu gebrauchen.
cobalt:~# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 8
model name      : AMD-K6(tm) 3D processor
stepping        : 12
cpu MHz         : 298.805
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr cx8 pge mmx syscall 3dnow k6_mtrr
bogomips        : 598.09
clflush size    : 32

cobalt:~# cat /proc/cobalt/raminfo
0 [SDRAM]: 256 MB
1 [SDRAM]: 256 MB

cobalt:~# lspci
00:00.0 Host bridge: ALi Corporation M1541 (rev 04)
00:01.0 PCI bridge: ALi Corporation M1541 PCI to AGP Controller (rev 04)
00:02.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
00:03.0 Non-VGA unclassified device: ALi Corporation M7101 Power Management Controller [PMU]
00:07.0 ISA bridge: ALi Corporation M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+] (rev c3)
00:0e.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 04)
00:0f.0 IDE interface: ALi Corporation M5229 IDE (rev c1)
00:10.0 Ethernet controller: Intel Corporation 8255xER/82551IT Fast Ethernet Controller (rev 09)
00:12.0 Ethernet controller: Intel Corporation 8255xER/82551IT Fast Ethernet Controller (rev 09)

cobalt:~# cat /proc/cobalt/sensors/thermal
0 [CPU]: 32

cobalt:~# cat /proc/cobalt/systype
Pacifica

cobalt:~# uname -a
Linux cobalt 2.6.24.1-ks-raq-586 #1 Sun Feb 10 18:33:22 CET 2008 i586 GNU/Linux

cobalt:~# lsmod
Module                  Size  Used by
dm_snapshot            17472  0
dm_mirror              21376  0
dm_mod                 58564  15 dm_snapshot,dm_mirror
loop                   16996  0
sym53c8xx              75188  0
scsi_transport_spi     24672  1 sym53c8xx
evdev                  11360  0
scsi_mod              149068  2 sym53c8xx,scsi_transport_spi
ohci_hcd               25796  0
e100                   35756  0
usbcore               141868  2 ohci_hcd
pcspkr                  2752  0
mii                     5568  1 e100
ssb                    30852  1 ohci_hcd

cobalt:~# mount
/dev/hda1 on / type ext3 (rw,noatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/mapper/debian-home on /home type ext3 (rw,noatime)
/dev/mapper/debian-opt on /opt type ext3 (rw,noatime)
/dev/mapper/debian-tmp on /tmp type ext3 (rw,noatime)
/dev/mapper/debian-usr on /usr type ext3 (rw,noatime)
/dev/mapper/debian-var on /var type ext3 (rw,noatime)

cobalt:~# cat /etc/debian_version
4.0

Guten Abend, Mister Murphy

10 02 2008

Merke: wenn du bei einem uralten headless System - einer Maschine ohne Grafikkarte, Maus- und Tastaturanschluß - erfolgreich

• den Netzteil- und den CPU-Lüfter ausgetauscht,
• die SRAM-Batterie auf dem Motherboard gewechselt,
• den Auslieferungszustand des Betriebssystems wiederhergestellt und
• die Fimware (das Äquivalent zum BIOS eines PCs) mit einer aktuelleren Version geflasht hast,

... dann wird bei dem danach fälligen Neustart die einzige darin enthaltene Festplatte ausfallen.

Kernel 2.6.24 und FRITZ!WLAN USB Stick

27 01 2008

Bei dem Versuch, den FRITZ!WLAN USB Stick Treiber aus dem Archiv fwlanusb-1.00.00.tar.gz von AVM für den Kernel 2.6.24 zu kompilieren, wird der Vorgang unter Umständen mit folgender Fehlermeldung abgebrochen:
In file included from fritz/src/tools.h:30,
                 from fritz/fritz/src/main.c:31:
fritz/src/defs.h:63: error: redefinition of typedef ‘uintptr_t’
include/linux/types.h:40: error: previous declaration of ‘uintptr_t’ was here
In dem Fall genügt es, die Zeile 63 ("typedef unsigned long uintptr_t;") in der Datei fritz/src/defs.h auszukommentieren:

/* typedef unsigned long uintptr_t; */