Archiv ‘IT’

Sonntag, 3. Juni 2018

Init7 TV7: Offizielle TV7-App für Apple TV

Da ich heute Fiber7s TV7 auf einem Apple TV installieren durfte, auf welchem eine schweizerische Apple ID konfiguriert ist, weiss ich nun endlich, wie die App wirklich heisst:

image-7919

image-7920

Wieso ich das hier poste? Auf unserem Apple TV hier zu Hause habe ich die App nicht gefunden, weil unser Apple TV mit einer — man verzeihe es uns — us-amerikanischen Apple ID konfiguriert ist und wir somit nur den us-amerikanischen App Store durchsuchen können.

Auf Init7/Fiber7s Homepage wird die App zwar mehrere Male erwähnt, hingegen aber nicht, wie sie offiziell heisst. Auch wird nirgends erwähnt, dass sie nur aus dem schweizerischen App Store heruntergeladen werden kann. Letzteren Entscheid würde ich überdenken, da der Anteil an eingewanderten, hochqualifizierten Fiber7-Nutzern sehr hoch sein sollte — und die mögen es in der Regel nicht, eine zweite Apple ID für ihr Leben in der Schweiz zu lösen.

Schick wäre übrigens auch, wenn TV7 analog zu Salt beim erstmaligen Einrichten eines Apple TV 4 oder 4K einen eigenen Bildschirm zur Konfiguration erhielte.

Tags: , , , , , , , ,
Labels: Apple, IT, Leben, Medien, Schweiz

5 Kommentare | neuen Kommentar verfassen

Donnerstag, 31. Mai 2018

Init7 TV7: Installation mit einem Ubiquiti Edgerouter X SFP

(Folgeartikel zum Artikel Init7 TV7: Installation mit einem Turris Omnia-Router)

An einem Zweitstandort betreibe ich einen Ubiquiti Edgerouter X SFP (Firmware v1.10.0) mit einem offiziellen FlexOptix-Transceiver von Fiber7. Damit dieser Router IPTV-Multicast ins LAN weiterleitet, waren folgende Anpassungen an der Konfiguration nötig (hat mich 90 Minuten meines Lebens gekostet):

Firewall

Auf rudimentärem Deutsch: Lasse IGMP sowie Multicast UDP durch die Firewall gegen das Internet

...
firewall {
    ...
    name WAN_IN {
        ...
        rule 4 {
            action accept
            description "Allow IGMP (max)"
            log disable
            protocol igmp
        }
        rule 5 {
            action accept
            description "Allow Multicast"
            destination {
                address 224.0.0.0/4
            }
            log disable
        }
    }
    name WAN_LOCAL {
        ...
        rule 4 {
            action accept
            description "Allow IGMP"
            log disable
            protocol igmp
        }
        ...
    }
    ...
}
...

IGMP Proxy

Auf rudimentärem Deutsch: Empfange IGMP-Traffic aus dem Internet und leite ihn in das LAN weiter.

...
protocols {
    igmp-proxy {
        interface switch0 {
            alt-subnet 0.0.0.0/0
            role downstream
            threshold 1
        }
        interface eth5 {
            alt-subnet 0.0.0.0/0
            role upstream
            threshold 1
        }
    }
    ...
}

Multicast-Status abfragen

Um zu überprüfen, ob Multicast grundsätzlich funktioniert, loggt man sich per SSH auf den Router ein und gibt im CLI folgende Befehle ein:

$ show ip multicast interfaces 
Intf             BytesIn        PktsIn      BytesOut       PktsOut            Local
switch0            0.00b             0       31.17MB         24316        Y.Y.Y.1
eth5             31.17MB         24316         0.00b             0   X.X.X.X
$ show ip multicast mfc
Group           Origin           In          Out                Pkts         Bytes  Wrong
239.254.127.63  Y.Y.Y.5        eth5        switch0               1       116.00b      1
239.255.255.250 Y.Y.Y.50       eth5        switch0              56       17.61KB     56
239.77.3.21     77.109.129.16    eth5        switch0           37379       47.91MB      0

Die letzte Zeile war das Resultat, dass ich probehalber Dracula Untold auf Film 4 geschaut habe …

Nachtrag 1: Stream friert ein

Nach der Installation der TV7-App auf dem Apple TV (eigener Blog-Artikel zur App) musste ich entdecken, dass das Bild eines TV-Senders jeweils nach etwas mehr als 3 Minuten einfror (ich tippte nach mehreren Messungen auf ein Timeout von 200 Sekunden — und somit ein strukturelles Problem).

