Real time web analytics, Heat map tracking

Rackable C1000 Gehäuse mit Phantom IV

A. Allgemeines

Rackable C1000 Gehäuse mit einer Phantom IV Management Karte und LCD gibt es bei ebay für ca. 30 Euro inklusive Versand. Dieses 1 HE Chassis hat eine halbe Tiefe, so dass zwei Gehäuse im Rack nur eine HE benötigen. Dies erfolgt dadurch, dass ein Chassis von vorne und das andere von hinten im Rack montiert werden.

Das Gehäuse ist das, das in den USA für den sogenannten 99 $ Server benutzt wird. Rackable wurde von SGI aufgekauft. Die Dokumentation im Netz sind leider unzureichend und ich habe mir die erforderliche Kenntnis durch die Lektüre von drei verschiedenen Manuals zusammensuchen müssen.

Das Gehäuse, dass auf ebay angeboten wird hat ein -48 Volt Netzteil, so dass dieses - wenn nicht gerade ein -48 Volt Netzteil zur Hand ist - ausgetauscht werden muss. Auch entspricht das Pinout für das RJ45 serielle Konsolenkabel nicht dem üblichen Standard, so dass die weit verbreiteten Konsolenkabel, wie z.B. die von Cisco, nicht funktionieren.

Es lässt sich generell jedes Mainboard einbauen. Wichtig ist nur, dass es einen seriell internen Anschluss hat, wenn das LCD angesteuert werden und ein Console Redirect erfolgen soll. Auch die Farbgebung von Rackable für das Anschlusskabel ist nicht Standard. Das schwarze Kabel muss auf Pin 1 auf dem Mainboard.

Die Phantom IV Karte des C1000 Gehäuses verfügt nicht über einen Netzwerkanschluss, wie in den vorhandenen Dokumentation im Netz. Eine Verbindung kann ausschließlich über ein Terminalprogramm, wie z.B. Putty oder Hyperterminal, oder über einen Consoleserver hergestellt werden. 

B. Austausch des Netzteils

Der Austausch des Netzteil gestaltete sich schwieriger als gedacht. Das Chassis hat keine Aussparung für den Lüfter an der Rückseite, so dass der Lüfter des Netzteils im Gehäuseinneren sein muss. Weiterhin ist das Netzteil modular aufgebaut, d.h. die Stromkabel sind nicht fest mit dem Netzteil verbunden, sondern nur gesteckt. An sich sollte dies einem Austausch nicht im Wege stehen. Jedoch bezieht die Phantom IV Management Karte ihren Strom, den sie auch benötigt, wenn der Server ausgeschaltet ist, durch ein separates Kabel, das mit dem modularen Netzteilstromkabel verbunden ist. Ferner benötigt die Phantom IV Karte einen Anschluss für die Sensoren.

Ein passendes modulares Netzteil ist z.B. das 1 HE Netzteil von Win-Tact (Kosten ca. 19 EUR). Die vorhandenen Stromanschlüsse des Chassis passen und auch die Maße stimmen. Die Anschlüsse für die Sensoren sind ebenfalls vorhanden und auch die Phantom IV wird mit Strom versorgt. Mit dem Lüftergitter ist das Netzteil jedoch etwas zu lang und es stößt daher gegen die Phantom IV Karte. Wird es entfernt passt das Netzteil perfekt in das Gehäuse.

C. Anfertigen eines Konsolenkabels

Das Konsolenkabel hat ein vom Standard abweichendes Pinout. Leider sind in Europa fertige Kabel nicht zu erwerben. Daher muss ein solches selbst angefertigt werden. Folgendes ist hierfür erforderlich:

  1. Ein RJ45 Netzwerkkabel, bei dem am einen Ende der RJ45 Stecker abgeschnitten werden und die äußere Isolierung eine Zentimeter entfernt werden muss
  2. Ein RS232 (DB9) Connector mit PINs zum Löten auf der Rückseite
  3. Lotkolben und etwas Lötzinn

