12.09.2018

Lies die Anleitung bis zum Ende!

Eigentlich sollte das eine Selbstverständlichkeit sein, aber manchmal vergisst man solche Grundsätze oder überfliegt die Anleitung nur flüchtig.

So ist es mir kürzlich passiert, als ich ein "unofficial" LineageOS auf dem Smartphone eines Freundes installieren wollte. Ich hatte ihm Motorola empfohlen und er war begeistert von den "Moto Mods" - magnetischen Modulen, die man an die Rückseite anklipsen kann.

Ich selbst verwende ein Moto Z von 2016 (XT1650), weil mich das Kameramodul von Hasselblad fasziniert hat, und mein Freund ist ein HiFi-Fan, der das Modul mit JBL-Stereolautsprecher haben wollte. Daneben gibt es noch verschiedene Zusatzakkus, einen Drucker oder einen Beamer. Motorola garantiert bei der "Z"-Baureihe, dass die Module mindestens drei Smartphonegenerationen lang benutzt werden können, dass man also ein neueres Telefon der Baureihe kaufen kann und die Module können weiter verwendet werden. Das klappt wirklich: mein Akkumod - zusammen mit dem Moto Z gekauft - passt auch an das Z2 meines Bekannten.

Dummerweise hat er das Modell "Z2 Play" gekauft, das derzeit nicht offiziell von LineageOS unterstützt wird, d.h. es ist nicht über die Downloadseite zu bekommen. Der Entwickler bietet es quasi "privat" als Download bei Google Drive an. Bei meinem eigenen Telefon hatte ich als erstes Kriterium die Verfügbarkeit eines offiziellen LineageOS, und als zweites Kriterium wollte ich einen Bildschirm mit mehr als HD-Auflösung, also besser als die üblichen 1920x1080. Die "Play"-Modelle von Motorola haben aber nur diese Bildschirmgröße, deshalb fiel das bei mir durch's Raster.

[Update 20181017] Das Motorola Z2 Play "albus" ist mittlerweile offiziell.

Der erste Schritt war der Start des Telefons, weil man in den Entwickleroptionen erst das Entsperren des Bootloaders erlauben muss - das findet sich bei immer mehr Herstellern, nicht nur Motorola, sondern z.B. auch LG. Danach konnte ich das Smartphone mit dem PC verbinden und im Debugmodus mit adb die nötigen Dateien kopieren. Nach dem Wechsel in den Fastboot-Modus mit dem Befehl "adb reboot bootloader" konnte ich dann den Entsperrcode benutzen, den Motorola mir in einer Email geschickt hatte.

Der erste Installationsversuch von LineageOS schlug fehl, weil nach der Installation des (durchaus funktionsfähigen) TWRP-Recoverys das LineageOS-Zip sich mit "ERROR 255" nicht installieren ließ. Beim ersten Mal dachte ich, dass die Zip-Datei beschädigt ist und ließ sie mit "unzip -t" auf dem NAS prüfen, aber die Datei war in Ordnung.

Etwas Recherche ergab, dass für dieses Smartphone ein spezielles "64 bit" TWRP verwendet werden muss, das auch nicht offiziell von TWRP angeboten wird. An dieser Stelle wurde ich dann doch etwas unsicher über das ganze "inoffizielle" Gedöns ... aber mein Kumpel war zuversichtlich und wir machten weiter.

Der zweite Versuch schlug schon viel früher fehl: das neu geflashte Recovery startet bis zum Bildschirm, auf dem man "Install", "Wipe" usw. aufrufen kann, aber der Touchscreen war nicht funktionsfähig.

An dieser Stelle brachen wir die Installation dann doch ab und ich restaurierte auch das originale Recovery von Motorola wieder. Nach einem Neustart des Smartphones mit dem "hello moto" zeigte sich beruhigenderweise wieder das vertraute Bild der Motorola-Version von Android 7.1 Nougat.

Trotzdem ließ mir dieser Fehlschlag keine Ruhe - ich wollte das nicht auf mir sitzen lassen! Alle bisherigen Telefone ließen sich problemlos entsperren und mit CM bzw. LOS bespielen, warum also nicht dieses?

Beim erneuten Durchlesen der Beschreibung fiel mir auf, dass ich einen entscheidenden Satz überlesen hatte: "Bugs: Need to press power button two times for touch to work". Also einfach mal den Bildschirm ausschalten und wieder einschalten!