Recht schnell realisierte ich nach etwas Googlen, dass die Firewall-Regel 4 unter WLAN_LOCAL zwingend auch aktiviert werden muss. Diese hatte ich ursprünglich als überflüssig erachtet. Mein Fehler.

Meine Vermutung als IPTV-Laie: Diese (zusätzliche) Regel erlaubt ausgehende IGMP-Pakete. Wenn diese nicht an TV7 gesendet werden können (Heartbeat?), stellt TV7 den Multicast wieder ein. Sobald die Firewall-Rule aktiviert wurde, entfror sich das Bild und die Sendung lief weiter.

Nachtrag 2: Multicast flutet das Netzwerk

Obwohl die Streams nun auf dem Apple TV mit der offiziellen App problemlos laufen, habe ich einen schwerwiegenden Nachteil entdeckt, welcher bei meinem Turris Omnia nicht auftritt: Schaut man mit dem Apple TV einen TV7-Stream, wird das ganze LAN mit Multicast-Paketen geflutet. Dies beeinflusst meinen UniFi Access Point besonders, konnte ich doch einen spürbaren Lag zwischen Tastendruck und Anzeige des Buchstabens auf dem Bildschirm feststellen, wenn ich von meinem MacBook per WLAN per SSH auf einem Laptop im LAN verbunden war.

In meiner derzeitigen Konfiguration sendet der Edgerouter den eingehenden Multicast-Traffic an alle LAN-Interfaces weiter, die am switch0 hängen. Leider habe ich bis jetzt noch keine Lösung gefunden, wie man das auf einzelne Ports einschränken kann (ich brauche eigentlich nur den Apple TV- sowie den Laptop-Port, auf welchem udpxy läuft) respektive wie man IGMP-Snooping aktivieren kann, damit der Edgerouter selber realisiert, welches Gerät/welche Geräte im Netzwerk aktuell gerade Multicast-Streams abspielen möchte.

image-7912

Links

Tags: , , , , , , , , , , ,
Labels: IT, Linux, Medien, Schweiz

1 Kommentar | neuen Kommentar verfassen

Mittwoch, 23. Mai 2018

Init7 TV7: Beste inoffizielle IPTV-Applikation für Apple TV

(Folgeartikel zum Artikel Init7 TV7: Installation mit einem Turris Omnia-Router)

Init7 bietet zwar eine dedizierte Apple TV-App für TV7 an, doch bereits bei der Ankündigung befürchtete ich, dass die in unserem Haushalt nicht erhältlich sein wird: Wir haben einen Apple TV 4 mit 32GB-Speicher, das Gerät läuft aber auf die us-amerikanische Apple ID meiner Frau. Dementsprechend werden uns im App Store auch nur die weltweit verfügbaren und die für den us-amerikanischen Markt verfügbaren Apps angezeigt.

Keine Spur von der TV7 App:

image-7892

image-7893

image-7894

Nach einigem Pröbeln entschied ich mich für den Kauf resp. die Installation folgender drei vier Apps:

  1. iPlayTV
  2. rIPTV
  3. GSE SMART IPTV
  4. TV Streams

Wichtiger Tipp

Es empfiehlt sich, den Direktlink auf die TV7-Kanalliste (tvchannels.m3u) mit dem iPhone als „Eingabetastatur“ in die Apple TV-Oberfläche einzugeben einzufügen (Copy & Paste) — sonst wird man wahnsinnig, bevor man das mit der Apple TV Remote bewerkstelligt hat.

iPlayTV

Apple App Store Link, Letztes Update: 4. Mai 2017 (!), Kaufpreis: $2.99

Meiner Meinung nach das beste GUI, aber die App funktioniert nicht: Die M3U-URL konnte ich zwar schnurstracks hinterlegen, die Sender werden aus der M3U-Datei ausgelesen und die bekannten darunter mit Logo der Sendestation versehen. Doch wenn ich irgendeinen Kanal auswähle, erscheint folgende Fehlermeldung:

Some problem happened while playing SRF1 HD

image-7895

Ich habe darauf jede verfügbare Einstellung angepasst, doch schlussendlich gab ich auf: Mit iPlayTV kann man aus irgendeinem Grund keine TV7-Streams empfangen.

