long story…

having had various frustrating experiences with the topic: TV + PC

(even tried a cheap DreamBox 520 HD from eBay… which are probably good devices, but this one turned out to be faulty/unstable)

now… in 2021… finally happy to be able to present positive results 🙂

BUT (!!!) after a few reboots… easyVDR is not under development anymore and is Ubuntu TLS based and (for me at least) has some reliability problems 🙁

so this article and the image.img.gz (put it on a stick) can at least give the user a quick demo of what works and what not… and then decide from there if it is worth it or not.

the concept: programming instead of zapping: TV is just “another input” channel… another source of information… simply stupidly zapping through channels is…. stupid.

the idea is a smart and intelligent handling of the massive amounts of “TV content” by programming a power efficient device, to record and archive only what might be interesting to the user to watch at the time the user want’s to.

Germany spends more money (!?) than ANY OTHER COUNTRY on this planet on public TV and Radio funding?

Germany: 8.1 BILLION(Mrd) € per YEAR!

(src: https://www.tagesspiegel.de/ge…aber-stabil/13738728.html)

USA: 0.5 BILLION(Mrd) € per year

(src: https://www.cpb.org/aboutcpb/financials/budget)

no doubt, both US (such as PBS) and German public broadcasting stations produce high quality content

the question is:

  • if it really have to be so many stations
  • if the budget needs to shrink not increase

…adding to this expensiveness is a crazy “deletion” law (used to be called Rundfunkstaatsvertrag now it is Medienstaatsvertrag) which defines the amount of time content is allowed to remain publicly available.

“Why you won’t find anymore, what you were searching” original text: “Warum Sie nicht mehr finden, was Sie suchen”

“Around 80% of the content is no longer available.”

“While many publishers are starting to open their archives to the general public, (publicly funded) tagesschau.de delete most of its online archive created with (tax) fee funds.”

Additionally problematic: deleting also costs money, because it has to be specially organized and programmed.

“Since the budgets in the telemedia concepts are capped, the deletion costs are at the expense of new content.” (auto translated from source: https://www.tagesschau.de/inland/rundfunkaenderungsstaatsvertrag108.html)

what is VDR?

YES! it has a web interface 🙂

YES! it has a web remote control 🙂 (absolutely cool… change channels from any www browser capable device 🙂


“VDR is a free, non-commercial software for the reception and recording of digital television (DVB)”

based on Ubuntu LTS:

hostnamectl; # info about distribution
   Static hostname: easyVDR
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-26-generic
      Architecture: x86-64

“Both free-to-air and encrypted programs are supported, with the choice between satellite, cable and antenna.”

  • Brief overview:
    • suitable for digital TV, analog TV and IPTV only with additional plugins
    • easy to use Screen menu in 28 languages
    • unlimited program memory with automatic update of the transmitters
    • unlimited recording timer
    • electronic program guide
    • DiSEqC support
    • time-shifted television (Time-Shift)
    • Video editing function
    • Network-compatible Skins
    • Support of plugins to extend the functionality

auto translated from: http://www.vdr-wiki.de/wiki/index.php/Grundlagen

  • pros:
    • very very efficient (~ 15% CPU usage… so the decoding is done efficiently in hardware)
    • rich in features
      • webinterface
    • beautiful StarTrek menu 🙂
    • really made (how Open Source always should be) with <3 love 🙂
  • cons:
    • very complex
    • hard to get started X-D (this guide wants to simply it)

the hardware & the software: easyVDR on a stick


the idea is to use an power efficient embedded PC (or laptop) and install easyVDR on an bootable USB Stick, so the internal harddisks and installation does not need to be touched in order to teast easyVDR

embedded PCs are many on the market (such as those Intel NUCs), in this case a giada f300 with 8GB of RAM and i3 was used:

the big question is: what TV tuner hardware is supported/works well under GNU Linux with easyVDR?

detailed hardware info: Hauppage WinTV NOVA S2 detailled hardware info.txt

lsusb -vvv
Bus 002 Device 002: ID 2013:0258 PCTV Systems PCTV 461
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x2013 PCTV Systems
  idProduct          0x0258 
  bcdDevice            1.00
  iManufacturer           3 PCTV
  iProduct                1 PCTV 461
  iSerial                 2 0014150608
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0029
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

[   15.851464] m88ds3103 7-0068: found a 'Montage Technology M88DS3103' in cold state
[   15.852008] m88ds3103 7-0068: firmware: direct-loading firmware dvb-demod-m88ds3103.fw
[   15.852017] m88ds3103 7-0068: downloading firmware from file 'dvb-demod-m88ds3103.fw'
[   16.062305] m88ds3103 7-0068: found a 'Montage Technology M88DS3103' in warm state <----- WARM STATE! :)
[   16.062312] m88ds3103 7-0068: firmware version: 3.B
[   17.304709] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)

dmesg|grep em28
[   12.988444] em28xx 2-2:1.0: New device PCTV PCTV 461 @ 480 Mbps (2013:0258, interface 0, class 0)
[   12.988446] em28xx 2-2:1.0: DVB interface 0 found: bulk
[   13.051651] em28xx 2-2:1.0: chip ID is em28178
[   13.444055] em28xx 2-2:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0xf5a476a4
[   13.444056] em28xx 2-2:1.0: EEPROM info:
[   13.444058] em28xx 2-2:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
[   13.451171] em28xx 2-2:1.0: 	AC97 audio (5 sample rates)
[   13.451174] em28xx 2-2:1.0: 	500mA max power
[   13.451176] em28xx 2-2:1.0: 	Table at offset 0x27, strings=0x148c, 0x1874, 0x0a6a
[   13.511592] em28xx 2-2:1.0: Identified as PCTV DVB-S2 Stick (461e) (card=92)
[   13.513844] em28xx 2-2:1.0: dvb set to bulk mode.
[   13.522067] usbcore: registered new interface driver em28xx
[   13.541414] em28xx 2-2:1.0: Binding DVB extension
[   13.645527] em28xx 2-2:1.0: DVB: registering adapter 0 frontend 0 (Montage Technology M88DS3103)...
[   13.648802] em28xx 2-2:1.0: DVB extension successfully initialized
[   13.650707] em28xx: Registered (Em28xx dvb Extension) extension
[   13.663388] em28xx 2-2:1.0: Registering input extension
[   13.700112] rc rc0: lirc_dev: driver em28xx registered at minor = 0, scancode receiver, no transmitter
[   13.705295] em28xx 2-2:1.0: Input extension successfully initialized
[   13.707379] em28xx: Registered (Em28xx Input Extension) extension


the motto of GNU Linux is “it just works”, so instead of going through ubuntu setup hazzle…

with throws strange errors such as:

(this happens if an internal harddisk with GRUB2 (GNU Linux Debian) is present: X-D)

the great advantage of GNU Linux (and other *NIXes such as OSX) over Windows: install once, use anywhere

the user can install on PC A and move the harddisk/USB Stick to PC B (different hardware) chances are pretty good “it just works” 🙂

this stick was made with the “easyVDR Unstable” (in order to get the latest updates):

  1. get a power efficient embedded PC (giada uses less than 30W!!!)
  2. get a 32GB bootable (!) USB Stick
    • 10 Bucks super fast Sandisk Ultra USB 3.0 (32GB) (eBay search)
  3. download this image.img.gz
  4. under Windows: unpack/unzip the img.gz -> very-large-32GB-file.img
  5. under Windows: rename file.img to file.iso
  6. under Windows:
    1. # unpack and 1:1 copy image to USB Stick (sdX)
      apt install pv
      unmount /dev/sdX*
      gunzip -c /path/to/2021_05_15_easyVDR_boot_stick.img.gz | pv | dd of=/dev/sdX
      # make sure everything is written to stick
  8. reboot PC
  9. straight after BIOS screen hit F12 (show boot menu)
    • please consult the manual of PC/mainboard what key to use to access the boot device menu
  10. or DEL/ENTF/F2 (key to get into BIOS in order to see if the USB Stick was detected by BIOS and can be set higher on the boot device priority list)
    • please consult the manual of PC/mainboard what key to use to access the bios menu
the easyVDR "StarTrek" OSD Menu :)

the easyVDR “StarTrek” OSD Menu 🙂


can it ssh?

YES! of course the user can ssh into the easyVDR device…

ssh -v easyvdr@192.168.X.XXX; # ip of the user's easyVDR box

usr: easyvdr

pwd: easyvdr

to become root, select “Terminal”

and go:

sudo bash

what else is there? (not much that works)

3 days of testing various software(https://www.mythtv.org/ is very very buggy and has no (!?) proper support for this Tuna Stick)… the ONLY software that (next to easyVDR) managed to work with the Hauppage TV USB Tuner Stick was

(also tried http://linhes.org/ no luck)

luckily Hauppage made Youtube Video how to use the TV USB Tuner stick with Kaffine

downside: Kaffeine is very heavy on the CPU

how to manually install the firmware files:

# try
apt install linux-firmware-hauppauge
# and check after reboot dmesg for "warm" state

# otherwise
# download firmware modules manually (from hauppage)
# install manually
cp -v /home/user/Downloads/data/lib/firmware/* /usr/lib/firmware/
'/home/user/Downloads/data/lib/firmware/dvb-demod-m88ds3103b.fw' -> '/usr/lib/firmware/dvb-demod-m88ds3103b.fw'
'/home/user/Downloads/data/lib/firmware/dvb-demod-m88ds3103.fw' -> '/usr/lib/firmware/dvb-demod-m88ds3103.fw'
'/home/user/Downloads/data/lib/firmware/dvb-demod-mxl692.fw' -> '/usr/lib/firmware/dvb-demod-mxl692.fw'
'/home/user/Downloads/data/lib/firmware/dvb-demod-si2168-b40-01.fw' -> '/usr/lib/firmware/dvb-demod-si2168-b40-01.fw'
'/home/user/Downloads/data/lib/firmware/dvb-tuner-si2157-a30-01.fw' -> '/usr/lib/firmware/dvb-tuner-si2157-a30-01.fw'
'/home/user/Downloads/data/lib/firmware/NXP7164-2010-03-10.1.fw' -> '/usr/lib/firmware/NXP7164-2010-03-10.1.fw'
'/home/user/Downloads/data/lib/firmware/NXP7164-2010-04-01.1.fw' -> '/usr/lib/firmware/NXP7164-2010-04-01.1.fw'
'/home/user/Downloads/data/lib/firmware/v4l-pvrusb2-73xxx-01.fw' -> '/usr/lib/firmware/v4l-pvrusb2-73xxx-01.fw'
apt show kaffeine
Package: kaffeine
Version: 2.0.15-2
Priority: optional
Section: video
Maintainer: Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>
Installed-Size: 10.3 MB
Depends: kio, libc6 (>= 2.14), libdvbv5-0 (>= 1.4.0), libkf5configcore5 (>= 4.97.0), libkf5configwidgets5 (>= 4.96.0), libkf5coreaddons5 (>= 4.100.0), libkf5dbusaddons5 (>= 4.99.0), libkf5i18n5 (>= 4.97.0), libkf5kiocore5 (>= 4.96.0), libkf5kiofilewidgets5 (>= 4.96.0), libkf5solid5 (>= 4.97.0), libkf5widgetsaddons5 (>= 4.96.0), libkf5windowsystem5 (>= 4.96.0), libkf5xmlgui5 (>= 4.96.0), libqt5core5a (>= 5.11.0~rc1), libqt5dbus5 (>= 5.4.0), libqt5gui5 (>= 5.7.0), libqt5sql5 (>= 5.4.0), libqt5widgets5 (>= 5.11.0~rc1), libqt5x11extras5 (>= 5.6.0), libqt5xml5 (>= 5.4.0), libstdc++6 (>= 4.2.1), libvlc5 (>= 3.0.0), libxss1, kinit, iso-codes, libqt5sql5-sqlite, vlc-plugin-base, vlc-plugin-video-output
Suggests: libdvdcss2
Homepage: http://kaffeine.kde.org
Tag: implemented-in::c++, interface::graphical, interface::x11,
 role::program, scope::application, sound::player, suite::kde,
 uitoolkit::qt, use::playing, works-with::audio, works-with::video,
Download-Size: 6,277 kB
APT-Sources: http://ftp.de.debian.org/debian buster/main amd64 Packages
Description: versatile media player for KDE
 Kaffeine is a media player for KDE based on VLC, which gives it a wide variety
 of supported media types and lets Kaffeine access CDs, DVDs, and network
 streams easily.

Kaffeine also has an excellent support of digital TV (DVB).

 Kaffeine can keep track of multiple playlists simultaneously, and supports
 autoloading of subtitle files for use while playing video.


very funny game hidden in the menu: Moon Buggy 🙂


it seems: that those developers were part of the GNU Linux driver team for the Hauppage Nova 2 TV USB Tuner card:

Paul Seelig <pseelig_ÄT_goofy.zdv.uni-mainz.de>

Martin Bialasinski <agr30_ÄT_uni-koeln.de>

Brad Love <brad_ÄT_nextdimension.cc> <- this user has a blog entry on that the user managed (!?) to turn a NAS (with USB port) into a TV Station? WOW!

easyVDR Manual (in German)


NAS as TV station?

WOW that would be AWESOME! 🙂

TV/Media Drivers for Network Attached Storage

here is a backup of the blog entry:

“Want to watch Live TV over your home network without the use of a power hungry PC? Do you have a Network Attached Storage (NAS) device? If so, this is the project you’ve been looking for!

The MediaDeviceDrivers project supplies up to date Linux kernel media drivers (aka drivers/media) to an assortment of NAS devices. This allows you to use multimedia devices, such as USB television tuners, on your NAS to watch and record Live TV anywhere!

MediaDeviceDrivers is a hardware enablement support package. After installation of this package on a supported NAS, all other installed applications can access the multimedia devices connected, in a Linux standard way. For example, if MediaDeviceDrivers was installed, then a two tuner Hauppauge DualHD was attached to the NAS, both tuners would become immediately visible and accessible. This would instantly allow apps like Plex Media Server, Emby, TVHeadend, and others to seamlessly stream, over the home network, Live TV and act as networked Digital Video Recorders (DVR). That means no more always-on, power hungry PC required to have a whole home DVR solution! Any NAS application that supports multimedia devices on desktop Linux will be able to access them the same way after installing MediaDeviceDrivers.

Note: Since MediaDeviceDrivers is simply a hardware enabling application, you must separately install Plex Media Server, Emby, TVHeadend, or another software package, which will then provide the services to stream and record LiveTV. MediaDeviceDrivers has been well tested globally with Plex Media Server.

The following television protocols are currently enabled:

    • Clear QAM
    • ATSC (over the air)
    • DVB-C
    • DVB-T
    • DVB-T2

Current enabled and supported products from Hauppauge:

    • Hauppauge DualHD
    • Hauppauge SoloHD
    • HVR-935
    • HVR-955Q
    • HVR-975
    • More to come!

Currently supported NAS are:

    • Western Digital NAS
      • MyCloud PR2100
      • MyCloud PR4100
      • MyCloud EX2Ultra
      • WDMyCloud EX2100
      • WDMyCloud EX4100

Besides the Hauppauge products listed above, any device using the following drivers *should* also work:

    • em28xx (USB bridge)
    • cx231xx (USB bridge)
    • lgdt3306a (ATSC/QAM demodulator)
    • si2168 (DVB demodulator)
    • si2157 (tuner)

MediaDeviceDrivers utilizes linuxtv.org’s media_build system to produce back ported drivers. All supplied drivers are the latest versions from the mainline Linux kernel. Pulling drivers from mainline Linux ensures the widest array of devices are always supported. All code is Open Source.

Support and source code for the project can be found on gitlab and github:

General project issues or those pertaining to Hauppauge products will be handled directly on the above URL’s. Problems with other manufacturers equipment will be triaged and reported upstream.

Questions about general Linux support of a product should be directed to the devices manufacturer.

The project is sponsored by Hauppauge Computer Works.”


todo ausstehend:

  • install kodi
    • install 3Sat Plugin
  • apt install htop vim
  • … warum fehlt TELE5 in der Kanalliste? (da kommen immer die Retro StarTreks X-D)
  • manuell: Aufnahme verzeichnis /video0 via /etc/fstab auf interne hd (/dev/sda1) ändern