Adb: error: protocol fault (no status)

Seit längerem nutze ich nun Cyanogenmod und habe mein Smartphone auch verschlüsselt. Damit sind die Daten nun geschützt, jedoch kann bei einer verschlüsselten /data-Partition (nur diese Partition wird verschlüsselt) nicht mehr einfach mit Adb ein Cyanogenmod-Update eingespielt werden.

Die Methode ist, das Update per adb sideload einzuspielen, da die /system-Partition nicht verschlüsselt ist. Dazu muss in das Recovery-Image gebootet werden. Die wohl am häufigstens verwendeten Recovery-Images sind TWRP und seit neuestem auch die Cyanogenmod eigenen Recovery-Images. Beide bieten die Möglichkeit, das System-Image per sideload einzuspielen.

[Mehr]

Motion Webcam Beispiel

Mit der Software “Motion” und dem Raspberry Pi 2 lässt sich ein Webcam realisieren, die Bewegung im Bild erkennt und bei Bewegung dann ein Video aufnimmt. Die Installation der Software und weiterer Anpassungen wurde bereits in einem vorhergehenden Artikel beschrieben.

Nach mehreren Tests stellte sich heraus, das für eine Bildauflösung von 640x480 Pixeln durch den Raspberry Pi 2 gerade noch so eine Rate von 5 fps berechnet werden konnte. Das mag für die meisten, reinen Überwachungskameras ausreichen, wenn nicht gar schon zu viel sein.

[Mehr]

Arduino Uno und Siemens TC35: SMS empfangen und Schalter steuern

Im vorhergehenden Teil dieser Reihe wurde erklärt, wie man mit einem Arduino Uno und einem GSM-Board (in diesem Fall mit dem Siemens TC35) SMS versenden kann. Heute nun soll das Programm dahingehend erweitert werden, dass SMS empfangen und ausgewertet werden können und anhand des SMS-Inhalts ein Schalter bzw. ein Pin des Arduino geschaltet werden kann.

Der Schaltungsaufbau ist der gleich, wie er im letzten Versuch verwendet wurde. Hinzugekommen ist ein größeres Stück Software für den Arduino, welches nun die erforderlichen Befehle zum Empfang von SMS an das GSM-Modem sendet.

Die zur Kommunikation verwendete Lib SoftwareSerial definiert nur einen 64 Byte großen Empfangspuffer. Für den Empfang von SMS ist das viel zu wenig. In der Datei hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h wird die Puffergröße durch _SS_MAX_RX_BUFF festgelegt. Diese Puffergröße sollte dort auf mindestens 1024 festgelegt werden.

#define _SS_MAX_RX_BUFF 1024

Folgende Vorgehensweise im Arduino-Programm für die Initialisierung wurde gewählt:

  • Aktivieren der seriellen Schnittstellen zum GSM-Modem wie auch zum Computer (für die Protokollierung und zu Testzwecken)
  • Einschalten des GSM-Teils des TC35 über den IGT-Pin
  • Löschen aller alten bereits auf der SIM-Karte gespeicherten SMS-Nachrichten

Im anschließenden loop des Arduino wird ermittelt, ob neue SMS-Nachrichten vorliegen. Diese sollen dem Schema “PIN{ ON | OFF | STATUS }” ensprechen. Bei korrekt übermittelter PIN wird bei falschem Kommando eine SMS mit entsprechendem Hilfetext zurückgesendet. ON bewirkt das Einschalten des Schalter, OFF das Ausschalten und STATUS sendet eine SMS mit dem aktuellen Zustand des Schalters an den Sender der SMS zurück.

[Mehr]
Arduino  GSM  OSS  Siemens  SMS  TC35 

Arduino Uno und Siemens TC35: SMS versenden

Im Folgenden wird demonstriert, wie mit einem Arduino Uno als Steuerungseinheit und einem durch die Firma SaintSmart um eine Platine mit entsprechenden Anschlussmöglichkeiten erweitertes Siemens GSM-Modem TC35 zum einfachen Versenden von SMS verwendet werden kann.

Beide Module lassen sich kostengünstig über eBay, Amazon oder den präferierten Hardwarehändler beziehen. Das TC35 schlägt dabei in der hier getesteten Version mit ca. 22 € zu Buche.

[Mehr]
Arduino  GSM  OSS  Siemens  SMS  TC35 

Apt mit Munin überwachen

Unter Debian werden im Paket munin-plugins-core zwei Plugins geliefert, mit denen sich überwachen lässt, ob Paketaktualisierungen vorhanden sind.

Plugin apt

Dieses Plugin dient nur dazu, bei Vorhandensein mindestens eines Updates eine Warnung zu generieren, die, bei entsprechender Konfiguration, per E-Mail verschickt wird. Einen Munin-Graphen erzeugt dieses Plugin nicht.

Plugin apt_all