rIPTV

Apple App Store Link, Letztes Update: 3. Februar 2018, Kaufpreis: $2.99

Die Applikation meiner Wahl (weil ich es mit iPlayTV nicht hingekriegt habe). Das GUI schaut ebenfalls sehr benutzerfreundlich aus, und ist es auch — iPlayTV wäre aber ein Mü hübscher.

Mit dieser App hatte ich anfänglich das Problem, die M3U-Kanalliste mittels Direktlink einzulesen — das funktioniert irgendwie einfach nicht:

image-7896

Schlussendlich musste ich mir auch noch die iPhone-App kaufen, die Senderliste mittels der URL importieren (auf dem Smartphone funktioniert es!) und diese dann mittels Fast Load (YouTube-Anleitung) auf den Apple TV pushen.

Seither funktioniert alles Bestens und ich kann mit der App jeden Sender schauen.

Vorteile: Sender-Logos der bekannten (und von TV7 „richtig“ benannten TV-Sendern) werden erkannt, heruntergeladen und angezeigt. Auch holt sich die App von irgendwo aus dem Internet den EPG und zeigt diesen — falls für den Sender verfügbar — automatisch an.

Nachteil: Ändert TV7 dereinst die IPs oder Ports seiner Sender, muss ich das ganze Import und Fast Load-Prozedere erneut durchkauen — und alle Favoriten neu setzen.

GSE SMART IPTV

Apple App Store Link, Letztes Update: 21. Mai 2018, Kaufpreis: Gratis (limitierte Version; mit In-App-Käufen aufrüstbar — oder direkt für $4.99 als Pro-Version kaufen)

Die App sieht schlicht zum Kotzen aus — als hätte sie ein junger, pickliger Bill Gates im Hinterhof zusammengeschustert. Ein solches GUI würde man am ehesten in einer H4x0r/Cracker-Schattenwelt erwarten.

So hässlich die Applikation daherkommt — es war die einzige, die mit dem M3U-Direktlink auf Anhieb funktionierte. Und: Sie erlaubt es sogar, Streams direkt auf den Apple TV aufzunehmen, falls der freien Festplattenplatz aufweist.

TV Streams

Apple App Store Link, Letztes Update: 17. Mai 2018, Kaufpreis: $2.99, Offizielle Homepage

NOCH NICHT AUSPROBIERT

Video-Tutorial, um M3U-Listen hinzuzufügen

Links

Tags: , , , , , ,
Labels: Apple, IT, Linux, Medien, Schweiz

1 Kommentar | neuen Kommentar verfassen

Mittwoch, 23. Mai 2018

Init7 TV7: Installation mit einem Turris Omnia-Router

Gestern liessen Fredy Künzler und seine Init7 die Überraschungsbombe platzen: Ab sofort gibt es TV7, das IPTV-Angebot des ISPs, für alle Fiber7-Kunden kostenlos zum spotgünstigen, symmetrischen 1 Gbit/s Internetabo hinzu:

Medienmitteilung vom 22. Mai 2018

Das bedeutet, dass ich nun über eine 1 GBit/s-Leitung feinste, unkomprimierte HD-Streams aller hierzulande gängigen und einiger eher exotischer Sender empfangen kann — derzeit 215 an der Zahl.

Wieso gerade jetzt? Aus meiner Sicht aus zwei Gründen: Erstens steht die Fussball-WM 2018 vor der Tür, wo man mit einem unkomprimierten Multicast-Stream die Überlegenheit über die Konkurrenz demonstrieren kann (fünf Sekunden vor dem Nachbarn das entscheidende Goal im Final sehen? Check.). Andererseits, weil Salt kürzlich mit seinem (geschwindigkeitstechnisch fragwürdigen) Fiber-Angebot Furore in den Medien gemacht hat, und dort auch IPTV draufpackt (inkl. schicker Integration in iOS).

Installation

Am Abend zog ich zu Hause die Bastelhandschuhe an und machte mich daran, die von TV7 ausgesendeten UDP Multicast-Streams über meinen Router ins interne Netzwerk zu transportieren.

Dank der vom ISP netterweise verfassten Anleitung für den Fiber7-Router meiner Wahl, den Turris Omnia, war das ein Klacks:

Anleitung Fiber7 TV7

