Resilio Sync auf dem Raspberry – 1: Software

Schon vor einigen Jahren habe ich dieses Programm auf dem Raspberry eingerichtet. Damals hieß es noch BTSYNC (abgeleitet vom verwendeten Bittorrent-Protokoll) und lief auf einem RP2 mit einer 64 GB-SD-Karte. Dieser Speicher wurde nun knapp. Da ich vor geraumer Zeit eine USB-HDD WD-RP-Drive mit 314GB gekauft habe, wollte ich diese nun einsetzen. Weil es einfacher und sicherer ist, wollte ich das System auf neuer Hardware neu aufsetzten, natürlich jetzt auf einem RP3

Ich suchte nach aktualisierten Anleitungen und musste leider feststellen, dass die Installation ein komplizierter Weg war, als ich erwartet hatte.

Der Anfang war noch einfach: RP3 mit Debian einrichten, SSH einschalten (damit man am PC arbeiten kann, wo auch Google verfügbar ist Zwinkerndes Smiley)

Das Pi-Drive einbinden

Erste Hürde war das WD-PI-Drive, dessen Einbindung eigentlich gut erklärt wird, z.B.  https://www.randombrick.de/raspberry-pi-usb-stick-und-usb-festplatte-einbinden/ Aber: mein korrekt angeschlossenes und laut LED mit Strom versorgtes Laufwerk wurde von Linux nach Ausführen von

sudo blkid -o list -w /dev/null

nicht aufgeführt. Testhalber am PC angeschlossen funktionierte es jedoch. Nur war es nicht initalisiert und erst recht nicht nicht formatiert. Das holte ich also mit der Windows-Datenträgerverwaltung nach und zwar mit MBR und NTFS. NTFS als Dateiformat hat den Vorteil, dass man die Platte auch mal schnell an eine Windows-PC hängen und auslesen kann.

Danach konnte man es in Linux auf dem RP einbinden. Naja, erst nachdem ich den Schreib-Lese-Treiber für NTFS eingebunden hatte:

sudo apt-get -y install ntfs-3g hfsutils hfsprogs exfat-fuse

Resilio Sync

Also weiter zu Resilio Sync. Auf https://www.randombrick.de/raspberry-pi-resilio-sync-installieren-und-einrichten/  ist eine gute deutsche Anleitung, die auch bis zum ersten Start funktionierte. Die GUI erreicht man über den Browser per IP-Adresse und Port 8888. Die IP-Adresse wäre 127.0.0.1 auf dem RP, aber blöderweise geht Chromium als Browser auf dem RP aber nicht, wenn man als root angemeldet ist, was bei mir leider der Normalfall war, jedenfalls wenn ich die GUI von Debian per “sudo startx” angeworfen habe. Egal, per PC im LAN ging es über die per “ifconfig” auslesbare IP-Adresse des RP, bei mir sogar über seinen Namen im LAN (bei mir “rp3server”). Aber Leider konnte ich das USB-Laufwerk hier nicht als Zielort zum Speichern angeben, weil die GUI hier nur Verzeichnisse unter dem Home-Verzeichnis zuließ, ich aber das Laufwerk unter /media/usbdrive eingebunden hatte. Laut google muss man, um dies zu ermöglichen, die /etc/btsync/config.json-Konfigurationsdatei ändern. Das konnte ich auch. Nur leider ging btsync (wie der Service weiterhin erstaunlicherweise hieß) dann gar nicht mehr richtig. Ich konnte ihn zwar erfolgreich starten und stoppen, aber die GUI (dies sonst über den Webbrowser per [ip]:8888 erreichbar ist, war nicht mehr da.

Also Versuch 2: https://www.resilio.com/blog/sync-wd-raspberry-pi Direkt von der Seite der Macher, dazu im Bild mit dem Pi-Drive und nur wenige Monate alt. Das sollte doch gehen. Leider las ich den unscheinbaren Satz am Anfang nicht “we suggest you use our Offical Linux packages here to run Sync on your Pi.” Unter “here” war der Link. Die auf der Seite darunter folgende Beschreibung ist nämlich nicht der offiziell Weg und hat bei mir auch nicht funktioniert.

