Das voluminöse Aluminium-Case im Standard-ATX-Format bietet Platz für maximal sieben PCI-Karten, zwei 3,5''-Festplatten und ein 5 1/4''-Laufwerk. In der Front sitzt bei mir ein (optional erhältliches) Modul mit VFD-Display und IR-Empfänger, dazu gehört eine Infrarot-Fernbedienung. Das Modul wird an die internen USB-Steckerleiste des Motherboards angeschlossen.
Unter dem (transparenten) Start-Knopf der Fernbedienung klebt normalerweise ein kleines Windows-Logo. Als VDR-Nutzer konnte ich dies natürlich nicht so lassen und habe den Aufkleber gegen ein Linux-Logo ausgetauscht.
Am Markt gibt es zwar eine ganze Reihe von Mini ITX-Gehäusen für Wohnzimmer-PCs. Allerdings haben diese einige Nachteile: Mini ITX-Mainboards besitzen standardmäßig (also ohne Riser Card usw.) nur einen PCI-Slot, der teilweise nur mit Karten halber Bauhöhe bestückt werden kann, die Gehäuse bieten in aller Regel nur Platz für maximal eine 3,5''-Festplatte (teilweise nur eine 2,5''-Platte). Ein weiteres Problem ist die Wärmeabfuhr aus dem engen Gehäuse. Und nicht zuletzt sind die ITX-Mainboards verhältnismäßig teuer.
Im Allgemeinen wird für die DVB-Wiedergabe unter Linux eine Full-Featured-Karte (mit Hardware-MPEG-Decoder und TV-Ausgang) empfohlen. Da ich weder Hardware-MPEG-Decoder noch TV-Ausgang benötige und Budget-Karten i.A. um einiges billiger als Full-Featured-Karten sind, habe ich mich gegen eine Full-Featured-Karte entschieden. Hat man nun keine Full-Featured-DVB-Karte und auch keine Grafikkarte mit TV-Ausgang zur Verfügung, bleibt für die Video-Ausgabe nur mehr der Monitor-Ausgang übrig. Da ich allerdings ohnehin keinen TV, sondern einen "normalen" Computer-Monitor verwende, spielt diese Einschränung keine Rolle.
Ohne Full-Featured-Karte oder sonstige Hardware-Unterstützung muss der Prozessor den MPEG-Datenstrom selbst decodieren. Empfohlen wird in diesem Fall ein Prozessor mit mindestens 1 GHz (ohne HDTV).
nv ist die Darstellung von DVB-T ruckelfrei und erzeugt eine CPU-Last von ca. 40%.nvidia) würde wohl auch XvMC (XVideo Motion Compensation, eine einfache Hardware-Unterstützung für die Decodierung von MPEG-Daten) unterstützen. Da ich aber sowohl mit Closed-Source-Treibern als auch mit XvMC bisher nur schlechte Erfahrungen gemacht habe, verzichte ich lieber darauf.
Da Uneed wegen der optimalen Positionierung des Auswurf-Knopfes explizit ein CD/DVD-Laufwerk von LG empfiehlt, steckt in meinem Gerät ein schwarzes LG D8163B. Der saubere Einbau des Laufwerkes ins Gehäuse erfordert zwar etwas Geduld. Ist das Laufwerk aber erst mal an seiner genauen Position paßt es perfekt.
Die Grafik-Ausgabe erfolgt lokal unter X11 mit dem Xineliboutput-Plugin für den VDR über den Multimedia-Player Xine, genauer gesagt über dessen Multimedia-Bibliothek Xine-Lib (libxine1).
debian-503-i386-CD-1.iso auf CD brennen
/etc/apt/sources.list und /etc/apt/preferences anpassen
aptitude update && aptitude dist-upgrade
aptitude install Paketname nachinstallieren
/dev/hda1 1 GB - swap Virtueller Speicher /dev/hda2 10 GB / ext3 Installation 1 /dev/hda3 10 GB / ext3 Installation 2 (Test) /dev/hda4 Rest /var/lib/data ext3 DatenDamit habe ich die Möglichkeit, auf
/dev/hda2 und /dev/hda3 zwei getrennte Systeme zu installieren, was für Tests und zur Wiederherstellung einer zerschossenen Installation recht praktisch ist./dev/hda4. Um ein paar GB Platz zu sparen macht es für diese Partition Sinn, sie mit der Option -m 1 zu formatieren (siehe man mkfs.ext3).
Um ein minimales Debian-System zu erhalten, wird einfach im Dialog Softwareauswahl (nur) der Eintrag Standard-System ausgewählt.
Als Paket-Quellen verwende ich
/etc/apt/sources.list anzupassen. Die Reihenfolge der Zeilen sowie die Einträge in /etc/apt/preferences stellen sicher, dass die Pakete von e-tobi.net auch dann verwendet werden, wenn es in Debian Lenny eine neuere Version des selben Paketes geben sollte (siehe man apt_preferences).
Die Kommandos
linuxvdr:# aptitude update linuxvdr:# aptitude dist-upgradebringen Paket-Index und System auf den neuesten Software-Stand von Lenny. Danach werden die Schlüssel von e-tobi.net und debian-multimedia.org (zur Verifikation der Paket-Signaturen), X11 mit Xdm/Twm (einfacher X Display bzw. Window Manager), Alsa, VDR mit Xineliboutput-Plugin und dazugehörigen Paketen sowie einige praktische Tools installiert:
linuxvdr:# aptitude install e-tobi-keyring debian-multimedia-keyring linuxvdr:# aptitude install x-window-system-core x-window-system xserver-xorg xdm twm linuxvdr:# aptitude install alsa-utils linuxvdr:# aptitude install vdr vdr-plugin-xineliboutput libxine1-xvdr libxine1 libxineliboutput-sxfe linuxvdr:# aptitude install xine-ui linuxvdr:# aptitude install dvb-utils dvbstream linuxvdr:# aptitude install libdvdcss2 linuxvdr:# aptitude install w32codecs linuxvdr:# aptitude install vim unzip bzip2 hdparm hddtemp rsync openssh-server rcconf
xine-ui, das Standard-Frontend (User-Interface) von Xine, sowie die Pakete dvb-utils und dvbstream werden zwar nicht direkt für den VDR benötigt, eignen sich aber sehr gut zur Fehlersuche und für Tests von DVB. libdvdcss2 ist eine Bibliothek zur Wiedergabe von verschlüsselten DVDs. Details zur Technik und den rechtlichen Aspekten dieser Bibliothek findet man in der Wikipedia. w32codecs stellt der Xine-Lib zusätzliche Multimedia-Codecs in Form von Windows-Bibliotheken zur Verfügung.Nach Installation der neuen Pakete können ggf. nicht mehr benötigte Pakete gelöscht werden:
linuxvdr:# aptitude purge linux-image-2.6.26-1-686 linuxvdr:# aptitude purge lirc liblircclient0 linuxvdr:# aptitude purge vim-tinyVor dem Entfernen des laufenden Kernels muss das System ggf. mit dem neuen Kernel gebootet werden.
Folgende Kommandos verhindern, dass beim Systemstart ein fsck ausgeführt wird:
linuxvdr:# tune2fs -c 0 /dev/hda2 linuxvdr:# tune2fs -c 0 /dev/hda3 linuxvdr:# tune2fs -c 0 /dev/hda4 linuxvdr:# tune2fs -i 0 /dev/hda2 linuxvdr:# tune2fs -i 0 /dev/hda3 linuxvdr:# tune2fs -i 0 /dev/hda4Natürlich sollte man dann
fsck /dev/hdaX -- -f gelegentlich manuell starten.
/etc/X11/xorg.conf) sollten die Zeilen
Section "ServerFlags" Option "AllowMouseOpenFail" EndSectionnicht fehlen, ansonsten startet er nicht ohne Maus und Tastatur.
linuxvdr:# alsaconf linuxvdr:# alsamixer linuxvdr:# alsactl store
alsaconf richtet ALSA auf dem System ein. Auf meinem System wurde die Soundkarte automatisch erkannt. Die Dialoge sind weitgehend selbsterklärend, im Zweifel einfach die Standardeinstellungen beibehalten.
Der alsamixer hilft bei der Einstellung der gewünschten Lautstärke(n). alsactl store speichert die eingestellten Werte in die Datei /var/lib/alsa/asound.state. Der Inhalt der Datei ist recht selbsterklärend, die Master-Lautstärke wird z.B. im Bereich
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 63'
iface MIXER
name 'Master Playback Volume'
value.0 63
value.1 63
}
festgelegt. Nach einem Neustart des Systems werden diese Einstellungen nun automatisch gesetzt.
/dev/dvb/:
vdr:~# ls -l /dev/dvb/ insgesamt 0 drwxr-xr-x 2 root root 120 14. Sep 2009 adapter0 drwxr-xr-x 2 root root 140 14. Sep 2009 adapter1Kernel 2.6.26 hat die beiden Karten ohne weiteres Zutun erkannt.
Für die Zuordnung der beiden Frontends auf die DVB-Karten helfen die Meldungen in /var/log/syslog:
Sep 13 23:03:48 linuxvdr kernel: [ 11.379321] DVB: registering frontend 0 (Zarlink MT352 DVB-T)... ... Sep 13 23:03:48 linuxvdr kernel: [ 12.904878] DVB: registering frontend 1 (Philips TDA10023 DVB-C)...Frontend 0 ist also die Avermedia DVB-T-, Frontend 1 die Satelco-DVB-C-Karte.
Da VDR eine recht komplexe Software ist, sollte man sich vor dessen Konfiguration vergewissern, dass der DVB-Empfang auch wirklich funktioniert. Dies geht am einfachsten mit czap bzw. tzap und dvbstream.
Die Kommandos
linuxvdr:# mkdir -p ~/.tzap/ linuxvdr:# scan -a 0 /usr/share/dvb/dvb-t/de-Muenchen > ~/.tzap/channels.conf linuxvdr:# mkdir -p ~/.czap/ linuxvdr:# scan -a 1 /usr/share/dvb/dvb-c/de-Muenchen > ~/.czap/channels.confgenerieren, DVB-Empfang vorausgesetzt, je eine
channels.conf für czap und tzap. Vor dem Aufruf von scan muss VDR ggf. mit /etc/init.d/vdr stop beendet werden.
Sollte unter /usr/share/dvb/ keine passende Frequenztabelle auffindbar sein, findet man sie ggf. im Mercurial-Repository. Bei unvollständiger Frequenztabelle ist auch die damit generierte channels.conf nicht vollständig, allerdings reichen für die Empfangstests einige wenige Sender aus.
In der Datei ~/.tzap/channels.conf sollten nun alle gefundenen DVB-T-Sender eingetragen sein. Der Eintrag für den Sender VOX schaut z.B. so aus:
VOX:578000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:545:546:16418Mit
linuxvdr:# tzap -a 0 VOXwird die DVB-T-Karte (Frontend 0) auf den Sender VOX eingestellt. Die Video- und Audio-Daten lassen sich nun mit einem der beiden (z.B. in einer zweiten Shell) parallel zu startenden Kommandos
linuxvdr:# dvbstream -c 0 -o -ps 545 546 | xine stdin:/ linuxvdr:# dvbstream -c 0 -o -ps 545 546 > VOX_DVB-T.mpegmit Xine darstellen bzw. in eine MPEG-Datei ausgeben. Die Kommando-Parameter (Video- und Audio-PID) entnimmt man der entsprechende Zeile aus der
~/.tzap/channels.conf.
Entsprechendes gilt für VOX über DVB-C: PIDs aud dem Eintrag in der ~/.czap/channels.conf auslesen, Frontend 0 auf VOX stellen, parallel dazu MPEG-Stream abgreifen:
VOX:386000000:INVERSION_AUTO:6900000:FEC_NONE:QAM_64:167:136:12060
linuxvdr:# czap -a 1 VOX
linuxvdr:# dvbstream -c 1 -o -ps 167 136 > VOX_DVB-C.mpegAchtung: Die
channels.conf von tzap hat ein anderes Format als die vom VDR.
Ist bis hier alles OK geht's an die Konfiguration von VDR.
/var/lib/vdr/ und /etc/vdr/, VDR-Logmeldungen stehen standardmäßig in /var/log/syslog. In der Datei /etc/default/vdr können einige Start-Parameter für den VDR angepaßt werden. Ansonsten wird VDR bequem über das OSD konfiguriert. Dort kann man u.a. auch festlegen, dass VDR die Systemzeit über das DVB-Zeitsignal setzt.
channels.conf unter /var/lib/vdr/. Im einfachen Fall gibt es eine passende Vorlage im VDR-Wiki, z.B. für reines DVB-T.
Seit dem nachträglichen Einbau meiner DVB-C-Karte gestaltet sich die Kanalsuche allerdings etwas aufwändiger, insbesondere deshalb, weil mein DVB-C-Signal nicht von einem "normalen" Kabel-TV-Anbieter kommt, sondern aus einer Umsetz-Anlage, die DVB-S in DVB-C konvertiert.
Gestartet bin ich mit
linuxvdr:# echo ":DVB-T - scan" > /var/lib/vdr/channels.conf linuxvdr:# scan -a 0 -o vdr -e 6 /usr/share/dvb/dvb-t/de-Muenchen >> /var/lib/vdr/channels.conf linuxvdr:# echo ":DVB-C - scan" >> /var/lib/vdr/channels.conf linuxvdr:# scan -a 1 -o vdr -e 6 /usr/share/dvb/dvb-c/de-Muenchen >> /var/lib/vdr/channels.conf linuxvdr:# echo ":Von VDR erkannte Sender" >> /var/lib/vdr/channels.confDas Ergebnis ist sicher nicht vollständig, aber eine gute Ausgangsbasis. VDR findet später eigenständig weitere Sender, und nach einigen manuelle Anpassungen entsteht nach und nach eine brauchbare Senderliste (siehe
man 5 vdr).
Zur Kanalsuche eignet sich auch das Plugin vdr-plugin-wirbelscan.
Zum Ersten muss der User vdr auf die Audio- und Video-Devices sowie auf das CD/DVD-Laufwerk zugreifen können. Dazu wird er in die entsprechenden Gruppen (siehe /etc/group) aufgenommen:
linuxvdr:# usermod -G audio,video,cdrom vdrZum Zweiten muss dem Xineliboutput-Plugin (genauere Beschreibung siehe weiter unten) noch "mitgeteilt" werden, wo es das VDR-Bild ausgeben soll, und zwar lokal unter X11. Dazu dienen folgende Einträge in der Datei
/etc/vdr/plugins/plugin.xineliboutput.conf:
--local=sxfe --display=:0.0Der lokal laufende X-Server (Display 0) muss dann noch vom angemeldeten User für X-Verbindungen vom lokalen Rechner aus freigeschalten werden,
linuxvdr:$ xhost + local:erst dann kann der VDR von
root gestartet werden:
linuxvdr:# /etc/init.d/vdr start
/var/lib/vdr/remote.conf geschrieben (Zeilen beginnend mit XKeySym) und können dort bei Bedarf manuell nachbearbeitet werden.
aptitude search vdr-plugin an. Installiert werden die Plugins wie gewohnt mit aptitude install Plugin-Name. Konfiguriert werden sie über das OSD von VDR - diese Einstellungen werden dann in /var/lib/vdr/setup.conf abgelegt - oder in den Dateien unter /etc/vdr/plugins/.
Folgende Plugins habe ich aktuell in Verwendung:
vdr-plugin-xineliboutputvdr-plugin-mp3 oder vdr-plugin-image, erfüllt aber in der aktuellen Version meine Minimalanforderungen.
Zu Xineliboutput-Plugin gehören insgesamt sechs Debian-Binärpakete:
vdr-plugin-xineliboutput: Das eigentliche Plugin für den VDR. Ohne weitere Pakete kann das Plugin die VDR-Ausgabe nur übers Netz bereitstellen.
libxine1-xvdr: Stellt ein Plugin für die Xine-Lib libxine1 zur Verfügung, mit welchem die Ausgabe von vdr-plugin-xineliboutput decodiert und (über ein beliebiges Xine-Frontend) angezeigt werden kann, z.B. mit xine "xvdr://127.0.0.1#nocache;demux:mpeg_block".
libxineliboutput-fbfe: Dieses Paket stellt eine Bibliothek für vdr-plugin-xineliboutput zur lokalen Anzeige des VDR-Bildes über Framebuffer bereit (unter Verwendung von libxine1 mit libxine1-xvdr).
libxineliboutput-sxfe: Dieses Paket stellt eine Bibliothek für vdr-plugin-xineliboutput zur Ausgabe des VDR-Bildes auf einen X-Server bereit.
xineliboutput-fbfe: Stellt ein einfaches Xine-Frontend (vdr-fbfe) bereit, welches übers Netz auf einen VDR-Server mit installiertem vdr-plugin-xineliboutput-Plugin zugreift und das VDR-Bild dann am Client über Framebuffer anzeigt (z.B. mit vdr-fbfe "xvdr://10.9.8.7").
xineliboutput-sxfe: Entsprechend xineliboutput-fbfe, nur mit Ausgabe über X11 (vdr-sxfe).
/etc/vdr/plugins/plugin.xineliboutput.conf, wird neben einigen anderen Optionen festgelegt, welche Ausgabemöglichkeiten genutzt werden. Die Kommandos für die Tastatursteuerung werden in /var/lib/vdr/remote.conf abgelegt. Die Frontends haben ihrerseits eine eigene Konfigurationsdatei für die Xine-Lib, ~/.xine/config_xineliboutput.
Mit dem Plugin lassen sich übrigens auch Internet-Radio-Streams empfangen: Einfach eine Playlist-Datei, z.B. Deutschlandfunk.m3u, anlegen, die den Streaming-Link enthält:
http://dradio-ogg.t-bn.de/dlf_high.oggDie Playlist kann dann, Internet-Verbindung natürlich vorausgesetzt, wie gewohnt übers OSD angewählt und abgespielt werden.
vdr-plugin-osdteletextvdradmin-amvdradmin-am ist streng genommen kein Plugin, sondern ein zusätzlicher Daemon, der ein Web-Interface zur Fernsteuerung des VDRs übers Netz zur Verfügung stellt.vdradmin-am mit dem Kommando
linuxvdr:# vdradmind --configkonfiguriert. Ggf. sonst noch nötige Anpassungen kann man danach (bei gestoppten
vdradmind) per Texteditor direkt in der Datei /var/lib/vdradmin-am/vdradmind.conf oder später im entsprechenden Menü der Web-Oberfläche machen.
Der Eintrag
ENABLED="1"in der Datei
/etc/default/vdradmin-am aktiviert das Init-Skript. Wurden die Standardeinstellungen beibehalten, so ist das Web-Interface nach
linuxvdr:# /etc/init.d/vdradmin-am starterreichbar unter
http://VDR-IP-Adresse:8001/
linuxvdr:# cd /tmp/ linuxvdr:# wget http://www.irtrans.de/download/Server/Linux/irserver.tar.gz linuxvdr:# tar -xvzf irserver.tar.gz linuxvdr:# ./install.shunter
/usr/local/irtrans/. Im Unterverzeichnis remotes/ befinden sich die Definitionen der Tasten-Codes von verschiedenen Fernsteuerungen. Mit
linuxvdr:# cd /usr/local/irtrans/ linuxvdr:# ./irserver -debug_code -loglevel 4 /dev/ttyUSB0werden die von der IR-Fernsteuerung auf Tastendruck gesendeten Codes angezeigt, z.B.
7500c38011000000[0.0] ok mediacenter [0.0]: S11101010000000000011110000010000011101 39Die zweite Zeile entspricht einer nicht unter
remotes/ aufgelisteten Taste. Die angezeigten Daten können zur Ergänzung von fehlenden Tastatur-Codes unter remotes/ verwendet werden. Für die bei mir mitgelieferte Fernbedienung paßt die Konfigurationsdatei remotes/mediacenter.rem. Einige noch fehlende Tasten-Einträge habe ich dort manuell nachgetragen. Die Zeile für den obigen unbekannten Code lautet z.B.
[ast][T]0[D]S11101010000000000011110000010000011101Alternativ können die Codes auch automatisch mit dem Kommando
irclient in die Konfigurationsdatei eingetragen werden. Hier liegt meine Datei remotes/mediacenter.rem.
Der LIRC-kompatible Server wird mit
linuxvdr:# ./irserver -daemon /dev/ttyUSB0als Daemon gestartet. Mein Init-Skript
/etc/init.d/irserver gibt's hier.
Das Kommando
linuxvdr:# update-rc.d irserver start 10 2 3 4 5 . stop 30 0 1 6 .legt die Soft Links zum automatischen Starten des Skriptes beim Booten an.
Nach
linuxvdr:# /etc/init.d/irserver starterkennt (bzw. glaubt) VDR nun beim nächsten Start, dass LIRC läuft und springt ins Menü zum Lernen der Tasten-Codes für die IR-Fernbedienung. Auch diese Codes werden unter
/var/lib/vdr/remote.conf abgelegt (Zeilen beginnend mit LIRC).
Mit dem Kommando
linuxvdr:# /usr/local/irtrans/irclient 127.0.0.1 Optionenlassen sich weitere Funktionen des VFD-Modules steuern, insbesondere Text auf dem Display ausgeben oder die Willkommen-Meldung ändern. Die Dokumentation dazu finde ich ziemlich mager, hier hilft nur probieren.
Aktuell nutze ich das Display selbst noch nicht (es zeigt nur Datum und Uhrzeit an), da es mir ein Rätsel ist, wie ich den VDR dazu bringen soll, das Display über die IRTrans-Programme anzusteuern.
X4VDR, welches einen eigenen X-Server für den VDR ohne Display-Manager usw. startet. VDR kann darauf sein Bild im Vollbild-Modus ausgeben.
Der X-Server für den VDR startet nach
/etc/init.d/X4VDR startauf VT8/Display 1 (erreichbar mit
Strg-Alt-F8). Damit kollidiert er nicht mit einem ggf. ebenfalls laufenden X-Display Manager (hier Xdm), der standardmäßig auf VT7/Display 0 läuft.
Das Kommando
linuxvdr:# update-rc.d X4VDR start 19 2 3 4 5 . stop 21 0 1 6 .legt die Soft Links zum automatischen Starten des Skriptes beim Booten an.
Damit VDR von nun an auf seinem eigenen X-Server im Vollbild-Modus startet, ist noch die Datei /etc/vdr/plugins/plugin.xineliboutput.conf anzupassen:
--local=sxfe --fullscreen --display=:1.0Zusätzlich sind in der Datei
/var/lib/vdr/setup.conf (oder im dazugehörigen OSD-Menü) mindestens folgende Einträge sinnvoll:
xineliboutput.Video.Deinterlace = linearblend xineliboutput.Video.Scale = 1Das Plugin stellt hier ziemlich viele Einstellmöglichkeiten bereit, ggf. machen noch weitere Anpassungen Sinn.
Nach einem /etc/init.d/vdr restart sollte der VDR nun auf VT8 erscheinen.
/etc/rc?.d/ gelöscht werden. Dies erledigt unter Debian standardmäßig das Paket rcconf. Nach Aufruf des Kommandos
rcconferscheint die Liste aller auf dem Rechner installierten Dienste. Diese lassen sich dort mittels Leertaste an-
[*] oder ausschalten [ ]. Bei meiner Installation habe ich nur xdm und exim4 deaktiviert.
Mit /etc/init.d/Init-Skript start kann der Dienst bei Bedarf nachträglich gestartet werden.
Die Start-Links können natürlich auch manuell gelöscht werden. Allerdings sollte man sich für eine der beiden Möglichkeiten entscheiden, ansonsten kommt rcconf durcheinander (siehe man rcconf).
Ein paar weitere Sekunden lassen sich durch die Reduktion des Timeouts für das GRUB-Menü sparen (Datei /boot/grub/menu.lst):
timeout 2
irserver) mit irclient programmiert werden:
linuxvdr:# cd /usr/local/irtrans/
linuxvdr:# ./irclient localhost
1 - Send
2 - Learn
3 - Status
99 - Exit
Select command 3
0 Device(s) Found:
99 - Exit
Select command 0
Device [0]:
Repeat Mask: o o o o o o o x x o o o o o o o
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Device Mode Send [20]: x
IR [21]: x
SBUS [22]: x
IR RemoteCtrl [23]: x
SBUS RemoteCtrl [24]: x
RAW [25]: o
Fast Mode [26]: o
SBUS send Repeat [27]: x
PowerOn Remote [40]: .04.30
PowerOn Command [41]:
Cancel [88]
Save & Exit [99]
Select command 40
Enter PowerOn Remote: mediacenter
Device [0]:
Repeat Mask: o o o o o o o x x o o o o o o o
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Device Mode Send [20]: x
IR [21]: x
SBUS [22]: x
IR RemoteCtrl [23]: x
SBUS RemoteCtrl [24]: x
RAW [25]: o
Fast Mode [26]: o
SBUS send Repeat [27]: x
PowerOn Remote [40]: mediacenter
PowerOn Command [41]:
Cancel [88]
Save & Exit [99]
Select command 41
Enter PowerOn Command: power
Device [0]:
Repeat Mask: o o o o o o o x x o o o o o o o
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Device Mode Send [20]: x
IR [21]: x
SBUS [22]: x
IR RemoteCtrl [23]: x
SBUS RemoteCtrl [24]: x
RAW [25]: o
Fast Mode [26]: o
SBUS send Repeat [27]: x
PowerOn Remote [40]: mediacenter
PowerOn Command [41]: power
Cancel [88]
Save & Exit [99]
Select command 99
1 - Send
2 - Learn
3 - Status
99 - Exit
Select command 99
mediacenter benennt die Datei remotes/mediacenter.rem mit den Fernbedienungs-Codes, power den Namen der Taste aus dieser Datei (siehe oben), über welche der Rechner eingeschalten werden soll.
Nach diesen Einstellungen kann der Rechner per Fernbedienung eingeschalten werden. Allerdings bleibt noch ein kleines Problem: Beim Drücken des Power-Knopfes der Fernbedienung schaltet der ACPI-Daemon den Rechner ohne Vorwarnung sofort aus. Dagegen hilft:
aptitude purge acpid acpi-support-base
Mein Motherboard wird von nvram-wakeup direkt unterstützt, die Installation gestaltet sich daher relativ einfach:
linuxvdr:# aptitude install nvram-wakeup linuxvdr:# modprobe nvram linuxvdr:# echo nvram >> /etc/modulesZum Übernehmen der neuen Zeit-Einstellungen benötigt das BIOS einen Reboot, daher sind in der Datei
/boot/grub/menu.lst noch die Einträge
# Menueeintrag aus /boot/grub/default starten default saved # Menueeintrag zum Herunterfahren title Ausschalten root (hd0,2) savedefault 0 cat /boot/grub/PoweroffSplash haltzu machen, in
/etc/vdr/vdr-nvram-wakeup.conf die Einträge
ENABLED="yes" SPECIALSHUTDOWN="echo y | grub-reboot 3"Die
3 bezeichnet die Stelle des Menüeintrages Ausschalten im GRUB-Bootmenü.
grub-reboot funktioniert mit VDR allerdings erst nach folgender Änderung:
linuxvdr:# diff /usr/sbin/grub-reboot /usr/sbin/grub-reboot.orig 1c1 < #!/bin/bash -p --- > #!/bin/bash -eDie Zeile
cat /boot/grub/PoweroffSplash verzögert das Ausschalten des Rechners um einige Sekunden. Diese Zeit benötigt meine Hardware, um den hier beschriebenen Fehler zu umgehen. /boot/grub/PoweroffSplash ist eine beliebige ca. 200kB-große Textdatei.
Die Installation ist grob unter linwiki.org beschrieben, übertragen auf Debian Lenny schaut sie so aus:
linuxvdr:# aptitude install wpasupplicant linuxvdr:# aptitude install wireless-tools linuxvdr:# aptitude install ndiswrapper-source ndiswrapper-utils-1.9 linuxvdr:# module-assistant update linuxvdr:# module-assistant prepare linuxvdr:# module-assistant auto-install ndiswrapper linuxvdr:# modprobe ndiswrapper linuxvdr:# echo ndiswrapper >> /etc/modulesNach diesen Schritten sollten WPA Supplicant für die WPA/WPA2-Verschlüsselung sowie das Kernel-Modul und die Werkzeuge zur Konfiguration von Ndiswrapper bereit stehen. Es fehlen noch die Windows-Treiber. Um an diese zu kommen installiert man das Paket von ftp.netgear.de auf einem Windows-Rechner und übernimmt dann die vier Dateien
WG311v3.cat
WG311v3.INF
WG311v3.sys
WG311v3XP.sys
C:\windows\inf\WG311v3\ auf den VDR-Rechner. Dort werden die Treiber dann mit
linuxvdr:# ndiswrapper -i WG311v3.INFvom Ndiswrapper übernommen. Wenn alles gut gegangen ist, zeigt
ndiswrapper -l nun an, dass Karte und Treiber installiert sind. Spätestens nach einem Reboot sollte das Interface wlan0 nun verfügbar sein./etc/network/interfaces:
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "KlartextSSID"
wpa-psk 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
wpa-key-mgmt WPA-PSK
wpa-proto WPA
Die Zeichenfolge 012345...abcdef gibt das Kommando
linuxvdr:# wpa_passphrase KlartextSSID 'KlartextPassphrase'aus. Um zu verhindern, dass der VDR bei ausgeschaltenem WLAN-Router zu lange auf eine Antwort vom DHCP wartet, habe ich noch den Timeout in
/etc/dhcp3/dhclient.conf verringert:
timeout 5; retry 60;
linuxvdr:# aptitude install nfs-kernel-serverIn der Datei
/etc/exports wird dann das gewünschte Verzeichnis /var/lib/data mit folgender Zeile für das lokale Netz (z.B. 192.168.1.0/255.255.255.0) freigegeben:
/var/lib/data lokales Netz/Netzmaske(rw,insecure,no_subtree_check)Nach
linuxvdr:# exportfs -aoder einem Reboot ist das Verzeichnis übers Netz erreichbar.
Client-seitig gibt es mehrere Möglichkeiten, auf das freigegebene Verzeichnis zuzugreifen. Ich bevorzuge das Eintragen in /etc/fstab:
VDR-IP-Adresse:/var/lib/data /linuxvdr/data nfs noauto,posix,intr,retry=10,tcp,soft,user,rw 0 0Nach
linuxvdr:# mkdir /linuxvdr/datakann das NFS-Verzeichnis dann mit
nfsclient:$ mount /linuxvdr/data/lokal eingehängt werden.
Unter KDE 3 läßt sich das Ganze recht einfach grafisch erledigen:
Neu erstellenVerknüpfung zu GerätNFS ...
Gerät den entsprechenden Eintrag aus /etc/fstab auswählen:VDR-IP-Adresse:/var/lib/data
grub-splashimages enthalten. Um eine der Grafiken einzubinden reicht folgende Zeile in /boot/grub/menu.lst:
splashimage=(hd0,1)/boot/grub/splashimages/debblue.xpm.gz
splashy.
aptitude install splashy splashy-themesIn der Datei
/boot/grub/menu.lst müssen dem Kernel dann noch folgende Boot-Optionen mitgegeben werden (in der Zeile beginnend mit kernel):
vga=0x318 quiet splashNach dem nächsten Reboot sollte dann ein hübscher Linux-Pinguin die uncoolen Boot-Meldungen überdecken. Durch Drücken der
Escape-Taste verschwindet er bei Bedarf wieder.
powertweak, hddtemp, hdparm, blktool. V.a. hdparm sollte mit Vorsicht eingesetzt werden (siehe Manpage).
Temperatur der Festplatte anzeigen:
linuxvdr:# hddtemp /dev/hda /dev/hda: SAMSUNG SP1604N: 29°C
CDROM herunterregeln:
linuxvdr:# hdparm -EFestplatte stoppen (Stromsparmodus):
linuxvdr:# hdparm -y /dev/hdaSiehe auch
-Y (Schlafmodus), -S (Standby Timeout), -M (Automatic Acoustic Management), Status abfragen mit -C.
iconv (für die Konvertierung von Textdateien) und convmv (für die Konvertierung von Dateinamen) hilfreich, z.B.:
linuxvdr:# cd /var/lib/vdr/ linuxvdr:# cp -a channels.conf channels.conf.pre-utf8 linuxvdr:# iconv -f latin1 -t utf-8 channels.conf.pre-utf8 > channels.confund
linuxvdr:# aptitude install convmv linuxvdr:# cd /var/lib/video.00/ linuxvdr:# convmv --notest -r -f latin1 -t utf-8 .Die EPG-Daten der Aufzeichnungen in der Datei
info.vdr in den Aufnahme-Verzeichnissen lassen sich auch mit iconv wie oben beschrieben nach UTF-8 konvertieren, z.B. mit:
linuxvdr:# cd /var/lib/video.00/ linuxvdr:# for i in `find . -name info.vdr` ; do cp -a $i $i.pre-utf8 && iconv -f latin1 -t utf-8 $i.pre-utf8 > $i && rm $i.pre-utf8 ; done
rsync ungemein. Der Aufruf
rsync --archive --delete /srcpath/rsyncsrc/ /dstpath/rsyncdst/synchronisiert den Inhalt des Verzeichnisses
/srcpath/rsyncsrc/ (Slash am Ende nicht vergessen!) nach /dstpath/rsyncdst/. Wirkt Wunder bei meiner lahmen USB 1.1-Schnittstelle.
vdr-plugin-xineliboutput hat für die Wiedergabe von MP3s und Bildern noch nicht den Funktionsumfang der entsprechenden Einzel-Plugins erreicht. Leider klappt auch die Zusammenarbeit mit vdr-plugin-image und vdr-plugin-mp3 nicht richtig.
Der Bildbetrachter von vdr-plugin-xineliboutput bzw. Xine-Lib arbeitet nicht sauber: die OSD-Infos verschwinden, das Bild flimmert leicht oder erscheint gar nicht. Bei größeren Bildern stürzt der VDR ab (ggf. dieser Bug).
Bis vor einiger Zeit hatte ich vdr-plugin-skinenigmang im Einsatz, welches dem OSD des VDRs ein cooles Look & Feel gibt und es um ein paar Zusatzinfos ergänzt. Allerdings scheint mir der VDR ohne die Verwendung von Skins etwas stabiler zu laufen, daher habe ich auf Skins wieder verzichtet.
Der Rechner ist noch nicht so leise, wie man es für einen Wohnzimmer-PC gerne hätte. Es scheint, als ob der Netzteil-Lüfter die lautesten Geräusche macht.
Das VFD-Display ist nicht in Verwendung (es zeigt nur Datum und Uhrzeit an).
vdr-plugin-xine/Xine auf vdr-plugin-xineliboutput/Xine-Lib.