Kurz zusammengefasst:

  1. In LuCI einloggen und unter System > Software das Softwarepaket igmpproxy installieren. Hierzu musste ich zuerst einmalig Update lists anklicken, und danach in das Suchfeld Filter den Namen des Pakets eingeben. Noch Find Package klicken und dann in der linken Spalte den Link Install anwählen.
  2. Per SSH auf die Kommandozeile des Routers einloggen und die Konfigurationsdatei unter /etc/config/igmpproxy anpassen (s. unten). Daraus wird dann /var/etc/igmpproxy.conf generiert
  3. In LuCI unter System > Startup igmpproxy auf enabled schalten und einmal start (resp. bei mehrmaligen Versuchen restart) drücken
  4. Per SSH auf der Kommandozeile des Routers mittels ps | grep -i igmp überprüfen, dass der Prozess läuft:
     6728 root       804 S    /usr/sbin/igmpproxy /var/etc/igmpproxy.conf

/etc/config/igmpproxy

config igmpproxy
	option quickleave 1

config phyint wan
	option network wan
	option direction upstream
	list altnet 0.0.0.0/0

config phyint lan
	option network lan
	option direction downstream

Init7 empfiehlt einen Reboot, welchen ich schlussendlich doch noch durchgeführt habe, aber nur, weil etwas mit dem Test-Stream (s. unten) nicht funktioniert hat. Ich kann mir vorstellen, dass der Router Multicast auch ohne Reboot hinkriegt, lasse mir aber gerne das Gegenteil bestätigen.

Test

Um möglichst viele potentiell störenden Parameter auszuschliessen, schloss ich mein MacBook 12″ mittels eines USB-C-auf-Ethernet-Adapters direkt an einen Ethernet-Port des Routers an. So schliesse ich aus, dass Switches zwischen dem Endgerät und dem Router Multicast vermüeseln (mein 8-Port UniFi- und mein 16-Port TP-LINK Gigabit-Switch funktionieren tadellos, ohne irgendwelche Konfiguration).

Anschliessend wollte ich den Empfang mit dem im FAQ-Artikel „Kann ich vorab testen, ob mein Router TV7 (Multicast) unterstützt?“ verlinkten Stream auf den Big Buck Bunny (Bedeutung) testen. Doch leider kriege ich diesen Stream bis heute nicht zu laufen — weshalb ich gestern zuerst auf ein Konfigurationsproblem tippte und deshalb den Router doch noch einem Kaltstart unterzog (ich bin mir fast sicher, dass das nicht nötig gewesen wäre).

image-7881

Nachdem ich mir sicher war, dass igmpproxy sauber läuft, entschloss ich mich schlussendlich, einfach die im FAQ-Artikel „Kann ich TV7 auch auf anderen Geräten als Apple TV anschauen?“ erwähnte M3U-Datei herunterzuladen und in VLC 3.0.2 zu öffnen. Und siehe da: Wenige Sekunden später, nach nicht einmal 30 Minuten Installationsdauer, sah ich die Tagesschau gestochen scharf in höchster Auflösung auf dem Retina-Display meines MacBooks entgegenflimmern:

image-7882

Tags: , , , , , , , , , , , ,
Labels: IT, Linux, Medien

1 Kommentar | neuen Kommentar verfassen

Samstag, 14. April 2018

Ein Backup oder eine alte Version einer Ubiquiti Edgerouter-Konfiguration einspielen

Ich habe bei Bekannten derzeit je ein Ubiquiti Edgerouter X in Betrieb, welche als Router an einem Kabelmodem angeschlossen sind.

Die Router habe ich so konfiguriert, dass sie bei jeder Aktualisierung der Konfiguration über das Web-GUI resp. das CLI ein Backup der vorherigen Konfiguration per TFTP auf einen Linux-Laptop im lokalen Netz ablegen. Dies mit der folgenden Konfiguration:

...
system {
    config-management {
        commit-archive {
            location tftp://10.1.2.3/
        }
        commit-revisions 10
    }
...
}
...

Gestern trat der Notfall ein, dass ich einen der Router komplett zurücksetzen musste und danach eine ältere Version der Konfiguration einspielen wollte.

Dies ist recht trivial: Auf dem Linux-Laptop, auf welchem die Konfiguration versioniert ist, kopiert man das Backup folgendermassen auf den auf Fabrikzustand zurückgesetzten Router:

$ scp config.boot-ROUTER.20180413_133604 ubnt@10.1.2.1:/config

