Hardware PC, PCI Card, Tablet
PC
IMHO the box must not have specific features. In my case it just had to have one free PCI slot (long).
PCI Card
I use a Technotrend S2300 Premium which I swapped from my broken PC. This card is a so called “full-featured” DVB-S card. These cards have a MPEG hardware decoder, which results in a minimal CPU load when recording. Nowadays a budget card should work just fine.
Tablet
As my tablet is quite often in the living room, it is used to run “VDR Manager”.
Linux-Server Side
Basesystem
Base installation was done via an USB stick with ubuntu-16.04.2-server-amd64.iso.
Driver
The DVB PCI card ist visible e.g. via lspci:
jojo:/root>>> lspci | grep Multi
11:0a.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
These are the related kernel modules:
jojo:/root>>> lsmod | grep dvb
dvb_ttpci 114688 8
saa7146_vv 69632 1 dvb_ttpci
ttpci_eeprom 16384 1 dvb_ttpci
saa7146 32768 2 saa7146_vv,dvb_ttpci
dvb_core 122880 2 dvb_ttpci,stv0299
This should work out of the box - but it didn’t. These error messages turned up in dmesg:
[ 26.651465] av7110 0000:11:0a.0: Direct firmware load for dvb-ttpci-01.fw failed with error -2
[ 26.651472] dvb-ttpc:i could not load firmware, file not found: dvb-ttpci-01.fw
[ 26.651660] dvb-ttpci: usually this should be in /usr/lib/hotplug/firmware or /lib/firmware
[ 26.651831] dvb-ttpci: and can be downloaded from http://www.linuxtv.org/download/dvb/firmware/
Google told me, that the missing firmware file should be contained in the package linux-firmware-nonfree. This package is no longer part of Ubuntu (licence problems) but I could find an suitable repository.
VDR
I do not want VDR to add new stations automatically. Instead I stripped the channels.conf heavily. Now only stations which are relevant for me are listed.
UpdateChannels = 3
Plugins
VDR provides a plugin-mechanism, which is fine for extending the functionality. As I wanted to use the Android app “VDR Manager” I needed the corresponding plugin on the server side. Unfortunately there is no such package in the Ubuntu repository:
jojo:/root>>> apt-cache search vdr | grep -i plugin | grep -i manag
At this point I purged all VDR related packages installed so far and added Andrey Pavlenko’s PPA to my system:
https://launchpad.net/~aap/+archive/ubuntu/vdr-testing?field.series_filter=xenial
The VDR is slightly newer (2.3 vs. 2.2) and there is vdr-plugin-vdrmanager. Installing was fine, everything started up, but no recording was possible.
I had to fix two things. First the /etc/vdr/channels.conf. This contained entries I wasn’t even able to read (cyrillic) not making for me. So I ran:
jojo:/root>>> w_scan -f s -s S19E2 > channels.conf
which generated a suitable channels.conf for ASTRA 19.2.
But when started, vdr signalled an error:
ERROR: no DiSEqC parameters found for channel 1 (tagesschau24)
I found in /etc/vdr/setup.conf:
DiSEqC = 1
So I had to change this to
DiSEqC = 0
as I do not have a Digital Satellite Equipment Control device.
Now EPG data was fetched and I could start a recording.
Shutdown + Wakeup
The new VDR box shall be able to wake up at an given point of time and start recording. I had this feature in my broken box, utilizing nvram-wakeup because back in 2005 a lot of buggy ACPI BIOS implementations were out, including mine. Now with the new box I wanted to use ACPI (nvram-wakeup is still available but there is no configuration available for the ThinkStation-BIOS).
Basics
This turned out to be not really straightforward. I wanted to utilize ACPI Wakeup from S5, but all testing and reconfiguring failed. More precisely: The box suspended fine, but woke up a few seconds later. I tested like so:
jojo:/root>>> rtcwake -m mem --date +5min # Suspend to RAM aka S3. Box woke up fine.
jojo:/root>>> rtcwake -m disk --date +5min # Suspend to disk aka S5. Box woke up after a few seconds.
jojo:/root>>> rtcwake -m off --date +5min # Box did not wake up.
I then inspected the ThinkStation BIOS thoroughly but to no avail. I switched off all USB related wake up triggers in the BIOS. I found that a BIOS update was available, but Lenovo’s instructions all relied on having a windows box, which I do not have.
Finally it turned out that for some reason
jojo:/root>>> rtcwake -m off --date +5min # Box woke up as intended.
now works !
Implementation
Android-Client
Version: 26.6.2017