Archiv der Kategorie: Hardware

Meine kleinen Basteleien

IBM DS32xx-Series: Logical volume vergrößern

Eigentlich eine einfache Sachlage: Eine IBM SAN mit einem einzelnen RAID-Array und 3 Volumes – seinerzeit wurde nicht der gesamte Speicherplatz zugewiesen, da die Wachstunsraten nicht absehbar waren und man sobei Bedarf dynamisch vergrößern könne. Leider ist das Vergrößern eines logischen Volumes (auf IBM-Sprache „Dynamic Logical Drive Expansion (DVE)„) offenbar eine sehr esoterische Aufgabe, daher hat IBM die Funktion auch nicht in die GUI integriert. Wir müssen also an die Konsole – meist ist hiermit die serielle Schnittstelle gemeint, da das Gerät in meinem Fall jedoch auswärts steht musste ich einen anderen Weg suchen: Auf Rechnern mit installiertem „IBM System Storage DS Storage Manager“ (aka der GUI) findet sich im Installationsordner auch einen CLI-Client. Über eine Shell kann das Programm mit folgender Syntax aufgerufen werden:

Linux
./smcli [ip] -c "befehl"
Windows
SMcli.exe [ip] -c "befehl"

Der erste Schritt besteht darin den Namen des logischen Gerätes zu finden – das geht zwar auch über die GUI, aber jetzt ist die CLI ja eh schon offen. Wichtig: Die Befehle müssen mit einem Semikolon abgeschlossen werden.

SMcli.exe -c "show logicalDrives;"

Performing syntax check...
Syntax check complete.
Executing script...
STANDARD LOGICAL DRIVES------------------------------
SUMMARY
Number of standard logical drives: 3
See other Logical Drives sub-tabs for premium feature information.
NAME STATUS CAPACITY RAID LEVEL ARRAY DRIVE TYPE
DRIVE1 Optimal 380 GB 5 1 SAS
DRIVE2 Optimal 300 GB 5 1 SAS
DRIVE3 Optimal 600 GB 5 1 SAS
DETAILS
[...]

Zur Sicherheit werfen wir auch noch einen Blick auf das zugehörige Array mit der Nummer 1 um zu bestätigen, dass wir tatsächlich noch freien Platz haben:

SMcli.exe [ip] -c "show array [1];"

[...]
ARRAY 1 (RAID 5)
Associated logical drives and free capacities:

LOGICAL DRIVE NAME CAPACITY
[...]
Free Capacity 100 GB
[...]

So weit so gut – wir haben in Drive2 zur Zeit 300GB Speicher, 100GB sind im Array noch frei. Um nun Drive2 um 50GB zu vergrößern nutzen wir folgenden Befehl – dieser kann online, also ohne Ausfall durchgeführt werden:

SMcli.exe [ip] -c "set logicalDrive["DRIVE2"] addCapacity=50GB;"

Performing syntax check...
Syntax check complete.
Executing script...
Script execution complete.
SMcli completed successfully.

Je nach Aufbau des Systems dauert die endgültige Ausführung mehrere Stunden, so ist es ggf. nötig bestehende Volumes zu Verschieben um eine Fragmentierung zu vermeidel – sowas dauert natürlich. Leider konnte ich keinen CLI-Befehl für eine Fortschrittsanzeige finden – in der GUI wird während des Vorgangs eine Notiz im Kasten „Status“ unter „Operations in Progress“ angezeigt.

Nachdem das LV vergrößert wurde muss dies auch im Betriebssystem mitgeteilt werden. Linux bekommt die Änderung meist automatisch mit, wenn nicht hilft ein SCSI-Rescan. Ext-Dateisysteme lassen sich mit resize2fs vergrößern, die meisten Anderen haben ebenfalls passende Befehle im Gepäck. Unter Windows ab Server 2008 lassen sich die Aktionen über die Datenträgerverwaltung (Unterpunkt der Computerverwaltung) durchführen, ältere Versionen beherrschen ein Online-Resize nicht, hier hilft eine passende Boot-CD.

DVB-T Stick auf Abwegen: RTL_SDR

DVB-T – da war ja was – dieser Fernsehstandard, der irgendwie nie richtig funktionierte. Tja, entsprechend sind passende Empfangsgeräte recht günstig im Netz zu finden – unter anderem USB-Empfänger für den Rechner. Nach einem Vortrag bei der LUG-MYK zum Thema mitschneiden von ADS-B, also Flugzeugpositionen wie beispielsweise auf Flightradar24.com zu sehen, wurde ich hellhörig. Ich wusste zwar, dass man alte Analogfernseher zu Diagnosezwecke nutzen kann (z.B. hatte ich so getestet, ob meine ersten AVR-Funkmodule Daten absetzen), aber mit digitalem Tuner am PC ergeben sich da ja ganz neue Möglichkeiten.

Passenderweise fand sich auch bei mir ein passender Empfänger mit dem RTL2838U-Chipsatz in der Bastelkiste. Leider nur mit einem FC0013-Tuner, welcher nicht bis zu den Flugfrequenzen hoch kommt, aber da gibt es ja noch mehr: Das damals mit TV geprüfte 433MHz-Band z.B. – hier treiben sich viele Heimgeräte wie z.B. Funkthermometer, Funkschalter, etc herum. Passenderweise gibt es auch hierzu bereits mit rtl_433 ein passendes Programm – hiermit lassen sich Signale auf dieser Frequenz mitlesen.

Neben der Ausgabe von Rohdaten kann die Software auch die Protokolle der folgenden Funksensoren dekodieren:

  • Rubicson Temperature Sensor
  • Registering protocol[02] Prologue Temperature Sensor
  • Registering protocol[03] Silvercrest Remote Control
  • Registering protocol[04] ELV EM 1000
  • Registering protocol[05] ELV WS 2000
  • Registering protocol[06] Waveman Switch Transmitter

Ein kurzer Testlauf brachte bei mir auch direkt ein paar Geräte zum Vorschein:

[…]
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN:
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Fitipower FC0013 tuner
[…]
Tuned to 433920000 Hz.
Sensor temperature event:
protocol = Rubicson/Auriol
rid = f5
temp = 20.2
xxxx
[…]
Remote button event:
model = Waveman Switch Transmitter
id = A
channel = 1
button = 1
state = off
00 00 00
[…]
Sensor temperature event:
protocol = Rubicson/Auriol
rid = f5
temp = 20.3
xxxx

Wie man sieht meldet sich ein Funkthermometer mit 20,2°C welches ich direkt im Haus verorten konnte – ebenfalls dabei war das ausschalten einer Funksteckdose – diese ist hier im Haus sicher nicht zu finden und geht wohl auf das Konto der Nachbarschaft. Erschreckend ist dabei, dass auch diese Funksteckdose offenbar vollständig unverschlüsselt läuft, es könnte also jeder mit etwas Ahnung der Geräte nach belieben ein- und ausschalten.

Unt-T U60e PCB / Case Pictures

Bereits vor einiger Zeit zeigte ich wie man bei einem UniT/UniTrend UT60 (aka. Voltcraft VC-820) die Sicherung tauscht – pasend dazu hier noch ein paar Fotos des Inneren und Äußeren, welche ich für die Dokumentation des Sigrok-Projektes aufgenommen habe.

Update: Hier noch eineige Bilder der ICs:

UNI-T UT60A/E mit Sigrok

Glück muss man haben: Bei meinen Versuchen mein Ozi mit Linux zu verbinden bin ich beim Durchstöbern des Sigrok-Archivs auf ein bekanntes Bild gestoßen: Das dort bereits unterstützte Voltcraft VC840 ist nichts anderes als ein umetikettiertes UNI-T UT60E. Eine Webseite bei der TU-Chemnitz bestätigt schnell den verdacht. Da das Multimeter hier nunmal samt COM-Kabel auf meinem Schreibtisch rumliegt konnte ichs natürlich nicht sein lassen und habs direkt getestet – läuft fehlerfrei. Um in Zukunft nicht ständig die Voltcraft-Nummer suchen zu müssen ist lokal als eigener Eintrag in libsigrok drin.

Passenderweise ist mit dem Rigol DS1102E auch schon ein Ozi mit USBTMC drin, ich denke darauf kann ich auch aufbauen, denn die Steuerung mit echo und cat wird auf Dauer etwas langweilig…

Ascel AE20125 Linux-GUI

Die Firma Ascel Elektronic bietet mit dem AE20125 einen günstigen Funktionsgenerator-Bausatz an, welcher sich durch Technische Daten und Preis zwischen den „Billigteilen“ auf Fernost und ausgewachsenen Modellen platzieren kann.

Die Sinus- (bis 10 MHz), Dreieck- und Rechtecksignale (bis 2,5 MHz) lassen sich am Gerät selbst über Taster und ein 2x16er LCD einstellen, wer es komfortabler mag kann das Gerät über eine optionale USB-Schnittstelle mit dem PC verbinden.

Ich selbst stehe derzeit mit dem Bausatz noch auf Kriegsfuß: Einige der Taster funktionieren nicht und da der Quellcode des verbauten AVRs nicht verfügbar und das LockBit gesetzt ist, stellt sich die Fehlersuche als etwas kompliziert heraus. Um die restlichte Funktion zu prüfen sollte der USB-Port herhalten – leider gibts die Software nur für Windows und dessen Nutzung erhöht bei mir das Frustpotential doch erheblich. Da das Protokoll einfach aufgebaut und in der Anleitung dokumentiert ist habe ich auf die schnelle eine GUI in Qt gezaubert, welche die Steuerung auch unter Linux (und vermutlich auch Windows NT/2K/XP/Vista/7/CE5/CE6, MacOSX und anderen Unixen) ermöglicht. Bis auf die noch nicht implementierte Preset-Funktion sollten alle Möglichkeiten der Originalsoftware gegeben sein. Quellen gibts wie immer auf GitHub.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2013/07/Bildschirmfoto-AE20125gui-1-289×300.png

Eigenbau-MPPT – Hardware-Prototyp und ein paar Ideen

Örks – wieder kein Strom. Mein Wellsee-Regler hat (mal wieder) das Zeitliche gesegnet – guter Zeitpunkt um sich nochmal um den Eigenbau-MPPT zu kümmern.

Einige Prototypen liegen schon hier, allerdings bisher ohne passende Firmware. Das Ganze basiert grob auf dem Design von Tim Nolan und ist aus Kostengründen auf eine 5x5cm-Platine gequetscht. Bis auf einen zu gloßen Elko (geplanter Footprint war nicht lieferbar) und einem zu geringen Abstand zweier Mosfets (Kühlkörper etwas stromm, aber ohnehin elektrisch verbunden) bin ich ganz zufrieden. Von der Dimensionierung sollten ~250W drin sein. Gegenüber des Originals wird ein Halleffektsensor für die Strommessung verwendet, RS232 ist auf eine Anschlussleiste herausgeführt und das Modul ist nicht auf einen Arduino angewiesen.

Derzeit portiere ich die Arduino-Firmware auf native ATTinys. Ich bin mal optimistisch und habe fürs Erste einen ATTiny24a mit 2kb Flash verlötet, im Zweifelsfall kann ich aber mit den 44 oder 48er Typen problemlos aufrüsten. Ich denke die Firmware selbst wird kein so großes Problem, wohl aber meine Featuritis – ich hätte gerne die Möglichkeit mehrere Regler zu vernetzen um so meine unterschiedlichen Module einzel Steuern zu können – sozusagen ein Mehrphasensynchronregler. Zudem wäre ein PC-Interface nicht schlecht um für jedes Modul eigene Statistiken zu erhalten.

SmartTan Optic – denn ohne Mensch ists Sicherer?

Bis letztes Jahr war meine Onlinebankingwelt noch in Ordnung – meine Bank hatte seit einigen Jahren mit „SmartTAN Plus“, auch bekannt als „HHD1.2“ ein für mich akzeptables System im Einsatz: Hierbei erhielt man ein kleines, eigenständiges Gerät mit Kartenleser, Tastatur und Display – in meinem Fall war es ein TanJack Plus von Reiner-SCT . Wird eine Onlineüberweisung o.Ä. gestartet erhält man eine Zufallszahl – hat man seine Bankkarte in das Gerät gesteckt gibt man diese zusammen mit der Kontonummer des Empfängers in das Gerät ein. Hat man alle Daten bestätigt zeigt der Leser eine 5 stellige Nummer an über welche man die Transaktion auf der Bank-Webseite bestätigen kann. Zwar liegen die Spezifikationen großteils nicht offen, aber durch die Trennung zwischen PC und Tan-Generator ist ein gewisser Schutz gewährleistet. Alternativ bietet die Bank mit m-Tan auch eine Handy-Lösung an bei welcher die TAN als SMS zugestellt wird, aber das möchte man natürlich nicht

Nun steht für Kunden des HHD1.2 ein Update auf HHD1.4, auch bekannt als SmartTan Optic oder SmartTan Comfort an. Bei dieser Lösung wird nun auch der Betrag zur Erstellung der TAN verwendet, die große Neuerung ist aber die Übertragung: Statt einer Eingabe auf dem Keypad sorgt nun eine animierte Grafik auf der Bankwebseite/-software in Zusammenarbeit mit Fotodioden an den (selbstverständlich auf eigene Kosten neu anzuschaffenden) Lesern für die Übertragung der Daten. Auf der Seite der VR Bank Rhein Sieg heißt es hierzu beispielsweise:

Sicherheit und Komfort für mehr Vertrauen

[…]Die optische Schnittstelle liest die notwendigen Kontrolldaten vom Monitor direkt in das Lesegerät ein.[…]Das Zwei-Schritt-Verfahren ist so für den Bankkunden noch komfortabler – bei gleichbleibender Sicherheit.

Nunja, komfortabler ja, aber sicherer? Zum Ersten entfällt die „Zwangsprüfung“ der Kontonummer bei der Eingabe. Da die Daten direkt im TAN-Generator landen ist die Verlockung groß ohne weitere Prüfung schnell mit OK zur TAN durchzuhechten. Zum Anderen geht auch die Kontrollmöglichkeit verloren – zwar ist der verwendete Flickercode bereits halbwegs entschlüsselt, aber wer prüft das schon? (OK, ich…) Es existiert also eine nur schwer prüfbare (einweg)Verbindung – genau das, was man eigentlich nicht möchte. Wer sagt mir, dass hier nicht neben den Bankdaten schnell eine neue Firmware übertragen wird? Zumindest einige Konfigurationscodes für die Tastatur zur Änderung des Leser-Verhaltens lassen sich im Netz finden, die Programmstrukturen sind also definitiv nicht vollständig in Hardware abgebildet. Das schlimme dabei: Wenn man tatsächlich von einem solchen Angriff betroffen wäre dürfte es schwer werden die Bank davon zu überzeugen, dass es ein Systemfehler ist – man würde vermutlich auf dem Schaden selbst sitzen bleiben. Ja, ich weiß, ich bin in der Ecke etwas Paranoid, aber zumindest bei der Eingabevalidierung nimmt es das Gerät nicht ganz so genau, denn nunja, mit etwas Javascript im Browser (welcher beispielsweise per Trojaner auf der Bank-Webseite eingeschleust werden könnte) bringt der Leser beispielsweise folgende Ausgaben:

(Technischer Hinweis: Der Betrag wird im Flicker-Code als ASCII codiert, hierbei sind neben Zahlen auch Buchstaben und einige Sonderzeichen möglich. Selbstverständlich kommt hierdurch keine gültige TAN mehr raus, eine Gefahr besteht hierdurch also nicht – allerdings ist es auch kein gutes Ohmen für die allgemeine Codequalität des Systems.)

Weiter habe ich nicht probiert, da das Gerät bei den Tests für diese Aktion bereits sehr fragil reagierte wollte ich den Leser nicht mit Zeilenumbruch oder NULL-Zeichen komplett aus der Fassung bringen… Nunja, bei meiner Bank ist auch eine manuelle Eingabe der Daten weiterhin möglich, auch wenn der versprochene „Comfort“ für mich damit ein großes Minus davor hat – für das ich natürlich auch noch zahlen darf.

Aktuelle Wetterdaten aus Saffig und Solarstatistiken hinzugefügt

Sowohl hier als auch auf 56648.de sind in der Rechten Spalte nun Wetter- und Solardaten meiner Sensoren verfügbar. Als Temperaturwerte gibt es in der Übersicht die aktuelle Temperatur sowie Tagesmaximum, -minimum und der -durchschnitt. Bei den Solarwerten gibts den aktuellen Ertrag, Tagespeak und den heutigen Ertrag samt der daraus ermittelten Sonnenstunden. Mit einem Klick auf die Überschriften lassen sich weitere Statistiken auf der Wetterseite sowie der Solarseite finden. Für beide Systeme liegt hier noch eine Kiste mit Sensoren, wird also irgendwann noch ausgebaut.

Technisch werden die Daten über einen 1Wire-Converter für Temperaturen bzw. den bereits vorgestellten USB-Solar-Adapter an meinen Homeserver übertragen und dort für interne Verwendung über das Volkszähler-Projekt in einer MySQL-Datenbank zwischengelagert. Für die externen Statistikseiten laufen kleine PHP-Scripte welche die Daten aus der DB ohne Umwege aufarbeiten.