Das Kennwort lautet ubnt und sollte in der so übermittelten Konfiguration zwingend angepasst werden.

Anschliessend verbindet man sich per SSH mit dem Router und führt folgende Befehle aus (compare ist nicht nötig, zeigt aber schön auf, welche Anpassungen zur derzeit aktiven Konfiguration vorgenommen werden):

$ configure
$ load /config/config.boot-ROUTER.20180413_133604
$ commit
[$ compare]
$ save

Quelle: Re: Swap X-SFP to Pro8 – can we upload config.boot from X-SFP?

Siehe auch: EdgeRouter – Archiving and Managing the Configuration Files — Saving and Loading Backup Configurations

Tags: , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 24. März 2018

ABBYY FineReader Pro for Mac meldet „Internal program error: Src/DefaultFontMetrics.cpp, 56“

Ich schwöre auf die Digitalisierung von Dokumenten und verwende dazu einen Fujitsu ScanSnap iX500 (teuer, aber jeden Rappen wert) zusammen mit einer separat gekauften Volllizenz von ABBYY FineReader Pro for Mac, um die gescannten Dokumente auf Knopfdruck durchsuchbar zu machen.

Leider habe ich seit dem Umstieg auf einen iMac 27 Zoll (Late 2015) mit macOS High Sierra das Problem, dass mich der FineReader fast bei jedem Texterkennungsvorgang mit der folgenden Fehlermeldung nervt:

image-7826

Mein Workaround: Mittels Klick auf das „Read“-Icon die Texterkennung erneut starten. Manchmal reicht ein Klick, manchmal muss ich die Texterkennung bis vier Mal ankicken, bis die Software durchläuft.

Was manchmal auch hilft: Die Seiten rearrangieren respektive unnötige (leere) Seiten löschen.

Ich habe nun Mal beim Hersteller angefragt, was das Problem sein könnte und wie man es ein für allemal wegbringt.

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 22. März 2018

Ubiquiti Edgerouter und DynDNS hinter einem doppelten NAT

Kürzlich musste ich einen Ubiquiti Edgerouter ER-X temporär hinter einem doppelten NAT betreiben (dass das nicht optimal sein kann, weiss ja wohl jeder).

Obwohl DynDNS auf dem Edgerouter konfiguriert war, um den statischen Hostnamen mit der jeweils aktuellen dynamischen IP anzupassen, funktionierte dies in einer solchen Konfiguration nicht mehr: Der Router meldete seine private IP-Adresse (192.168.0.X) am WAN-Port an DynDNS, was natürlich nicht funktionieren kann.

Damit der Edgerouter in solchen Situationen zuverlässig die öffentliche IP-Adresse des Anschlusses verwendet, muss über das GUI unter Config Tree > service > dns > dynamic > interface > eth0 des Routers das Attribut web mit dem Wert dyndns ergänzt werden:

image-7799

Damit ist sichergestellt, dass der Router nicht die IP seines eth0-Interfaces zurückmeldet, sondern über den Web-Service von DynDNS seine öffentliche IP anfragt.

Wer das CLI bevorzugt:

$ configure
# set service dns dynamic interface eth0 web dyndns
# commit
# save

Quelle: Dynamic DNS behind double NAT?

Tags: , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 22. März 2018

Wo unterhält Fiber7 in Bern POPs?

Auch hier ist Init7 sehr transparent:

Unsere Fiber7 PoPs

In Bern sind dies aktuell (März 2017):

image-7790

  • 640BOL – Bollwerk
  • 640BRE – Breitenrain
  • 640BUE – Bümpliz
  • 640BUZ – Burgernziel
  • 640BEM – Mattenhof
  • 640KOE – Köniz
  • 640LAG – Länggasse
  • 640WAB – Wabern
  • 640WEH – Weissenbühl

Der POP 640NIE (Niederwangen) ist noch ausgegraut.

Tags: , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 22. März 2018

Egal was, kauft einfach keine Tintenpisser

(fürs Briefe drucken)

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 7. März 2018

Folien meines Lightning Talks zum Thema „RPi Dashboard“ (Backup)

Da letzte Woche die Web-Site der bernischen Lightning Talks offline gegangen ist, habe ich mich entschieden, den Foliensatz meines Vortrages vom 17. März 2014 auf meinem Blog zu Archivzwecken aufzuschalten:

2014-03-14-dashboard-lightning-talk.pdf

Tags: , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen