Netceiver
Beschreibung
Vorwort: Diese Wiki-Seite befindet sich noch im Aufbau
Der Netceiver ist ein Hardwareprodukt erstellt von der Firma Baycom, vertrieben von Reel-Multimedia. Es stellt via IPV6-Multicast DVB-Daten über das Netzwerk bereit und wird vom VDR als Eingabedevice erkannt.
Der Netceiver hat drei Tunersteckplätze, es gibt DVB-S, DVB-S2, DVB-T und DVB-C Tuner, die DVB-S und DVB-S2 gibt es sogar als Dualtuner, so kann ein "Vollausbau" bis zu sechs Tuner beinhalten. Dank IPV6 und Multicast muss auf einem Client nur ein Kernelmodul sowie ein Dämon laufen.
Es gibt auch VDR-Plugins die aber erstmal nicht zwingend nötig sind, letztendlich sind die Plugins "nur" GUIs für die Kommandozeilentools netcvdiag und netcvupdate.
Anforderungen
Hardware
Netceiver
- Netceiver-Hauptplatine
- Tuner
- Netzteil und ggf. ein Gehäuse
- Hinweis: Ab Ende April soll es auch einen fertigen Netceiver mit Gehäuse und Netzteil direkt von Reel-Multimedia geben
Man kann sich auch einen Adapter basteln um ein herkömmliches ATX-Netzteil verwenden zu können. Dazu benötigt man auf der Netceiver-Seite einen Molex 26-48-1085 (3.96mm) und auf der ATX-Seite eine ATX-Buchse.
- Einkaufsliste bei Farnell mit Bestellnr.
- Molex Stecker Bestellnr.: 143161
- Molex Crimpkontakte: 1013097
- ATX-Buchse Bestellnr: 8116202 nicht bestätigt
- ATX-Buchse Crimpkontakte Bestellnr.: 8116067 nicht bestätigt
Die Netceiver-Stromversorgung kann aus dem Schaubild ersehen werden. Ihr benötigt vom ATX-Netzteil nur 12V, 5V, 3,3V und GND. Bedenkt bitte auch, das wenn Ihr ein ATX-Netzteil nur für den Netceiver verwenden wollt, an eurem ATX-Adapter Pin14 mit GND zu verbinden (am besten mit einem Schalter). Normalerweise regelt nämlich ein Motherboard den Schaltzustand, da Ihr aber nur einen Netceiver betreibt, fehlt diese "Logik".
Clients
- min. 100Mbit Netzwerk besser 1GBit.
- VDR oder eine andere unter Linux lauffähige DVB-Software.
sonstiges
- Switch; empfehlenswert ist ein 1Gbit switch bspw. Linksys SLM2005 oder SLM2008
Software
Die Softwareanforderungen sind relativ gering. Neben eines Kernelmoduls ist nur noch ein Dämon nötig und natürlich eine DVB-Kompatible Software wie der VDR.
- VDR oder eine andere unter Linux lauffähige DVB-Software.
- Kernelmodul: dvbloop.ko
- Kernelmodul: ipv6.ko
- Dämon: mcli
VDR
- EPGSCAN sollte abgeschaltet sein, da der VDR die unangenehme Eigenschaft hat, sich alle nutzbaren Tuner zu "krallen". Wer mehr als ein Client hat, wird probleme bekommen.
- Ein beliebiges Ausgabedevice sollte vorhanden sein (Xine, softdevice, FF-Karte etc)
Kernelmodul
Ältere Kernels
Die Original-Quellen des dvbloop-Modules kompilieren nur sauber auf Kernel-Versionen kleiner 2.6.26!
- Das Kernelmodul dvbloop.ko ist via Subversion hier zu bekommen:
svn co https://svn.baycom.de/repos/dvbloop/
Es wird außerdem der passende Linuxheader zum Kernel benötigt, nachdem die Software via Subversion geladen wurde, reichen folgende Befehle aus:
cd dvbloop make KDIR=/usr/src/linux make install depmod -ae
Beachtet bitte, das Ihr die Linuxheader passend zum euren Kernel installiert habt und vor dem kompilieren des dvbloop-Modules im Kernelheader-Verzeichnis ein "make modules_prepare" ausführt.
Neue Kernels
Da die Original-Quellen nur auf alten Kernels (kleiner 2.6.26) durchkompilieren, muss man sich bei einer Distribution mit neuem Kernel anders behelfen. Zu allererst werden die aktuellen DVB-Treiber geladen:
hg clone http://mercurial.intuxication.org/hg/s2-liplianin
Nach dem Auschecken wird das dvbloop-Modul in das nun geladene Build-System für die Linux-DVB-Treiber "hineingepatcht". Den Patch gibt es hier: http://www.vdr-portal.de/board/thread.php?threadid=77725&page=22#post782320
gunzip dvbloop-s2api.patch.gz cd s2-liplianin patch -p1 < ../dvbloop-s2api.patch
Das Patchen der letzten Datei (ein Makefile) wird fehlschlagen. Diese Datei zuletzt manuell editieren. In die lange Zeile gehört ganz ans Ende ein "dvbloop/" angehängt, dass der neue Treiber mitkompiliert wird.
Nun wird mit "make" und "make install" alles kompiliert und installiert.
Dämon
Mcli ist der eigentliche Dämon, es gibt mcli für zwei verschiedene Libc Versionen
- für Libc-2.4 hier (bspw. Ubuntu 7x/8x, Debian Lenny etc):
svn co svn://reelbox.org/precompiled/
Nachdem ihr via Subversion die Daten geladen habt reicht ein
gunzip mcli.gz
- für Libc-2.3 (bspw Debian Etch) hier die statisch gelinkte Version:
http://www.baycom.de/download/netceiver/netceiver_tools_static_20081113.tgz
Per Default macht der mcli alle vorhandenen Tuner in der DVB-API sichtbar. Bei mehreren Clients sollte das etwas eingeschränkt werden. Mit den Kommandozeilenoptionen --dvb-s/--dvb-s2/--dvb-t/--dvb-c kann für jeden Tunertyp eine Maximalzahl angegeben werden. Da das DVB-API-Subsystem kein richtiges Hotplug beherrscht, sollte man die Anzahl der Tuner nicht verringern, wenn noch eine DVB-Anwendung läuft. Zuviel angelegte DVB-Geräte wird man am besten los, wenn das dvbloop-Modul entladen und neu geladen wird.
Optionale Pakete
Die Netcvtools bestehen aus zwei Programmen:
- netcvdiag: Kommandozeilentool, sehr hilfreich zur Diagnose
- libxml2 wird benötigt
- netcvupdate: Kommandozeilentool, ermöglicht es, Firmwareupdates zu installieren oder div. settings zu laden. Außerdem ist ein Neustart des Netceiver möglich
- tnftp wird benötigt (IPv6-fähiger FTP-Client)
Die Netcvtools gibt es hier
svn co svn://reelbox.org/precompiled/
Die beiden Programme netcvupdate und netcvdiag müssen via gunzip entpackt werden. Statisch gelinkte Versionen sind in dem oben angegebenen mcli-Paket ebenfalls enthalten.
Stromverbrauch
Aus dem Reelbox-Forum kamen folgende Werten:
5V max 1.5A, typisch ohne CAMs eher 0.5A = 2,5W - 7,5W 3.3V max 6A (bei Twin-DVB-S2, sonst eher max. 3A) = 9,9W - 19,8W 12V max 6A (bei 400mA pro LNB) = 38,4W - 72W Gesamt = 50,8W - 99,3W
Diese Maximalwerte kann man im Normalbetrieb aber eigentlich nicht erreichen. Mit 6 aktivierten S2-Tunern (3*Twin-S2), 5 an einem Multiswitch und einer an Rotor+Einzel-LNB liegt der Verbrauch mit Rotorbewegung bei ca. 35W. Ein wesentlicher Anteil des Verbrauchs entsteht durch die LNB/Rotorversorgung. Ein Multiswitch-Port benötigt ca. 0.5-1.5W, ein Single-LNB schon ca. 4-6W.
Die Tuner werden nach 30min. teilweise abgeschaltet, sofern sie nicht verwendet werden. Der Ruheverbrauch liegt dann je nach Tunertyp und Anzahl bei ca. 8-14W für den gesamten NetCeiver.
Distributionen
Es gibt derzeit drei Distributionen, bei der der Netceiver out-of-the-box läuft. Als da wären:
- Easy-vdr: eine sehr schöne Distribution die auch bzw. gerade für Anfänger geeignet ist.
- MLD (pre-alpha): das MiniDVBLinux ist eine Mini Distribution. Mini ist jedoch nur die größe (Download knapp 9MB) dahinter steckt aber eine vollwertige Distribution, die Netceiverunterstützung wird gerade getestet und ist pre-alpha.
- Reel-VDR: Distribution der Firma Reel-Multimedia, konzipiert für die Reelbox-Avantgarde.
FAQ
Welche IP-Adresse hat der Netceiver?
Keine, der Netceiver ist ein "IPv6-Multicastserver" der seine Daten ins Netz "streamt", dadurch -und mithilfe div. Software- ist es unnötig, eine IPv4-Adresse zu vergeben. Damit ist keine manuelle Eingabe oder DHCP notwendig. Allerdings hat der NetCeiver immer eine IPv6-Adresse, diese wird aber den IPv6-Regeln nach automatisch aus der Ethernet-MAC und dem Link-Prefix gebildet. Die IPv6-Adresse ist bei "netcvdiag" die ausgegebene UUID.
Kann ich den Netceiver außerhalb einer AVG der Firma Reel-Multimedia betreiben?
Natürlich ist das möglich, man sollte möglichst einen "managbare" Gigabit-switch verwenden, zu empfehlen wäre der Linksys SLM2005 bzw. SLM2008
Muss es unbedingt ein Switch von Linksys SLM2005 bzw. SLM2008 sein?
Dazu zitiere ich Deti aus dem Reel-Forum:
Das Hauptproblem bei vielen nicht-managebaren Switches ist, dass die maximal nutzbare Multicastbandbreite auf 10% der Portbandbreite festgelegt wird. So stehen bei einem GE-Port lediglich 100Mbit/s für DVB via NetCeiver zur Verfügung. Das ist in der Regel kein Problem, sofern nicht alle 6 Tuner eines NetCeivers gleichzeitig ihren kompletten Transportdatenstrom ins Netz streamen. Daraus lassen sich nun für eine Switchkaufentscheidung folgende Schlüsse ziehen:
- Wer nur einen NetCeiver mit maximal 3 Tunern betreibt, kommt mit einem günstigen Miniswitch wie z.B. 3COM 3CGSU08-ME problemlos aus.
- Wer mehr als 3 Tuner oder gar mehr als einen NetCeiver betreibt, benötigt einen managebaren GE-Switch mit MLD-V2 Snooping und konfigurierbarer Multicast Bandbreite. Geeignete Produkte gibt es z.B. von Cisco oder HP.
Das Limit von 3 Tunern errechnet sich aus aus der Bandbreite von ca. 30Mbit/s pro DVB-S Transponder.
Um Fragen vorzubeugen: Der NetCeiver kann auch vollbestückt mit 6 Tunern an einem Miniswitch funktionieren, jedoch nur, wenn die resultierende Gesamtbandbreite < 90Mbit/s ist.
Beispiel: Der gleichzeitige Empfang von Das Erste, ZDF, RTL, Sat.1, Arte und Premiere 1 benötigt 6 Transponder und somit 6 Tuner, jedoch entsteht nur eine Gesamtbandbreite von ca. 45Mbit/s.
Der genannte Linksys-Switch ist nur eine Benutzerempfehlung, da dort das Preis/Leistungsverhältnis o.k. ist.
Ich habe den Netceiver ausgelagert, leider ist mein WLAN unbenutzbar, was kann ich dagegen machen?
Der Netceiver stellt seine Daten via Multicast zur Verfügung, Wlan ist leider nicht in der Lage diese "Flut" an Daten zu händeln (WLAN kann kein echtes Multicast). Das führt dazu, dass Wlan-Geräte nahezu unbedienbar werden. Lösen kann man das Problem am einfachsten, indem man für das WLAN Netz andere IP Adressen vervendet als für das verkabelten Netz.
Ein "grafisches" Beispiel könnte so aussehen:
Dach +--------------- Netceiver (Multicast) | | | +------------- PC 1 (192.168.0.x) | | +----------- PC 2 (192.168.0.x) | | | | | | +--------- Netclient (192.168.0.x) -------- 1.OG |switch| (Gigabit) -------- | | | -------- | |Router|----- WLAN (192.168.182.x) | -------- | +------- Internet -------- EG |switch| (Gigabit) -------- | | | +----------- Spielekonsole (192.168.0.x) +-------------- Reelbox (192.168.0.x)
Bei einer Fritzbox kann man das wie folgt im Webinterface einstellen: Auf Einstellungen -> System -> Netzwerk -> IP-Adressen -> Haken entfernen bei "Alle Computer befinden sich im selben IP-Netzwerk".
Woher bekomme ich eine aktuelle Firmware für den Netceiver?
Für Benutzer einer Reelbox AVG gibt es im OSD ein Menü für den Softwareupdate, alle anderen bedienen sich via subversion
svn co svn://reelbox.org/stable/packages/netceiver-firmware/ROOT/usr/share/reel/netcv/update netcv
die Firmware befindet sich nun im Verzeichnis ./netcv und ist gepackt.
Wie kann ich den Netceiver manuell aktualisieren
Möglichkeit 1) Seid Ihr Besitzer einer Reelbox AVG oder Ihr verwendet die Reel-VDR Distribution, könnt Ihr im OSD-Menü ein Firmwareupdate ausführen.
Möglichkeit 2) Wenn Ihr das Kommandozeilentool netcvupdate habt, müsst Ihr folgenden Befehl ausführen:
netcvupdate -A -X <updatefile> -R
Möglichkeit 3) SD-Karte ausbauen und unter Linux folgende Kommandos ausführen
tar xvfz netceiver_8AV.tgz #(Entpackt die Firmware) mkfs.vfat -I /dev/XXX #(DOS-FS als Superfloppy anlegen) XXX für den Mountpunkt vom Cardreader müsst Ihr selber raussuchen # mkfs.vfat ist nur beim ersten Mal notwendig! mkdir /sdcard #(Bastelmountpunkt) mount /dev/XXX /sdcard mkdir -p /sdcard/etc/rc.d mkdir /sdcard/netceivr.8AV cp fpga.bin image.bin /sdcard/netceivr.8AV cp S25mserv /sdcard/etc/rc.d umount /sdcard
Standardmäßig bootet der NetCeiver die grösste Versionsnummer (das xxx im netceivr.xxx-Ordner, xxx=Jahr-Monat-Tag, zB. 8AV=2008-10-31). Solange eine Netzwerkverbindung besteht, können die auf der Karte liegenden Versionen mit netcvupdate und den Optionen -L/-I/-E/-Z gelistet bzw. (de)aktiviert werden.