Dieses Plugin sucht in allen verfügbaren Repositories nach Update und erstellt daraus einen Munin-Graphen.

Beim Einsatz von apt_all kann folgende Fehlermeldung auftreten:

[Mehr]
apt  Linux  Munin  OSS 

Wiederbelebung alter Smartphones

Ich bin ja immer wieder erstaunt, wie man ältere Smartphones durch das Aufspielen von z.B. CyanogenMod (CM) zu ungeahntem neuen Leben erwecken kann. So traf es gestern mein mittlerweile etwas angestaubtes Moto G 1. Generation. Mit dem zuletzt von Motorola zur Verfügung gestelltem Android 5.0 bin ich nie so richtig warm geworden. Das Smartphone fühlte sich in jeder Lage zäh an. Die wenigen von mir verwendeten Apps wurden immer größer und vorinstallierte Apps ließen sich so nicht deinstallieren, es wurden nur neue Versionen von Google bereitgestellt. Der Speicher der alten Version war damit natürlich verloren.

[Mehr]

WordPress: Beitragsbewertung und Statistik

Schon lange hatte ich den Wunsch, meinen Lesern eine Möglichkeit zu bieten, Beiträge zu bewerten. Viele Leser scheuen sich, bei einem schlecht verständlichen Artikel einen Kommentar abzugeben, was mir jedoch als Feedback fehlt, um den jeweiligen Artikel zu verbessern. Ebenso nimmt sich bei brauchbaren Artikeln kaum jemand die Zeit, seine E-Mail-Adresse einzugeben und dann ein “Guter Artikel” oder dergleichen zu hinterlassen. Ein einzelner Klick dagegen ist hoffentlich leichter ausgeführt.

Gleichzeitig wollte ich endlich eine Möglichkeit schaffen, unter den Artikeln eine Statistik einzublenden die anzeigt, wie oft ein Artikel gelesen wurde. Die einfachen Möglichkeiten, einen “dummen” Besucherzähler zu manipulieren, waren ein zusätzliches Auswahlkriterium.

[Mehr]

MySQL-Workbench: SSH-Tunnelaufbau scheitert

Nach einem Update eines Servers auf Debian 8 Jessie war ein Verbindungsaufbau von einer MySQL-Workbench über einen SSH-Tunnel zu diesem Server nicht mehr möglich. Das Logfile der MySQL-Workbench (unter Windows in %APPDATA%\MySQL\Workbench\log\wb.log zu finden) enhält folgende Fehlermeldung:

SSHException: Incompatible ssh peer (no acceptable kex algorithm)

Grund für die Fehlermeldung ist, dass das in der aktuellen MySQL-Workbench 6.3 CE verwendete Python-Modul (paramiko), welches für den Verbindungsaufbau über einen SSH-Tunnel zuständig ist, sich in der Version 1.7.7.1 nicht mehr mit der nun auf dem Server installierten OpenSSH-Version 6.7 versteht.

[Mehr]
Linux  MySQL  OSS  SSH  Windows 

Tiny Tiny RSS: Update-Daemon unter systemd betreiben

Vor kurzem habe ich ein Distributions-Update durchgeführt und bin nun auch in den zweifelhaften Genuss von systemd gekommen. Im folgenden möchte ich beschreiben, wie der Update-Daemon von Tiny Tiny RSS unter systemd auf einem Debian 8 System betrieben werden kann.

Zuerst muss eine Konfigurationsdatei erstellt werden, die den Dienst beschreibt. Ich habe dazu die Datei /lib/systemd/system/ttrss-update.service mit folgendem Inhalt angelegt:

[Unit]
Description=Tiny Tiny RSS update daemon
After=network.target mysqld.service
Requires=network.target remote-fs.target nss-lookup.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/local/news
Type=simple
StandardOutput=null
StandardError=syslog
ExecStart=/usr/bin/php ./update_daemon2.php
PrivateTmp=true
InaccessibleDirectories=/home /root /boot /opt /mnt /media
ReadOnlyDirectories=/etc /usr

[Install]
WantedBy=multi-user.target

Unter WorkingDirectory muss dass Verzeichnis der TTRSS-Installation angepasst werden.

[Mehr]

WordPress: Aufzählung der Autoren verhindern

In einer Standard-WordPress-Installation ist es sehr einfach möglich, die Namen der unterschiedlichen Autoren herauszubekommen. An die URL der Seite hängt man dazu ein /?author=1, /?author=2 usw. an. Diese Informationen könnten von mißliebigen Zeitgenossen unter Umständen dann dazu verwendet werden, Logins mit nun bekannten korrekten Benutzernamen auszuprobieren.

Verhindern kann man den Zugriff auf die Namen der unterschiedlichen Autoren (und damit auch die Information, ob es evtl. nur einen einzigen Autor im Blog gibt) mit dem Umschreiben der URL.

[Mehr]