Das hat dann tatsächlich geklappt, es kam das übliche "Swipe to unlock", und danach konnten wir weiter machen. Die Installation von LineageOS, Google Apps und dem addon-su-Paket lief dann schmerzfrei, und nach der Freischaltung in meiner Firewall konnte mein Kumpel auch das Telefon fertig einrichten, Apps herunterladen usw. Den genauen Ablauf habe ich oft genug beschrieben, deshalb werde ich das hier nicht noch mal wiederholen ;-)

Eine kleine Besonderheit gibt es: nach dem Entsperren des Bootloaders wird das Einschaltbild ("boot logo") durch einen Hinweistext ersetzt, dass das Telefon entsperrt ist. Dieses Bootlogo kann man natürlich problemlos durch ein schöneres Bild ersetzen, es finden sich genügend fertige zum Downloaden, und mit dem "Motorola Bootlogo Maker" kann man sich auch eigene Bilder zurecht basteln.

Also am Ende alles gut ;-)

Da fiel mir dann der alte Spruch auch gleich wieder ein: "if all else fails, read the instructions".

11.09.2018

Flash-Update auf Version 31

Mir fehlen langsam die Worte, wie die Versionsnummern inflationär in Höhen klettern. Google hat es mit Chrome vorgemacht, aus irgendwelchen Gründen macht es Mozilla mit Firefox und Thunderbird nach, und jetzt beschleunigt Adobe die Nummerierung des Flashplayers genauso.

Und weil mir die neuen Worte fehlen, nehme ich immer den alten Blogartikel, nur die Versionsnummern und die Links ändern sich ;)

Einen Hinweis muss ich aber nun doch noch einbauen: ab Ende Januar 2016 gibt es keine freien Downloads der Installationsdateien mehr. Genaue Modalitäten sind noch nicht bekannt, Adobe hat nur bekannt gegeben, dass die Downloadlinks über die "distribution3.html"-Seite nicht mehr zur Verfügung stehen werden und man eine Adobe-ID und eine Business-Lizenz benötige.

Wir sind jetzt schon bei Flash-Version 31 (mittlerweile zählt wohl auch ein Major release nicht mehr zu den besonders erwähnenswerten Ereignissen bei Adobe?). Wer sich selbst auf dem Laufenden halten will, kann das Blog des Security-Teams bei Adobe lesen oder als RSS abonnieren.

Wie üblich in ihrem freundlichen Service-Blog die passende Automation zum Herunterladen und Installieren. Falls ein Proxy verwendet wird, das "rem" bzw. "#" entfernen und eigene Proxy-Adresse eintragen.

Das Tool wget wird bei Windows noch benötigt wie hier beschrieben. Bei Linux sollte es schon vorhanden sein, da es von vielen anderen Programmen intern verwendet wird.

Für Windows wie üblich beide Varianten, ActiveX und Netscape Plugin (Achtung übrigens, Firefox wird demnächst das NPAPI komplett abschaffen - mal sehen, was Adobe und Flash dann machen).

Die Download-URL hat sich übrigens im Vergleich zu Version 23 leicht geändert, sowohl bei Windows als auch bei Linux.
@echo off
rem set https_proxy=http://192.168.100.100:3128/
set VNP=31.0.0.108
set VAX=31.0.0.108

set V=31
set H=fpdownload.adobe.com
set P=/get/flashplayer/pdc
set AX=install_flash_player_ax.exe
set NP=install_flash_player.exe
wget https://%H%%P%/%VAX%/%AX% -O flash-%VAX%_ax.exe
.\flash-%VAX%_ax -install
wget https://%H%%P%/%VNP%/%NP% -O flash-%VNP%_np.exe
.\flash-%VNP%_np -install
Für Linux 64 bit rpm (als root ausführen oder "sudo rpm" schreiben) gibt es jetzt auch wieder offiziell dieselbe Version wie für Windows. Eine Zeitlang war Flash für Linux bei Version 11.2 "eingefroren", Adobe hat es sich nun anders überlegt und liefert wieder, obwohl die Zeichen generell auf Untergang stehen - in Google Chrome ist Flash gar nicht mehr enthalten, und die anderen Browser-Hersteller wechseln auf Multimedia in HTML5 statt Flash. Es gäbe auch die Version "PPAPI" zum Herunterladen, das ist die Pluginvariante "Pepper" für das Google-API, ich gebe hier "NPAPI" für das Firefox-API im Skript an.
#!/bin/sh

# https_proxy=http://192.168.100.100:3128/

VL=${1:-
31.0.0.108}
H=fpdownload.adobe.com
PL=/get/flashplayer/pdc/${VL}

DL() { wget -N "$1/$2" -O "$3"; }

echo Linux 64 bit rpm ...
DL https://${H}${PL} \
   flash-player-npapi-${VL}-release.x86_64.rpm \
   flash-${VL}.x86_64.rpm
rpm -F --force flash-${VL}.x86_64.rpm
Der Filename für die 32bit-Variante ist "flash-player-npapi-${VL}-release.i386.rpm".

[20180911: Security Bulletin von Adobe]

10.09.2018

Die überraschende Firewall

Zur Abwechslung gibt es heute mal eine Anekdote einer interessanten und überraschenden Problemsuche bei einem Freund.

Besagter Freund wollte sich ein Emailkonto bei einem neuen Anbieter einrichten und es wollte nicht funktionieren. Das Emailkonto gehört zu einem Gesamtkunstwerk aus Website und Domainname eines Vereins. Durch Umzug der Website zu einem anderen Anbieter und Wechsel im Vereinsvorstand mussten wir ein Emailkonto für den Verein auf seinem PC neu einrichten.

Ich hatte vorher das Konto über die Verwaltungsseite des Anbieters angelegt, die technischen Daten für die Mailserver notiert (Pop, Imap, Smtp) und meinem Freund geschickt. Aber es wollte nicht funktionieren. Halt, das ist nicht ganz richtig. Mail abholen funktionierte, aber Mail versenden war nicht möglich.

Für mich erschwerend kam hinzu, dass es sich um einen Laptop mit Windows und Outlook handelt, und schon mit Windows tue ich mich sehr schwer. Mit Outlook habe ich eigentlich gar keine Erfahrung und musste mich durch eine etwas gewöhnungsbedürftige Bedienung durchkämpfen. Ich selbst verwende als Mailprogramm schon immer Thunderbird und bin sehr zufrieden damit.

Zuerst hatte ich die Sicherheitssoftware in Verdacht: Norton Antivirus hatte sich in Browser und Betriebssystem als Firewall eingeklinkt (der Windows-interne Firewall war abgeschaltet) und ich schaltete testweise Norton komplett ab, weil ich den Verdacht hatte, dass Norton ausgehende Mailverbindungen zu "komischen" Servernamen ablehnt (zur Unterdrückung von Spam). Aber das half nicht.

Also tiefer eingestiegen und mit einer Kommandozeile eine "telnet"-Verbindung zum Anbieter versucht. Auch das schlug fehl - es war also kein Outlookproblem, und da Norton abgeschaltet war, auch kein Nortonproblem. Ein "ping" war möglich. Zudem war das telnet-Programm zuerst gar nicht erreichbar, sondern ich musste es über die Systemsteuerung installieren (in der Systemsteuerung bei den Windows-Komponenten den "telnet-client" ankreuzen). Danach konnte ich auf der Kommandozeile mit dem schlichten Befehl "telnet mailservername 465" testen, ob der PC eine TCP-Verbindung zum Port 465 für SMTP über SSL aufbauen kann.

Nach mehreren erfolglosen Versuchen kam ich auf die Idee, im DSL-Router nachzuschauen - ein ziemlich neues Mietgerät von der Telekom für VDSL mit "Smarthome"-Fähigkeiten, also ziemlich neu. Und tatsächlich gibt es in diesem !$%&-DSL-Router einen Menüpunkt "Erlaubte Mailserver".

Der Router hat also tatsächlich einen Mini-Firewall auf Hostnamenebene eingebaut und kommt mit einer einigermaßen umfangreichen Liste von vordefinierten Mailanbietern und deren Hostnamen für Smtp-Mailablieferung. Nur "unser" Anbieter "Host Europe" war nicht in der Liste enthalten.

Also den Hostnamen unseres Smtp-Servers eingetragen und - bingo! Es ging immer noch nicht.

Erst nach einem Neustart des DSL-Routers wurde die Änderung funktionsfähig.

Der Neustart zog zwar weitere Probleme mit dem ISDN-Adapter der Telekom und der alten ISDN-Telefonanlage meines Freundes nach sich, aber diese Geschichte erzähle ich vielleicht ein anderes Mal ;-)