TEMPer mit ID 413d:2107

Ich hatte eigentlich etwas ganz einfaches vor: an meinen RasPi einen Temperatursensor anschliessen und mal längere Zeit das Auf und Ab der Temperatur in unserer Wohnung beobachten. Passend erschien mir der TEMPer: er ist preiswert und es gibt Unterstützung für Linux (allerdings nicht vom Hersteller, der liefert nur eine recht grottige Windows-Software mit).

Als das Ding ein paar Tage nach der Bestellung aus China eintrudelte, schaute ich mir erst mal an, was ich da habe.

lsusb lieferte

[...]
Bus 001 Device 005: ID 413d:2107  
[...]

Das war schon mal eine USB-ID, die für dieses Ding eher ungewöhnlich war. Das versprach nichts Gutes.

Die grundlegenden Treiber finden sich auf https://github.com/signal11/hidapi und müssen selbst kompiliert werden. Das ist zwar dort noch mal alles gut beschrieben, aber hier noch mal meine Zusammenfassung:

Erst das Repository klonen …

git clone git://github.com/signal11/hidapi.git

… dann die Voraussetzungen für das spätere Kompilieren installieren …

sudo apt-get install libudev-dev libusb-1.0-0-dev libfox-1.6-dev autotools-dev autoconf automake libtool

… und die Build-Schritte durchführen

./bootstrap
./configure
make
sudo make install  

An dieser Stelle ist man leider noch nicht fertig, es braucht für die Temperatursensoren noch ein zweites Projekt, das sich auf https://github.com/edorfaus/TEMPered befinden

Und wieder das Repository klonen (parallel zum hidapi-Projekt; das vereinfacht die folgenden Schritte) …

git clone https://github.com/edorfaus/TEMPered.git

… dann die Voraussetzungen für das spätere Kompilieren installieren …

sudo apt install cmake

… und zum Schluss die Build-Schritte durchführen

cmake .
make

In utils liegt jetzt hid-query, mit dem man die verbundenen Devices auflisten kann:

hid-query -e
/dev/hidraw0 : 413d:2107 interface 0 : (null) (null)
/dev/hidraw1 : 413d:2107 interface 1 : (null) (null)

Um herauszufinden, wie man an die Werte kommt, sendet man nacheinander an die beiden Devices (hier hidraw0 und hidraw1) eine entsprechende Aufforderung

sudo hid-query /dev/hidraw0 0x01 0x80 0x33 0x01 0x00 0x00 0x00 0x00

In meinem Fall „hing“ der Request bei dem einen Device und gab für das andere die folgende Antwort:

Writing data (9 bytes):
         00 01 80 33   01 00 00 00   00
​
Response from device (8 bytes):
         80 80 0b ab   4e 20 00 00

Leider kennt tempered diese Version des Sticks noch nicht. Da ich zu faul war mich in den C-Code einzuarbeiten, habe ich aus den diversen Postings zu den Issues auf github mir den Code zu einem kleinen Bash-Skript herausgeholt, das zusammen Human_Interface_Device hid-query die aktuelle Temperatur ausgibt. Dazu muß ggf. erst noch bc installiert werden:

sudo apt install bc

Dann braucht es nur noch ein kleines Skript …

