Zum Inhalt

Kategorie: Internet

Datenbanken auf dem Raspberry Pi 3?

Ist es eine gute Idee, Datenbanken auf dem Raspberry Pi 3 zu betreiben? Nach meinen Erfahrungen der letzten Wochen, rate ich davon ab. Jedenfalls von größeren Datenbanken. Auf meinem Raspberry Pi 3 läuft eine PostgreSQL, die für kleine Datenmengen ausreichend ist, z.B. für Gogs (Git Repository). Zusätzlich liefen für ca. 1,5 Jahre Messdaten via FHEM in die Datenbank, was zu ca. 2,5 Millionen Datensätzen geführt hat. Und damit ist der Raspberry Pi 3 definitiv überfordert. Davor lagen diese Messdaten in einer SQLite Datenbank, die eine noch schlechtere Performance bot. Eine Java Applikation, die ebenfalls auf dem Raspberry Pi 3 läuft, hat für das Laden und Aufbereiten der Daten ca. 30 Minuten gebraucht. Die (momentane) Lösung ist, dass ich die Messdaten nun in einer MySQL Datenbank speichere, die auf einem vServer bei Host Europe läuft. Die Tabellen haben eine etwas andere Struktur, da ich direkt nach dem INSERT von neuen FHEM Messdaten diese via Trigger aufbereitet in eine andere Tabelle ablege. Der Start der Java Applikation hat sich auf ca. 30 Sekunden (nicht mehr Minuten!) reduziert. Der Zugriff auf die MySQL Datenbank erfolgt via SSH Tunnel, um die MySQL Datenbank auf dem vServer nicht direkt im Internet verfügbar zu machen.

Adressvervollständigung in Thunderbird 52 funktioniert nicht mehr

Die Tage gabs für Thunderbird nach langer Zeit mal wieder einen großen Versionssprung auf Version 52. Seitdem hatte ich das Problem, dass die automatische Adressvervollständigung nicht mehr funktionierte. Ich hatte erst das Addon gContactSync in Verdacht, weil das auch (erstmal) nicht funktionierte, aber auch ein heute erschienenes Update hat an dem Problem mit der Adressvervollständigung nichts geändert.

Nach viel hin und her hab ich dann aber den Übeltäter gefunden: MoreFunctionsForAddressBook

Addon deaktiviert und schon tuts die Adressvervollständigung wieder.

Steam – Hohe CPU Last

Seit einigen Tagen hat Steam ständig 15% CPU Last auf meinen Core i7 meines MSI GE60 erzeugt, also einen der acht Kerne ausgelastet. Selbst, wenn kein Spiel lief und auch keine Downloads. Ursache war im Endeffekt der Treiber meiner Netzwerkkarte. Nachdem ich die Ursache gefunden hatte, konnte ich das auch einfach nachstellen: LAN Kabel ziehen, WLAN an, CPU Last weg. Aber wie bin ich darauf gekommen? Wenn man nach dem Problem im Internet stöbert, findet man allerlei Beiträge, die u.a. auch von einem Bitcoin Miner handeln, der sich als Steam Client tarnt. Das war in meinem Fall aber nicht der Fall. Die Lösung hat der Process Explorer gebracht. Damit hab ich mir den Steam.exe Prozess angeschaut, der die hohe CPU Last verursacht hat.

Der Tab „Threads“ hat mir dann gesagt, dass BfLLR.dll der Verursacher ist. Und mit einer Google Suche bin ich dann beim Hersteller meiner Netzwerkkarte gelandet: Killer Networking. Treiber runtergelanden, installiert, Problem behoben.

TP-Link TL-WR810N stört Telekom EntertainTV (F104030)

Die Telekom hat es vor kurzem geschafft, endlich meinen Glasfaser/FTTH Anschluss zu schalten. An sich alles gut, nur EntertainTV funktionierte nicht ordentlich. Für ca. 10 Sekunden wird das gewählte Programm ordentlich angezeigt, dann fangen Bild und Ton an zu ruckeln, dann ist Ende und der Fehler F104030 wird angezeigt. Die Systemprüfung des MR400 meldet, die Verbindungsqualität wäre nicht ausreichend. Nach viel hin und her habe ich dann den Übeltäter in meinem Netzwerk identifiziert: TP-Link TL-WR810N. Das Gerät ist an sich sehr gut und hat mir bisher auch sehr zuverlässig mein WLAN im Haus erweitert, aber leider ist es nicht Multicast-fähig bzw. stört die EntertainTV Multicastsignale. Das hat sich nur beheben lassen, indem ich das Gerät aus dem Netzwerk entfernt habe und meinen Router (Speedport W 724V) und Switch (D-Link GO-SW-24G/E) rebootet habe. Seitdem funktioniert auch EntertainTV zuverlässig.

Update: Die technische Ursache scheint zu sein, dass die EntertainTV Signale via IGMPv3 verteilt werden. Es müssen also alle Netzwerkkomponenten dieses Protokoll unterstützen.

Alternative Lösung: Wenn es möglich ist, kann man den MR 400 auch direkt an den Speedport anschließen. Dann kommen die EntertainTV Signale erst gar nicht bei Geräten im Netzwerk an, die mit Multicast nicht umgehen können. Dann lassen sich auch diese betreiben.