3. Anlauf: die offizielle Anleitung https://help.resilio.com/hc/en-us/articles/206178924 konnte ich wirklich erfolgreich nachvollziehen (Etwas schöner notiert auch auf https://www.rebootinternet.com/personal-cloud-with-raspberry-pi-and-resilio-sync/):

pi@rp3server:~ $ echo „deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free“ | sudo tee /etc/apt/sources.list.d/resilio-sync.list
deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free
pi@rp3server:~ $ wget -qO – https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add –
OK
pi@rp3server:~ $ sudo dpkg –add-architecture armhf
pi@rp3server:~ $ sudo service btsync stop
pi@rp3server:~ $ sudo apt-get update
Holen:1 http://linux-packages.resilio.com/resilio-sync/deb resilio-sync …
Es wurden 19,2 kB in 1 s geholt (11,9 kB/s).
Paketlisten werden gelesen… Fertig
pi@rp3server:~ $ sudo nano /etc/apt/sources.list

Hier ändern und mit Strg-O <Return> Strg-X abschließen:
deb [arch=armhf] http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free

pi@rp3server:~ $ sudo apt-get update
OK:1 http://linux-packages.resilio.com/resilio-sync/deb resilio-sync InRelease

W: Target Translations (non-free/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:4 and /etc/apt/sources.list.d/resilio-sync.list:1
pi@rp3server:~ $ sudo apt-get install resilio-sync
… Die folgenden NEUEN Pakete werden installiert:
resilio-sync
… Entpacken von resilio-sync (2.5.12-1) …
resilio-sync (2.5.12-1) wird eingerichtet …
Trigger für systemd (232-25+deb9u1) werden verarbeitet …
Trigger für man-db (2.7.6.1-2) werden verarbeitet …
pi@rp3server:~ $ sudo systemctl enable resilio-sync
Synchronizing state of resilio-sync.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable resilio-sync
pi@rp3server:~ $ sudo nano /usr/lib/systemd/user/resilio-sync.service

Mit dem Nano-Editor eine Zeile von “mulit-user” auf “default” ändern: und mit Strg-O <Return> Strg-X abschließen:
WantedBy=default.target

pi@rp3server:~ $ systemctl –user enable resilio-sync
Created symlink /home/pi/.config/systemd/user/default.target.wants/resilio-sync.service → /usr/lib/systemd/user/resilio-sync.service.

Auf der Konfigurationsseite des Webinterfaces ([IP]:8888) gibt man eine Benutzernamen/Passwort-Kombination ein, die lediglich für diese Webseite gilt, also nichts mit der Benutzverwaltung des RP zu tun hat. In der Konfiguration  stellte ich ein:

image

Wobei im “default folder” (den nicht verändern) Logs und Konfiguration gespeichert werden. Für die Datenspeicherung wird der zweite Ordner “File download location” verwendet.

Gibt man nun auf der Hauptseite der GUI unter “+” den von einem PC/RP (mit Resilio Sync) kopierten Schlüssel ein und wählt den Speicherort, so synchronisiert sich der RP mit diesen Geräten und lädt alle Dateien auf das Pi Drive. Fertig! Fast…

PiDrive dauerhaft einbinden

UUID auslesen und mit nano in die fstab eintragen:

pi@rp3server:~ $ sudo blkid
/dev/mmcblk0p1: LABEL=“boot“ UUID=“0298-4814″ TYPE=“vfat“ PARTUUID=“336f327b-01″
/dev/mmcblk0p2: LABEL=“rootfs“ UUID=“d4f0fd64-ad9d-4cfd-aa76-8d3541fbf008″ TYPE=“ext4″ PARTUUID=“336f327b-02″
/dev/mmcblk0: PTUUID=“336f327b“ PTTYPE=“dos“
/dev/sda1: LABEL=“PI“ UUID=“CEB2CEF2B2CEDDD9″ TYPE=“ntfs“ PARTUUID=“b99cbd91-01″
pi@rp3server:~ $ sudo nano /etc/fstab

indem man mit Nano die Zeile

UUID=CEB2CEF2B2CEDDD9 /media/usbhdd/ ntfs-3g defaults,umask=000,users 0 0

anfügt und mit Strg-O <Return> Str-X speichert. der String nach “UUID=” ist natürlich die UUID, die nach dem blkid für die USB-Platte (bei mir /dev/sda1) ausgegeben wurde.

Tatsächlich läuft Resilio Sync auch nach einem Neustart dann perfekt.

Veröffentlicht unter Rasperry Pi | Hinterlasse einen Kommentar

Bei Kabeldeutschland arbeiten Idioten – nicht nur, aber zu viele!

Mein Kabel-Deutschland Problem war im Februar leider keineswegs behoben. Nach eine Router-Neustart war das Problem (DNS-Auflösung und/oder Routing mit 5-10 Sekunden viel zu langsam) oft kurzfristig gelindert, aber niemals beseitigt. Der Schweregrad schwankte zischen “lästig” und “unzumutbar”, so dass eine Fehlerdiagnose schwierig war, zumal wenn man ein Problem hat, dass aus dem Raster fällt. Dem entsprechend war es für die Mitarbeiter der Hotline kaum möglich, das Problem richtig in ihre Software einzugeben, geschweige denn dass eine Abhilfe möglich war.

Weiterlesen

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

Neulich in der Autowerkstatt

Terminvergabe

Seit vielen Jahren bin ich Kunde einer Autowerkstatt eines großen lokalen Vertragshändlers. Nicht immer mit Zufriedenheit, aber wegen persönlicher Beziehungen und der räumlichen Nähe (500m) zu meiner Arbeitsstätte.

Da ich im Jahr zuvor bei der telefonischen Terminvereinbarung minutenlang in Warteschleifen hing und hin- und her vermittelt wurde, habe ich diesmal den Kontakt per Kontaktformular auf der Webseite hergestellt. Hier konnte man tatsächlich alles wichtige eingeben, also Kennzeichen, Fahrzeugtyp und Art des Termins, etc. Bei “Terminwunsch” habe ich die für mich passenden Wochentage und Bring- und Abholtermine angegeben.

Da man eine Telefonnummer (bei mir war das meine geschäftliche Nummer) angeben musste, war ich wenig überrascht aber doch nicht erfreut, dass ich dann einige Stunden später angerufen wurde – was mich dann eben oft aus einer wichtigen Arbeit reißt:

Weiterlesen

Veröffentlicht unter Allgemein | Verschlagwortet mit , | Hinterlasse einen Kommentar

Android Wear 2.0 – Google kann’s nicht

Dass sich die Android Smartwatches im Vergleich zur Apple Watch schlecht verkaufen, habe ich anfangs nie verstanden. Ich finde die praktisch und bin seit der ersten LG Watch Anwender.

Nachrichten lesen, ohne das Smartphone zu zücken ist für mich ein Vorteil. Schon mit Android Wear 1.x war es möglich, der Uhr eine Antwort zu diktieren oder (etwas später) per Spracheingabe eine Nachricht zu verfassen – Dinge die die erste Apple Watch nicht konnte.

Weiterlesen

Veröffentlicht unter Android | Hinterlasse einen Kommentar

Kabeldeutschland Problem (3) – endlich behoben

Nach 2 Anrufen von Vodafone/KD-Mitarbeitern, die dann etwas kompetenter waren erhielt ich eine weitere Mail:

nach Prüfungen in unserem Netz konnten wir Ihre Störungsmeldung einer zentralen Störung zuordnen.  Wir werden Ihre Störungsmeldung in diesem Zusammenhang mit bearbeiten.

Weiterlesen

Veröffentlicht unter Internet | Hinterlasse einen Kommentar

Kabeldeutschland Problem (2)

Als wenige Tage nach dem letzten Telefonat ein kleines Päckchen ankam, war ich schon überrascht, dass KD so schnell einen neuen Router schicken würde. Aber: Fehlanzeige! Es war nur ein neues Anschlusskabel für den Kabelrouter. Den habe ich ausgetauscht mit der Gewissheit, dass das nichts bringen würde, denn

  • In keinem Log kam es jemals zu Verbindungsabbrüchen
  • Das Problem tritt ja praktisch nur beim ersten Aufruf einer Seite auf – sollte ausgerechnet immer dann das Kabel eine Wackelkontakt haben?

Natürlich brachte der Tausch nichts. Ein neuer Test mit dem Laptop, direkt per LAN am KD-Router angeschlossen. Ich habe das ganze mit dem Handy gefilmt.

Weiterlesen

Veröffentlicht unter Internet | 1 Kommentar

Kabeldeutschland Problem

In einem schwachen Moment Ende Oktober 2016 beschloss ich, ohne Mehrpreis von Kabel 100 MBit/s auf 200 zu wechseln. Das Modem von Cisco musste ich ein paar Tage später gegen das zugesandte von cbn tauschen.

Warum 200 MBit/s sich total langsam anfühlen können

Begeisterung wollte sich jedoch nicht einstellen, denn zwar wurden 200 MBit/s im Download erreicht, aber jeder Webseitenaufruf fühlte sich spürbar langsamer an, teilweise sogar wie im Schneckentempo – und zwar unabhängig vom Server. Meldungen wie “Verbindung wird hergestellt” und “Host auflösen” wechselten sich schier endlose Sekunden ab, bis überhaupt das erste Element (!) auf der Seite erschien, oft brach der Browser wegen Zeitüberschreitung ab. Wenn die Seite dann aufgebaut wurde, erschien sie aber meist schlagartig. Beim Neuladen mit F5 war die Seite fast immer sofort da. Die Verzögerung war auch nicht immer gleich, manchmal nur nervig mit 3-5 Sekunden, manchmal unzumutbar 15-20 Sekunden (!).

Versuche der Problembehebung

Da das neue Modem im Gegensatz zum alten ein Router war, dachte ich zuerst an Probleme wegen des doppelten Routing, falscher DNS-Konfiguration o.ä. und änderte die Konfiguration immer wieder.

Weiterlesen

Veröffentlicht unter Internet | Hinterlasse einen Kommentar

MIDI Program Changer (2) Program Details – 1

I choosed an AT Mega 16 for this project, using Atmel Studio in C

atmega

So let’s have a look at the code mentionend (slightly simplfied).

  1. MIDI I/O

Read and write work with Buffers, so main() does not have to bother if bytes can be sent as quickly as main() „produces“ them and if bytes can be processed by main() as quickly as they are received. Buffers are ring buffers so they act as kind FIFO stacks

Weiterlesen

Veröffentlicht unter Basteln, Mikrocontroller/Arduino | 1 Kommentar

Ich habe kein Glück mit Windows 7

Eine vermeintlich leichte Aufgabe stellte mir eine Bekannte diese Woche: Auf dem Laptop verweigerte Windows 7 die Anmeldung, da das Passwort falsch sei – obwohl keins vorhanden sein dürfte!

Weiterlesen

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

MuseScore – OpenSource-Programm für Masochisten

Da mein gekaufter “Notation Composer” nicht Windows-10-kompatibel ist (was laut Hersteller natürlich nur an den unfähigen Microsoft-Programmierern liegt), verwende ich als (zumindest im Herzen) großer Freund von Open Source-Programmen seit einem Jahr öfters MuseScore. Weiterlesen

Veröffentlicht unter Software | Hinterlasse einen Kommentar