#!/bin/bash
OFFSET=0.0
OUTLINE=`sudo hid-query /dev/hidraw1 0x01 0x80 0x33 0x01 0x00 0x00 0x00 0x00|grep -A1 ^Response|tail -1`
OUTNUM=`echo $OUTLINE|sed -e 's/^[^0-9a-f]*[0-9a-f][0-9a-f] [0-9a-f][0-9a-f] \([0-9a-f][0-9a-f]\) \([0-9a-f][0-9a-f]\) .*$/0x\1\2/'`
HEX4=${OUTNUM:2:4}
DVAL=$(( 16#$HEX4 ))
bc <<< "scale=2; $DVAL/100 - $OFFSET"

… und man hat die aktuelle Temperatur … fast. Denn zunächst muss man das Ergebnis noch mit einem guten Thermometer vergleichen, dann der Stick hat ein konstantes Offset zur realen Temperatur. Sobald man die Differenz kennt sollte die 0.0 im Skript angepasst werden.

Noch ein Hinweis zum Schluss: Der Stick sollte nicht direkt an einem Rechner betrieben werden, sondern per Verlängerungskabel etwas Abstand haben. Sonst beheizt der Rechner den Stick und die Messungen sind sinnlos.

Marseillan

Wir sind wieder zurück aus Marseillan, wo wir knapp zwei Wochen in der Rue de Marmite (also der Straße des Kochtopfs) gewohnt haben. Der Ort entpuppte sich als Glücksgriff; ein kleines Hafenstädtchen am Étang de Thau umgeben von Weinfeldern und nicht weit von schönen Mittelmeerstränden. Ein besonderes Highlight am Hafen ist die Niederlassung von Noilly Prat, die dort alle ihre Wermuts dort produzieren.

Die gesamte Gegend ist geprägt vom Weinanbau, Austernzucht und Tourismus. Der Tourismus sammelte sich aber erfreulicherweise nicht so sehr in Marseillan, sondern in der Nähe in Sète und Cap d’Agde. Sète ist recht sehenswert (Cap d’Agde ist der größte Ferienort Frankreichs und nicht so ganz unser Geschmack), aber mehr noch lohnt sich ein Tagesausflug nach Montpellier. Es hat einen großen Altstadtkern, der aber nicht so museal wie die Innenstadt von Pézenas ist, sondern sehr lebendig. Und so viele schöne Plätze mit Restaurants hat, wo man gerne eine Cafè oder Wein trinken würde, dass man definitiv mehrere Besuche einplanen sollte.

Natürlich haben wir auch Wein probiert wie den Piquepoul (der sich auch im Wermut wiederfindet); es gibt gefühlt an jeder Straße ein Weingut. Unser heimischer Weinkeller platzt jetzt aus allen Nähten.

Oh, und Austern haben wir auch gegessen … das letzte Mal war 2006 in Gent. Auch diesmal schmeckten die Austern ein wenig so, als ob man mit offenem Mund durchs Meer schwimmt. Diesmal war die Geschmacksrichtung „Mittelmeer“.

Fazit: wir haben eine Menge gute Gründe die Gegend noch ein paar Mal zu besuchen.

Hympendahlbrücke

Manchmal geht das Leben von hinten durch’s Knie: dadurch, dass die Bahnstrecke zwischen Dortmund und Hamm wegen Bauarbeiten gesperrt ist, habe ich gelegentlich das Vergnügen mit der RE11 direkt nach Unna zu fahren. Bei der Gelegenheit schaute ich genau zum richtigen Zeitpunkt aus dem Fenster und entdeckte eine malerische Brückenruine. Ich forschte etwas nach und heute haben wir uns die Gegend angesehen.

Was ich da gesehen hatte, war die Hympendahlbrücke, eine Brücke, über die bei Hoesch die Schlacke aus den Hochöfen abtransportiert wurde. In den fünfziger Jahren ist dann ein Teil der Brücke zusammengebrochen. Inzwischen sind die meisten Industrieanlagen verschwunden und die Gegend ist schön begrünt. Und nachdem wir auch schon auf ziemlich vielen Abraumhalden unterwegs gewesen waren, war es das erste Mal, dass wir auf eine Schlackehalde standen.

Gleich in der Nähe hat Bergmann-Bier (Harte Arbeit. Ehrlicher Lohn) seine Brauerei zusammen mit einer Stehbierhalle gebaut … in der  man auch sitzen kann. Heute war auch der Biergarten geöffnet, der vor allem von Radwanderern gut besucht war. Ein netter Ausgangs- und Rückkehrpunkt, um das ehemalige Hoeschgelände zu erkunden. Und da ist für uns noch einiges zu entdecken.

Unerwünschtes rpcbind

Es ist wirklich doof, wenn man von seinem Webhoster (in meinem Fall netcup) eine Mail vom CERT Bund weitergeleitet bekommt, in dem die Rede von einem möglichen Sicherheitsrisiko auf dem eigenen Server ist. Genauer gesagt ging es um diesen Scan:

Log:
"asn","ip","timestamp","rpc_response"
[...]
​
"197540","46.38.233.137","2018-08-06 04:21:33","100000 4 111/udp; 100000 3 111/udp; 100000 2 111/udp; 100000 4 111/udp; 100000 3 111/udp; 100000 2 111/udp;"
​
[...]

Er zeigt, dass rcpbind offen nach außen ist. Damit könnte mein Rechner für DDoS-Reflection-Angriffe missbraucht werden.

Also erst mal schnell auf der Maschine gescannt:

root@somesystem:~# netstat -anp | grep LISTEN 
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      31653/mysqld        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      653/rpcbind         
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      6169/systemd-resolv 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      832/sshd            
tcp6       0      0 :::111                  :::*                    LISTEN      653/rpcbind         
tcp6       0      0 :::80                   :::*                    LISTEN      899/apache2         
tcp6       0      0 :::22                   :::*                    LISTEN      832/sshd            
tcp6       0      0 :::443                  :::*                    LISTEN      899/apache2 

Und tatsächlich: da ist ein rcpbind, der da nichts zu suchen hat. Er ist da reingeraten, als ich vor ein paar Wochen meinen Server neu installiert habe und die Daten auf einem externen NFS-Mount zwischenlagerte. Dazu hatte ich nur nfs-common installiert, also nur den NFS-Client, nicht den Server. Und nur letzterer braucht rpcbind. Aber durch die Abhängigkeitsstuktur von nfs-common hatte ich da plötzlich ein Sicherheitsproblem durch ein rpcbind, das ich gar nicht bemerkt hatte.

In meinem Fall war die Lösung simpel.

apt remove nfs-common

Das deinstallierte automatisch libnfsidmap2, libtirpc1 und rpcbind.

Der nächste Scan sah besser aus

root@somesystem:~# netstat -anp | grep LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      31653/mysqld        
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      6169/systemd-resolv 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      832/sshd            
tcp6       0      0 :::80                   :::*                    LISTEN      899/apache2         
tcp6       0      0 :::22                   :::*                    LISTEN      832/sshd            
tcp6       0      0 :::443                  :::*                    LISTEN      899/apache2         
​

Fazit: als Abschluss nach einer Neuinstallation immer netstat -anp | grep LISTEN durchführen

Mondfinsternis, Mars und ISS

Das gestern Abend wirklich ein Jahrhundertereignis: der Mond verdunkelte sich, der Mars war so nah wie seit 15 Jahren nicht mehr und die ISS zog als hellster Punkt über das Firmament.

Wir waren kurzentschlossen zu einem abgeernteten Feld bei uns in der Nähe gefahren, von dem wir uns einen guten Blick und wenig störendes Licht erwarteten. Und so war es auch, aber auch viel voller als gedacht. Das Schauspiel hatte überraschend viele Menschen angelockt. Und wie wir so auf dem Feld standen und den fast unsichtbaren Mond am Himmel suchten, fühlte sich das an, wie Silvester im Sommer.

Wir rätselten einige Zeit, ob der helle Punkt unterhalb des Mondes das Positionslicht eines Windrades oder doch der Mars war, da entdeckte jemand die ISS. Sie kam aus nördlicher Richtung und zog schnell ihre Bahn in Richtung Süden. Und für eine kurze Zeit konnte man sie alle drei auf einen Blick sehen : den Blutmond, den rötlichen Mars und den gleißenden Lichtpunkt der ISS.

Das war wirklich etwas Besonderes. Als kleines Sahnehäubchen – die ISS war schon einige Minuten hinter dem Horizont verschwunden – leuchtete neben dem Mond dann auch noch für eine Sekunde eine Sternschnuppe auf.