Die Darstellung des Pinouts im Manual des Phantom IV ist irreführend. Die Nummerierung von Rackable entspricht nicht der Herkömmlichen, da bei der Rackable Nummerierung Pin 8 dem Pin 1 bei der üblichen Nummerierung entspricht. Pin 2 bei Rackable ist demnach Pin 7 nach Standard, usw.

Daher ergibt sich folgendes Schema

RJ45 Pin

(Nummerierung nach Standard)

RJ45 Pin

(Nummerierung nach Rackable)

Farbe

(nach 568B Standard)

Funktion DB9 Pin
6 3 grün RxD 2
3 6 weiß/grün Txd 3
2 7 orange DTR 4
4 5 blau SG 5
5 4 weiß/blau SG 5
7 2 weiß/braun DSR 6
8 1 braun RTS 7
1 8 weiß/orange CTS 8

D. Verbinden mit der Konsole

 Um eine erfolgreiche Verbindung mit der Phantom herzustellen muss das Terminalprogramm korrekt konfiguriert werden. Da Hyperterminal nicht alle Konfigurationsmöglichkeiten bietet ist Putty zu bevorzugen.

Die korrekten Einstellungen für die Verbindung, die bei Putty unter Connectios - Serial zu finden sind, lauten:

  • Geschwindigkeit: 9600
  • Data Bits: 8
  • Stop Bits: 1
  • Parity: Keine
  • Flow Control: Keine

Die korrekte Einstellung für die Tastatur, die bei Putty unter  Terminal - Keyboard zu finden ist, ist: VT100+.

E. Menu Mode und Shell Mode

Die Phantom IV hat zwei Betriebmodi: Den Menu und den Shell Mode.

1. Menu Mode

Im Menu Mode wird durch das Senden des Bytes 0x1Dh, das durch gleichzeitige Drücken der Tasten Strg und 6 gesendet wird, das folgende Menü angezeigt.

2. Shell Mode

Im Shell Mode wird kein Menu angezeigt. Vielmehr erfolgt die Steuerung durch folgende kurze Befehle.

Action

Command

Parameters

Responses

Comments

Change Baud

Rate

Ax

‘1’ - set to 9600

‘2’ - set to 19200

‘3’ - set to 38400

‘4’ - set to 57600

‘5’ - set to 115200

‘?’ - query setting

Success: “ok\r” Failure: “er\r”

Query: “[1-5]\r”

Failure will occur if the parameter is out

of range.

Baud rate will take

effect after power cycle or Phantom4 reset.

Toggle LED

Blinking

Bx

‘0’ - stop blinking

‘1’ - start blinking

Success: “ok\r”

Failure: “er\r”

Failure will occur if

the parameter is not 0 or 1.

Set LCD Contrast

Cx

[0x00-0x64] - setting

‘?’ - query setting

Success: “ok\r” Failure: “er\r”

Query: “[8 bit value]\r”

x is a single byte. Failure will occur if

the 8 bit value is out of range.

Set Power-up

Delay

Dx

[0x00-0x62] - 0-98 sec.

0x63 - Off

‘?’ - query setting

Success: “ok\r” Failure: “er\r”

Query: “[8 bit value]\r”

x is a single byte. Failure will occur if

the 8 bit value is out of range.

Erase LCD

E

None

Success: “ok\r” Failure: “er\r”

Failure will occur if command is issued

without an LCD

attached.

Change Hotkey

Hx

[0x00-0xFF] - new

hotkey

‘?’ - query setting

Success: “ok\r”

Query: “[8 bit value]\r”

x is a single byte.

Any 8 bit value is accepted, so there are no failures.

Change Power

Sense Pin

Ix

‘0’ - reset header

‘1’ - J7 header

‘?’ - query setting

Success: “ok\r”

Failure: “er\r” Query: “[0-1]\r”

Failure will occur if

the parameter is not

0, 1, or ?.

Toggle LED

Lx

‘0’ - turn LED off

‘1’ - turn LED on

‘?’ - query setting

Success: “ok\r” Failure: “er\r”

