phpMyAdmin Fehler „Parameter must be an array or an object that implements Countable“

Nachdem das Update des Entwicklungsrechners von Debian 9 (Stretch) auf Debian 10 (Buster) reibungslos durchgelaufen ist, hakt es bei phpMyAdmin sobald eine Tabelle angeklickt wird:

Warning in ./libraries/sql.lib.php#613
count(): Parameter must be an array or an object that implements Countable

Eine einfache Lösung findet sich bei Stack Overflow: in der Datei „/usr/share/phpmyadmin/libraries/sql.lib.php“ eine der schließenden Klammern von Zeile 614 in Zeile 613 vor das „== 1“ versetzen, so daß die Zeilen 613 und 614 wie folgt aussehen:

|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))

Nach einem Neustart des Webservers ist der Fehler verschwunden.

 

DPD mag keine blauen Tonnen

Während GLS unsere Papiermülltonne lieb gewonnen hat, gibt DPD – selbstverständlich ebenfalls ohne Abstellgenehmigung – das Paket beim Nachbarn „Terasa“ ab und notiert als Empfänger:

Paket hinter Haus

 

Andre Matos R.I.P.

Auch wenn Andre „nur“ bis 2001 Frontman der Band ANGRA war und „nur“ die ersten 3 von inzwischen 10 ANGRA-Alben eingesungen hat, war und ist er für viele immer noch DER ANGRA-Sänger. Bereits mit dem Debutalbum „Angels Cry“ legten ANGRA die Messlatte so hoch, daß die späteren Alben – obwohl durchweg gut bis exzellent – den Erstling nicht erreichen konnten.

Ich habe ANGRA zum ersten Mal am 26. Mai 1995 zusammen mit PSYCHOTIC WALTZ im Schwimmbadclub in Heidelberg gesehen. Ein unvergessliches Konzert, in dessen Verlauf Andre auch bewies, daß die Kate Bush-Coverversion „Wuthering Heights“ nicht mit Hilfe von Studio-Tricks den Weg auf’s Album fand, sondern auch live von ihm gemeistert werden konnte.

Andre Matos ist am 08. Juni 2019 im Alter von 47 Jahren verstorben.

R.I.P.

 

GLS und die blaue Tonne II

Ich muß dringend mal ein ernstes Wort mit unserer Papiertonne reden – so geht das nicht …

Versicherter Versand bei GLS:

2 Pakete liegen hinter blaue tonne Danke

Und nein, GLS hat keine Abstellgenehmigung

 

Samsung Galaxy Tab S2 mit LineageOS

Auch wenn der Markt für Android Tablets auf den ersten Blick nach halbwegs Ausahl aussieht – spätestens beim Blick auf die Sicherheitsupdates kommt der Gedanke, daß es um diese nicht nur gefühlt nochmals eine ganze Ecke schlechter bestellt ist als bei Smartphones.

Denkt man gar darüber nach, ein alternatives Betriebssystem wie LineageOS einsetzen zu wollen, bleiben von den aktuell am Markt befindlichen Geräten nur noch wenige übrig. Als „Preis-Leistungssieger“ entpuppt sich das Samsung Galaxy Tab S2, welches mit immer noch ausreichender Ausstattung als Neugerät erhältlich und für das offiziell LineageOS 16 verfügbar ist.

Wichtig ist, die richtige Version des Gerätes zu erwischen. Statt der Urversion des S2 von 2015 wird die aktualisierte Version von 2016 benötigt, in welcher der Samsung eigene Exynos-Prozessor durch einen Qualcomm Snapdragon ersetzt wurde. Wie das LineageOS Wiki verrät, handelt es sich hierbei um die Modellnummer SM-T813, Codename „gts210vewifi“.

Im Wiki findet sich auch eine Installationsanleitung, welche sich im Vergleich zu z.B. den Google-eigenen Nexus-Geräten nicht einfach nachklicken lässt, sondern so manchen Stolperstein beinhaltet.

Heimdall

Während bei „normalen“ Android-Geräten das Einspielen der Custom Recovery mittels „fastboot“ erledigt wird, hat Samsung einen sogenannten „Download-Modus“ implementiert, der auf dem Odin-Protokoll basiert. Die Installationsanleitung verweist hierfür auf „heimdall“, eine freie Implementierung des Odin-Protokolls und gibt an:

Linux: Pick the appropriate package to install for your distribution. The -frontend packages aren’t needed for this guide. After installation, verify Heimdall is installed by running heimdall version in the terminal.

Leider stellt sich heraus, daß der Testbefehl

heimdall print-pit

mit der aktuell für alle Debian-Releases erhältlichen Heimdall Version v1.4.1 auf einen Fehler läuft:

$ heimdall print-pit
Heimdall v1.4.1
...
Downloading device's PIT file...
ERROR: Failed to send request to end PIT file transfer!
ERROR: Failed to download PIT file!
Ending session...
ERROR: Failed to send end session packet!
Releasing device interface...

Abhilfe schafft, sich den aktuellen Heimdall-Quellcode von GitLab zu organisieren (Klick auf das Symbol mit der Wolke und „Download“) und anschließend selbst zu übersetzen. Eine Kurzanleitung findet sich im archivierten GitHub-Wiki und besteht im Wesentlichen darin, nach dem Installieren der erforderlichen Pakete

sudo apt-get install build-essential cmake zlib1g-dev qt5-default libusb-1.0-0-dev libgl1-mesa-glx libgl1-mesa-dev

die Entwicklungswerkzeuge ihre Arbeit erledigen zu lassen

$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make

Anschließend findet sich im „bin“-Verzeichnis heimdall in der Version v1.4.2, mit der die Kommunikation dann problemlos funktioniert:

$ ./heimdall print-pit
Heimdall v1.4.2
...
Downloading device's PIT file...
PIT file download successful.

Entry Count: 43
...
Ending session...
Rebooting device...
Releasing device interface...

Nach erfolgreichem Test kann dann das Recovery auf das Tablet übertragen werden:

$ ./heimdall flash --RECOVERY twrp-3.3.1-0-gts210vewifi.img --no-reboot
Heimdall v1.4.2
...
Downloading device's PIT file...
PIT file download successful.

Uploading RECOVERY
100%
RECOVERY upload successful

Ending session...
Releasing device interface...

Nach dem erfolgreichen Flashen der Recovery steht ein weiterer Stolperstein im Weg: der Neustart. Das Wiki meint hierzu lediglich:

Manually reboot into recovery:
With the device powered off, hold Home + Volume Up + Power.

Leider lässt sich der Download-Modus nicht durch Drücken des „Power“-Buttons beenden, die einzige Möglichkeit bleibt, mittels „Power + Volume Down“ einen Hard-Reset zu erzwingen um in dem Moment, in dem der Bildschirm dunkel wird, auf „Home + Volume Up + Power“ zu wechseln, um so in der Recovery zu landen.

Ist dies geschafft, kann der Rest der Installation nach Fahrplan des Wikis erfolgen.