Archer VR900v mit UMTS-LTE Stick

Einleitung

Hier eine kurze Anleitung, wie man den Archer VR900v von TP-Link als 3G/4G-Router mit einem UMTS/LTE Stick nutzen kann. Welche Sticks kompatibel sind, ist nicht so einfach herauszubekommen, aber bei Amazon habe ich ein PDF gefunden, welches für den VR200v und VR900v gelten soll.

Ich habe mir einen günstigen Speedstick Basic bei eBay besorgt, der allerdings kein LTE unterstützt. Wer LTE Geschwindigkeit benötigt, wird wie üblich bei Amazon und woanders fündig.

Konfiguration

Im Router selbst muss zuerst der Betriebsmodus in der erweiterten Ansicht auf 3G/4G-Router umgestellt werden:

Evtl. verlangt der Router nun auch einem Neustart.

Ich habe die folgende Prozedur mit Data Comfort Free von der Telekom getestet. Dafür musste ich im Menü USB-Einstellungen folgende Konfiguration vornehmen und eine PIN eintragen, die ich vom Router hab speichern lassen (sieht man auf dem Screenshot leider nicht mehr).

An sich sind die vorgegebenen Einstellungen für T-Mobile alle korrekt, nur leider Benutzer und Passwort nicht. Beide müssen auf „tm“ geändert werden. Und der Authentifizierungstyp muss auf PAP umgestellt werden. Ach ja, eigentlich sollte das alles auch mit dem günstigeren Archer VR200v funktionieren.

Git auf dem Raspberry Pi

Seinen eigenen Git Server kann man sehr einfach mit Gogs realisieren. Die einzige Voraussetzung ist eine installierte Datenbank, z.B. MySQL oder PostgreSQL. Ich benutze z.B. letztere, die ich mit

sudo apt-get install postgresql

installiert habe. Danach dann noch schnell das Passwort mit

sudo -u postgres psql postgres
\password

ändern, und eine Datenbank anlegen

CREATE DATABASE gogs ENCODING 'UTF8';

und es kann mit Gogs losgehen. Ach ja, falls noch kein git auf dem Raspberry Pi installiert sein sollte, hilft

sudo apt-get install git

bei diese Problem.

Bei GitHub gibts für allerlei Plattformen fertige Builds, u.a. auch für Linux ARM. Diese brauchen wird.

wget https://github.com/gogits/gogs/releases/download/v0.9.13/linux_arm.zip
unzip linux_arm.zip
cd gogs
./gogs web

Dann kann via Port 3000 der Installer von Gogs aufgerufen werden, z.B. http://localhost:3000/ oder http://raspberrypi:3000/. Dieser ist selbsterklärend.

http auf https umleiten mit Plesk

Mit Plesk lässt sich sehr einfach der komplette http Traffic für eine Domain auf https umstellen:

  1. Login als Admin in Plesk
  2. Domain auswählen
  3. Einstellungen für Apache & nginx
  4. Zusätzliche Apache-Anweisungen

Und dort nun folgendes Eintragen:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,QSA]
</IfModule>

Testen kann man das z.B. via curl.

D:\Work>curl http://www.denniswilmsmann.de/
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://www.denniswilmsmann.de/">here</a>.</p>
<hr>
<address>Apache Server at www.denniswilmsmann.de Port 80</address>
</body></html>

Let’s Encrypt und Plesk

Auf diesem vServer läuft Plesk, mittlerweile auch in Version 12.5. (Das Update hat komischerweise problemlos geklappt, trotz einiger Warnmeldungen.) Dafür gibt es eine praktische Erweiterung, um automatisch kostenlose SSL Zertifikate von Let’s Encrypt zu installieren und aktuell zu halten. Die Erweiterung kann bequem über den Katalog installiert werden:

Danach kann die Erweiterung verwendet werden:

Mit einem Klick auf die gewünschte Domain öffnet sich der Wizard und man muss eine eMail Adresse angeben. Es macht Sinn, auch die www Subdomain ins Zertifikat mit aufzunehmen:

Fertig! 🙂

Im Bereich „Tools & Einstellungen“ findet sich unter „Geplante Aufgaben“ nun auch ein Cronjob, der das Zertifikat monatlich erneuert:

Backup Service Home: Fehlermeldung nach automatischem Update auf 3.6.x

Nach dem automatischen Update von Backup Service Home wurde beim Start immer diese Fehlermeldung angezeigt:

Der Einstiegspunkt "sqlite3_open_interop" wurde nicht in der DLL "SQLite.Interop.dll" gefunden.

Im Endeffekt hat nur eine De-Installation und Neu-Installation geholfen, bei der auf meinem System sogar alle Einstellungen erhalten geblieben sind. Leider hat die De-Installation nur funktioniert, nachdem ich mehrere Male manuell mit dem Taskmanager alle BSH Prozesse abgeschossen hatte, z.B. diesen hier:

Vielleicht hilfts ja jemanden von euch auch. Oder mir selbst, wenn der Fehler beim nächsten Update in ein paar Monaten erneut auftritt.