Umwälzpumpe Grundfos UPE 25-60 130

Umwälzpumpe Grundfos UPE 25-60 130
Umwälzpumpe Grundfos UPE 25-60 130

 

Nach knapp neun Jahren versagte unsere Umwälzpumpe Grundfos UPE 25-60 130.

Fehlerbild: Rote und Grüne LED flackern leicht.

Lösung: Anlaufkondensator defekt.

Ersatzteil: Conrad Kondensator Bestell-Nr.: 441475 (EAN: 4016138426434).

Reparatur:

  • Pumpe stromlos schalten.
  • Gehäuse der Elektronik öffnen.
  • Alten Kondensator entfernen (ist nur eingeklipst und gesteckt).
  • Das Gehäuse des Kondensators mit einem Messer oben um 2-3mm kürzen.
  • Die Ummantelung der Kabel bis zum Gehäuse entfernen und kürzen.
  • Zwei starre Drähte an die Kabelenden anlöten (hier bieten sich die Anschlußbeine des defekten Kondensators an).
  • Kondensator einsetzen und Kabelenden in die Löcher der Elektronik stecken,
  • Pumpe wieder einschalten.
  • Fertig.

 

The Poor Man’s Solution

I use Truecrypt Full-Disk-Encryption on nearly all my hard-drives.

About seven years ago Joanna Rutkowska and Alex Tereshkin released an USB-Image which can be used to attack this Full-Disk-Encryption by manipulating the (unencrypted) MBR.

I decided to protect my systems against THIS attack.

How does it work?
My Poor Man’s Solution works like this:

  • Inital step: Store a copy of the original MBR on the encrypted part of the disk.
  • During each Boot: Verify that current MBR and previously stored MBR from the inital step are identical.

What does it protect against:

  • It does protect against the above mentioned Evil-Mail Attack, which manipulates the MBR.
  • It does not protect against so called stealth attacks, where the attacker changes the MBR to boot the original system as a virtual machine (which contains a copy of the original mbr).
  • Either it does not protect against keyloggers, CCTV and many more attacks.

Details:
This is tested for Windows 64Bit (Win7)
You need a copy of MBRWizard Command Line, which you can find here.
Save a copy of the MBR to the encrypted part of the harddisk when the system is running:

MBRWiz64.exe /disk=0 /save=range /range=0-64 /filename=mbr.sav /NoHdr

Save the following File as mbrtest.bat to the encrypted part of the harddisk:

MBRWiz64.exe /disk=0 /save=range /range=0-64 /filename=mbr.akt /NoHdr
fc /b mbr.sav mbr.akt
if errorlevel 1 (
    msg * "Bootloader HACKED !!" 
) else (
    msg * "Bootloader OK !!" 
)
del mbr.akt

Put all Files (mbrtest.bat, mbr.sav, MBRWiz64.exe) in the same folder.
Configure the system, that the Batch-File will be started during each boot.


Davis Vue Hacking – Part 2

After lots of testing I’m now quite sure to have figured out the meaning of the packets transmitted from the Davis Vue ISS:

Here are my results:

  • wind speed (every 2.5 seconds):
    This wind speed is transmitted in Byte2 of every message send from the ISS:
    It is calculated:

    wind speed [Mph]= Byte2
  • wind direction (every 2.5 seconds):
    This wind direction is transmitted in Byte3 of every message send from the ISS:
    It is calculated:

    WindDir= (9 + Byte2 * 342 / 255)
  • voltage of goldcap Msg-ID 0x2 (every 50 seconds):
    This message is used to transmit the current load state of the ISS-internal goldcap.
    It seems that the goldcap capacitor shall store the energy needed during the night,
    so that the lithium battery is not used. My observations show that the cold-cap
    lasts about 8h, but in October the energy of the solar panel lasts only from
    9:00 to 18:00, so that is not enough. The values reach from 3V to 8V.
    It is calculated:

    Goldcap [v]= ((Byte3 * 4) + ((Byte4 && 0xC0) / 64)) / 100
  • rainrate Msg-ID 0x5 (every 10 seconds):
    This message transmits the current rainrate.
    More precisely the time between the last two clicks.
    The rainrate is encoded as follows:

    • no rain:
      no rain     if Byte3 == 0xFF
    • rain intensity:
      light rain  if (Byte4 && 0x40) == 0 
      strong rain if (Byte4 && 0x40) == 0x40 
    • light rain:
      time between clicks[s]= ((Byte4 && 0x30) / 16 * 250) + Byte3
      rainrate [mm/h]=       720 / (((Byte4 && 0x30) / 16 * 250) + Byte3)
    • strong rain:
      time between clicks[s]= (((Byte4 && 0x30) / 16 * 250) + Byte3) / 16
      rainrate [mm/h]=       11520 / (((Byte4 && 0x30) / 16 * 250) + Byte3)
  • solar radiation Msg-ID 0x7 (every 50 seconds):
    This message transmits the solar radiation measured by the solar panel.
    Not sure about the unit and the calibration, but a 10-bit value is transmitted.

    solar radiation [?]= (Byte3 * 4) + ((Byte4 && 0xC0) / 64)
  • outside temperature Msg-ID 0x8 (every 10 seconds):
    This message has been decoded long time before my investigation by others:

    Temp [F]= ((Byte3 * 256 + Byte4) / 160
    Temp [C]= (((Byte3 * 256 + Byte4) / 160) - 32) * 5 / 9
  • gust speed Msg-ID 0x9 (every 50 seconds):
    This message transmits the maximum wind speed during the last 10 minutes.

    Gust Speed [Mph]= Byte3
  • outside humidity Msg-ID 0xA (every 50 seconds):
    This message has been decoded long time before my investigation by others:

    Hum [%]= (((Byte4 && 0xHF0) * 16) + Byte3) / 10
  • rain clicks Msg-ID 0xE (every 10 seconds):
    This message contains the rain clicks occured. It is a 7-Bit value.

    rain clicks= Byte3 && 0x7F

This are the results of a 3 day observation:
Davis Hacking Results

Davis Vue Hacking – Part 1

A few weeks ago i visited the nice page of DeKay and found his articles regarding the Davis Weather Stations.

He did a very nice work in the past. This inspired me to by a Davis Vue ISS. To save money, and because IMHO the console is quite ugly, I bought only the outdoor unit Davis Vue ISS, which is available here in Germany for around 220€.

Together with the Moteino and the code from DeKay I was able to log all the data, send by the ISS.

I had to change the receiving and hopping code, because here in the city is much noise and i got quite often other packets on the actual frequency. I changed the hopping code to hop every 2.5 seconds or after a successful reception, which means the CRC-value must be correct. Now only a few packets are dropped. During one day 163 packets out of 34560 packets have been dropped.

Back to the Log: I could verify that my station is sending the Packets IDs:

  • 20 every 50 seconds
  • 30 every 50 seconds
  • 50 every 10 seconds
  • 70 every 50 seconds
  • 80 every 10 seconds
  • 90 every 50 seconds
  • A0 every 50 seconds
  • E0 every 10 seconds

Due to the work of DeKay we know that 80 stands for temperature, A0 for humidity and E0 is the rain-counter.

But what are the other values?

To discover this I logged all packets for 40 hours and generated the following diagrams, which show the bytes 3, 4 and 5 for each of the values.

Temp, Hum, Rain, 20, 30, 50
Temp, Hum, Rain, 20, 30, 50
Wind, 70, 90
Wind, 70, 90

For those how are interested, you’ll find the diagrams in large scale (700kB each) here: diagram 1 and diagram 2.

Some ideas?

thinking about this …

cryptolib_AES 4 Arduino

Neulich brauchte ich eine AES-Implementierung für den Arduino.

Gut, dass es schon viele Implementierungen für Mikrocontroller gibt. Besser, dass es auch eine Implementierung speziell für den Atmel AVR Core gibt. Basierend auf der cryptolib von Daniel Otte aus dem Labor Bochum habe ich einen Arduino Wrapper geschrieben und dazu auch ein gleich ein paar Beispiele.

Die Codegröße der Library ist abhängig ob nur Verschlüsselung (1242 Byte), nur Entschlüsselung (1498 bzw. 2266 Byte), oder beides (2346 bzw. 3114 Byte) benötigt wird. Bezüglich der Entschlüsselung besteht die Auswahl zwischen einer schnellen, aber größeren (aes_dec-asm_faster.S) und einer kleineren aber langsameren Implementierung (aes_dec-asm.S). Je nach Bedarf muss die entsprechende Datei den Hauptordner der Library kopiert (und die andere gelöscht) werden, umbenennen ist nicht erforderlich.

Die Performance auf einem Arduino nano V3 @16MHz, kompiliert mit Arduino 1.0.5 und gemessen mit einem Logik Analysator Saleae Logic 1.1.18 Beta bzw. mit dem Arduino internen micros() ist wie folgt:

Performance cryptolib_AES
Performance cryptolib_AES

Die Lib steht unter GPL v3 kann hier heruntergeladen werden.

Fritzbox Status per UPNP

Schon lange wollte ich den Status der Fritzbox mit meinem Nagios überwachen.
Nun habe ich mich entschlossen ein kleines Shell-Skript zu erstellen, mit dem man den Status leicht auslesen kann.
Aufgerufen wird es mit:

checkfritz [IP] [COMMAND]

Wobei IP die Adresse oder DNS-Name der Fritz!Box ist und Command der Wert, den man auslesen möchte.
Eine Liste aller Werte wird ausgegeben, wenn man das Skript ohne, oder mit ungültigen Parametern aufruft.

Weiterlesen …Fritzbox Status per UPNP

Wenn man mal ein Update macht…

dann kann man was erleben.

Habe heute bei meinem Fritzbox Repeater 310 das Update auf die Version 06.04 gemacht und dabei ist so ziemlich alles schief gelaufen, was nur schief laufen kann.

Zuerst hat der Repeater sich bei der Fritzbox unter einer anderen MAC-Adresse angemeldet und dadurch eine neue IP bekommen, nicht schön, aber kein Beinbruch. Also neue Mac in der Fritzbox eingetragen und im Webinterface die Einstellungen überprüft. Hier gab es neue Einstellungen für den Gastzugang und zusätzliche E-Mail Empfänger für die unterschiedlichsten Notifications.

Nach einem Neustart, damit sich der Repeater die neue (alte) IP holt, war er zwar wieder unter der richtigen IP zu erreichen, im Webinterface fehlte aber das Login-Formular.

Fritz Repeater ohne Login
Fritz Repeater ohne Login

Nun folgte eine zweistündige Fehlersuche, die erst durch ein Reset auf Werkseinstellung und komplette Neukonfiguration gelöst werden konnte. Also WPS Taste 15 Sekuden drücken, über WLAN direkt an dem Repeater anmelden und über http://fritz.repeater neu konfigurieren.

Mir wird klar, dass normale User vor einem Update zurückschrecken, wenn man dabei derart auf die Nase fallen kann und dann Stunden in ein System versenkt, nur um es nach einem Update wieder ans Laufen zu bekommen. Da überlegt man sich, ob man das eventuelle Sicherheitsrisiko nicht doch in kauf nimmt und Updates nicht durchführt.

PS: Natürlich wäre es auch eine Option gewesen die alte Konfiguration, die man gesichert hat wieder einzuspielen, wenn dann nicht der selber Fehler wieder aufgetreten wäre. Und nein, der Repeater ist nicht modifiziert, er befand sich im Originalzustand.

Vorbereitungen für den Urlaub

Ich fahre im Urlaub immer auf einen Campingplatz im nirgendwo in Italien.

Dort kaufe ich eine SIM-Karte für Internet, die in Italien sehr günstig zu haben sind. Man muss natürlich etwas italienisch können, bei Bedarf kann ich auch gerne Tipps geben. In den letzten Jahren habe ich immer die Karten für zwei verschiedene Netze gekauft, um auch mal zu sehen, inwiefern sich die unterscheiden. 2013 hatte ich eine Omnitel prepaid mit 2GB für 30Tage zum Pris von 15€ (5€ Karte, 9.90 das Internetpaket) und eine Vodafon prepaid mit 7GB für 30Tage zum Pris von 35€ (5€ Karte, 29.90 das Internetpaket)

Ein Karten habe ich in mein iPhone gesteckt und die andere in einen MiFi-WLAN Hotspot von ZTE, den mit einem Netzteil im Zelt aufgehängt und man hatte sogar am Strand noch Netz. Das nutze ich dann mit iPad und Notebook, meine Frau im Telefon (die hat nämlich SIM-Lock).

Die Übertragungsgeschwindigkeit im Niemandsland mit viel italienischen Touristen ist beeindruckend. Ich habe beim Notebook Thunderbird neu installiert und er hatte sich alle Mails im Hintergrund synchronisiert und nach einer halben Stunde hatte ich schon 1,5 GB Traffic verbraten. Es gab bei Vodafon eine Internetseite, wo man seinen aktuell verbrauchten und zur Verfügung stehenden Traffic angezeigt bekommt. Selbstverständlich kann man vor Ablauf der 30 Tage ein weiteres 7 GB Paket für 35€ dazubuchen.

Um den nicht italienischen Nachbarn (die haben alle sowieso Internet) einen Internetzugang zu geben suche ich nun nach einer sinnvollen Lösung, die es mir ermöglicht Wifi-Logins über 802.1x anzubieten. Dabei soll aber der Traffic mitgezählt werden, sodass jeder Account nur ein bestimmtes Datenlimit nutzen kann. Ich versuche das jetzt mit einem Alix 3D13 Board von PC Engines mit Wifi-Karte, einem Huawei E1750 UMTS Modem. Die Software, die mir sinnvoll schient ist Zeroshell von Fulvio Riccardi.

Mal sehen, ob die Lösung funktioniert.

Hier noch ein Link zu Zeroshell:

Zeroshell    

Alle Jahre wieder … (Adventskalender)

… mache ich meiner Frau einen Adventskalender.

Und wie immer befinden sich keine Nummern auf den Päckchen.
Vielmehr muss immer ein Rätsel gelöst werden um die Öffnungsreihenfolge zu bestimmen.

Dieses Jahr habe ich etwas mehr Technik eingesetzt und an jedes Päckchen eine
RGB-Leuchtdiode angebracht, das Ergebnis findet Ihr hier:

Die Technik dahinter besteht aus einem Arduino, der die WS2812B Leuchtdioden mit integriertem Controller ansteuert.

Platine Adventskalender

Leider ist da noch ein kleiner Fehler im Kalender auf dem Video (zwei Leuchtdioden machen das Selbe. Eine Ziffer ist also doppelt, eine andere fehlt). Wenn sich jemand ernsthaft an das Lösen macht, dann werde ich entweder ein korrigiertes Video einstellen, oder die fehlenden Informationen bereitstellen.

Viel Spaß beim Rätseln.