Query: “[0-

1,B]\r”

Failure will occur if the parameter is not

0, 1, or ?. A response of ‘B’ indicates

blinking.

Display LCD Message

M[40 chars]

40 characters of LCD

data

Success: “ok\r” Failure: “er\r

The LCD data must be padded with

spaces to total 40 characters. Failure

will occur if no LCD

is attached.

Nur im Shell Mode kann über das Betriebssystem auf das LCD zugegriffen werden. Wenn Sie dies möchten müssen Sie also in den Shell Mode wechseln. Dies erfolgt durch das gleichzeite Drücken der Tasten Strg und ]

Hierfür müssen Sie jedoch ihre Tastatur auf Englisch (QWERTY) umgestellt werden. Putty sendet durch das auf deutschen Tastaturen erforderliche Drücken der Tasten Strg und Alt Gr und 9 falsch. Nachdem Sie in ihrem Betriebssytem das Layout geändert haben drücken Sie entsprechend dem deutschen Layout die Tasten Strg und + (nicht das + auf dem Ziffernblock!). Anschließend fordert die Phantom mit einer Version >= 4.0.3 ein Password. Dieses lautet standardmäßig P4Confirm. Das Password ist case sensitive, d.h. die Groß-/Kleinschreibung ist zu beachten. Nach Eingabe des Passworts bestätigt dies die Phantom IV durch die Ausgabe ok. Erfolgt keine Ausgabe von ok war die Passworteingabe nicht erfolgreich.

F. Ansteuern des LCDs

Wenn die Phantom IV im Shell Mode ist, kann das Display über das Betriebssystem über ein Perl Skript angesteuert werden. Dies funktioniert sowohl unter Linux, wie auch unter FreeBSD / pfSense. Hierfür muss Perl installiert sein, was bei pfSense standardmäßig nicht der Fall ist.

1. (ggf.) Perl installieren

Perl lässt sich wie folgt auf pfSense installieren:

Geben Sie pkg ein um das Package Programm zu installieren. Nun geben Sie pkg_add -rv perl ein.

Sollte dieses Kommando fehlschlagen muss die Quelle des Pakets von Hand angegeben werden. Das passende Package finden Sie unter http://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-stable/All/ für die 32-Bit Version und unter http://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-stable/All/ für die 64-Bit Version. Der Befehl lautet dann z.B. pkg_add http://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-stable/All/perl5-5.16.3_6.tbz.

2. Skript für Linux

Folgendes Skript für Linux zeigt den Hostnamen und die IP Adresse an:

#!/usr/bin/perl

#set default serial device
$dev="ttyS1";

#find ip address on eth0
$_= `ifconfig eth0 |grep inet`;
($inet) = ( /([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/ );

#get hostname
$mesg=`hostname`;
chomp $mesg;

#write to lcd
open(LCD,">/dev/$dev")||die "ERROR: can not write to /dev/$dev\n";
$|=1; print LCD "LCD:\n $mesg\n $inet \n";

Dieses Skript muss jedoch angepasst werden.

Sie müssen unter $dev die korrekte serielle Schnittstelle angeben. Com1 entspricht üblicherweise ttyS0 und Com2 ttyS1. Die verfügbaren Ports bekommen Sie durch die Eingabe von ls /dev/ttyS*

Auch die Netzwerkschnittstelle muss korrekt angegeben werden. Die Bezeichnung finden Sie durch die Eingabe von ifconfig heraus.

3. Skript für FreeBSD bzw. pfSense

Grundsätzlich entsprich das Skript für FreeBSD bzw. pfSense dem oben Angegebenen. Jedoch lautet die Bezeichnung für die seriell Anschlüsse anders. Com1 ist z.B. /dev/cuau0. Die vorhandenen Anschlüsse finden Sie durch die Eingabe von ls /dev/cua* heraus. Ebenfalls ist die Angabe der korrekten Netzwerkschnittstelle erforderlich. Diese finden Sie auch durch die Eingabe von ifconfig in der Shell heraus.