# Installation einer DVB-S Karte Hauppauge WinTV-Starburst 2

## mike155

Ich habe mir eine neue DVB-S PCIe Karte gekauft: eine Hauppauge WinTV-Starburst2. Da ich im Web keine aktuelle und brauchbare Installationsanleitung gefunden habe, möchte ich in diesem Thread dokumentieren, wie ich sie zum Laufen bekommen habe.

A)  Literatur- / Link-Verzeichnis:

[1] Website von Hauppauge zur WinTV-Starburst2: http://www.hauppauge.de/site/products/data_starburst.html

[2] Website von Hauppauge mit nicht mehr ganz aktuellen Empfehlungen zur Installation unter Linux: http://www.hauppauge.de/site/support/support_faq.php?n=FAQ.Linux

[3] Website von Hauppauge mit Linux PPA-Treibern: http://www.hauppauge.com/pages/support/support_linux.html. Diese werden im folgenden Artikel NICHT verwendet.

[4] Anleitung zur Einrichtung von DVB-S unter VLC: https://www.anleitung24.com/anleitung-fernsehen-unter-linux-mit-dvb-s-tv-karte-ueber-den-vlc-media-player.html

B)  Hardware

Eine Übersicht über die Karte findet man in [1]. Bisher konnte ich folgende Chips/Baugruppen auf der Karte identifizieren:

PCIe adapter: Conexant Systems, Inc. CX23888

SEC control device: Allegro a8293

Frontend: M88DS3103

Tuner: M88RS6000T

Hier die Ausgabe von "lspci -vnn":

```
02:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 04)

        Subsystem: Hauppauge computer works Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [0070:f02a]

        Flags: bus master, fast devsel, latency 0, IRQ 18

        Memory at f7800000 (64-bit, non-prefetchable) [size=2M]

        Capabilities: [40] Express Endpoint, MSI 00

        Capabilities: [80] Power Management version 3

        Capabilities: [90] Vital Product Data

        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+

        Capabilities: [100] Advanced Error Reporting

        Capabilities: [200] Virtual Channel

        Kernel driver in use: cx23885

        Kernel modules: cx23885

```

Die Starbust 2 ist  wohl eng verwandt mit der Hauppauge WinTV-HVR5525 - dazu später mehr.

C)  Kernel

Dieser Abschnitt gilt für Linux Kernel 4.19. Vermutlich gilt er auch für frühere oder spätere Kernel - ich habe jedoch nur unter Kernel 4.19 getestet.

Es gibt 2 Möglichkeiten, wie man die Karte zum Laufen bekommt. Entweder verwendet man die Treiber des Kernels 4.19 - oder man installiert die Hauppauge-eigenen PPA Treiber [3].  Ich habe mich für die erste Variante entschieden.

C.1)  Kernel Config

Die benötigten Module kann man entweder als Module compilieren und installieren - oder man kann sie fest in den Kernel eincompilieren. Ich verwende die zweite Methode. Wer lieber mit Modulen arbeiten möchte, kann in der Kernel Config die Sternchen (*) durch 'M' ersetzen.

Erforderliche Kernel Config-Optionen:

```
Device Drivers --->

 [*] Remote Controller Support --->

Device- Drivers --->

 [*] Multimedia Support --->

   [*] Analog TV support

   [*] Digital TV support

   [*] Media PCI Adapters  --->

     [*] Conexant cx23885 (2388x successor) support

```

Ab hier gibt es 2 Möglichkeiten. Entweder kann man den Kernel alle zum cx23885 passenden Tuner und Frontends auswählen und bauen lassen:

```
Device- Drivers --->

 [*] Multimedia Support --->

   [*] Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)

```

Dies funktioniert wunderbar und ist auch die empfohlene Variante. Auf der anderen Seite erhält man einen kleineren Kernel, wenn man die erforderlichen Module selbst auswählt:

```
Device- Drivers --->

 [*] Multimedia Support --->

   [ ] Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)

   [*] I2C module for IR

       I2C Encoders, decoders, sensors and other helper chips --->  

       -*- Cirrus Logic CS3308 audio ADC

       -*- Conexant CX2584x audio/video decoders

       Customize TV tuners --->

       [*] Montage M88RS6000 internal tuner

       Customise DVB Frontends --->

       [*] Montage Technology M88DS3103

       [*] Allegro A8293

```

C.2) Kernel Parameter

Auf der Hauppauge Website [2] wird empfohlen, dem cx23885-Modul den Parameter "cx23885 card=52" mitzugeben. Grund: älteren Kerneln war die Starbust 2 noch nicht bekannt. Durch den Parameter wird dem cx23885-Modul eine Hauppauge WinTV-HVR5525 vorgegaukelt. Das funktioniert wohl, weil die beiden Karten eng verwandt sind. Es gibt aber beim Starten eine (harmlose) Fehlermeldung, weil die HVR5525 zwei Tuner hat - und das cx23885-Modul bei der Starbust 2 nur einen Tuner findet.

Bei Linux Kernel 4.19 ist es NICHT mehr notwendig, diesen Parameter zu übergeben, weil Linux 4.19 die Starbust mittlerweile kennt. Ich empfehle deshalb, diese Parameter bei Linux Kernel 4.19 (und neueren Kerneln) NICHT anzugeben.

C.3) Firmware

Der Tuner braucht eine Firmware-Datei. Diese kann, wie in [2] beschrieben, folgendermaßen installiert werden:

```
cd /lib/firmware

wget https://github.com/OpenELEC/dvb-firmware/raw/master/firmware/dvb-demod-m88rs6000.fw

```

Die Datei ist nur 8kB groß.

C.4)  Neustart

Nach dem Compilieren und Installieren des Kernels erhält man nach einem Neustart folgende Meldungen in dmesg:

```
cx23885: cx23885 driver version 0.0.4 loaded

cx23885: CORE cx23885[0]: subsystem: 0070:f02a, board: Hauppauge WinTV-Starburst2 [card=59,autodetected]

tveeprom: Hauppauge model 150300, rev C2I9, serial# XXXXXXXXXX

tveeprom: MAC address is 00:0d:fe:91:82:55

tveeprom: tuner model is unknown (idx 189, type 4)

tveeprom: TV standards UNKNOWN (eeprom 0x01)

tveeprom: audio processor is CX23888 (idx 40)

tveeprom: decoder processor is CX23888 (idx 34)

tveeprom: has no radio, has IR receiver, has no IR transmitter

cx23885: cx23885[0]: warning: unknown hauppauge model #150300

cx23885: cx23885[0]: hauppauge eeprom: model=150300

cx23885: cx23885_dvb_register() allocating 1 frontend(s)

cx23885: cx23885[0]: cx23885 based dvb card

a8293 10-000b: Allegro A8293 SEC successfully attached

m88rs6000t 13-0021: Montage M88RS6000 internal tuner successfully identified

dvbdev: DVB: registering new adapter (cx23885[0])

cx23885 0000:02:00.0: DVB: registering adapter 0 frontend 0 (Montage Technology M88RS6000)...

cx23885: cx23885_dev_checkrevision() Hardware revision = 0xd0

cx23885: cx23885[0]/0: found at 0000:02:00.0, rev: 4, irq: 18, latency: 0, mmio: 0xf7800000

```

Unter /dev gibt es ein neues Device für den DVB-S Empfang:

```
/dev/dvb/adapter0/

```

Unter /sys/class/rc/ und /dev erscheinen keine Einträge für die Fernbedienung.Last edited by mike155 on Tue Mar 05, 2019 11:32 pm; edited 1 time in total

----------

## mike155

D) Kaffeine

D.1) Installation und Konfiguration

Ich habe die USE Flags "dvb", "drm", "v4l" in /etc/portage/make.conf gesetzt. Da ich eine Intel Grafikkarte nutze, auch das USE Flag "vaapi".

Danach habe ich "emerge kaffeine" aufgerufen.

Das Programm kann als normaler User mit "kaffeine" gestartet werden. Der User muss Mitglied in den Gruppen "audio" und "video" sein. Da ich Wayland verwende und Kaffeine unter Wayland noch nicht gut läuft, lasse ich es im X11-Modus laufen mit: 

```
WAYLAND_DISPLAY='' kaffeine
```

Unter Television / Configure Television sollte es jetzt einen Reiter "Device 1" geben, auf dem u.a. folgendes angezeigt wird: "Name: Montage Technology M88RS600".

Auf diesem Reiter wähle ich für "LNB 1 Settings": "Astra-19.2E"

Dann gehe ich auf Television / Channels. Hier wird u.a. angezeigt: Source: "Astra-19.2E". 

Ich klicke auf "Start Scan". Die rechte Spalte füllt sich mit Sendern. Dieser Prozess dauert ca. 15 Minuten.

Ich wähle in der rechten Spalte die Sender, die in meine persönliche Auswahlliste sollen (Anklicken und dabei Strg drücken). Zum Übernehmen der Auswahl drücke ich "Add Selected". Am Ende drücke ich "OK".

Ganz links gibt es jetzt einen Reiter "Television". Wenn ich auf ihn klicke, erhalte ich eine Liste der ausgewählten Sender. Wenn ich auf einen von Ihnen klicke, sehe ich das ausgewählte Programm

Mit der Taste "f" kann man in den Vollbild-Modus wechseln (und wieder zurück)

Die Reihenfolge der angezeigten Sender kann man ändern, indem man auf einen Sender mit der rechten Maustaste klickt und dann Edit wählt. In dem Feld "Number" rechts oben kann man die Zahl ändern, wodurch sich die Position des Senders in der Liste ändert

D.2) Anmerkungen

An Kaffeine gefällt mir gut:

Kaffeine ist schnell eingerichtet und läuft einwandfrei.

Das Programm enthält einen eigenen Sendersuchlauf.

Das EPG funktioniert gut.

Fernsehen funktioniert hervorragend und macht Spaß! 

E) VLC

E.1) Installation und Konfiguration

Ich habe das USE Flag 'v4l' in /etc/portage/make.conf gesetzt. Da ich eine Intel Grafikkarte nutze, auch das USE Flag "vaapi".

Danach habe ich "emerge vlc" aufgerufen.

Das Programm kann als normaler User mit "vlc" gestartet werden. Der User muss Mitglied in den Gruppen "audio" und "video" sein. Ich lasse das Programm im X11-Modus laufen.

Um DVB-S zu sehen, starte ich VLC mit:

```
vlc channels-vlc.xspf

```

"channels-vlc.xspf" ist eine XML-Datei mit Angaben zu den Sendern. Sie sieht folgendermaßen aus:

```
<?xml version="1.0" encoding="UTF-8"?>

<playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">

  <title>DVB Playlist</title>

  <creator>w_scan-20140712</creator>

  <info>http://wirbel.htpc-forum.de</info>

  <trackList>

    <track>

      <title>01. Das Erste</title>

        <location>dvb-s2://frequency=11493000000</location>

        <extension application="http://www.videolan.org/vlc/playlist/0">

          <vlc:option>dvb-polarization=h</vlc:option>

          <vlc:option>dvb-srate=22000000</vlc:option>

          <vlc:id>1</vlc:id>

          <vlc:option>program=10301</vlc:option>

        </extension>

    </track>

    <track>

      <title>02. ZDF</title>

     ...

  </trackList>

</playlist>

```

Im Web findet man diverse Anleitungen, wie man diese Datei erstellt und wie man VLC im DVB-S Modus bedient. Siehe beispielsweise [4].

E.2) Anmerkungen

An VLC gefällt mir gut:

VLC ist schnell installiert und läuft einwandfrei.

Die Bildqualität ist sehr gut. Für beste Qualität sollte man Deinterlacing einschalten.

Es gibt ein EPG. Es ist allerdings nicht so gut wie bei Kaffeine.

Fernsehen funktioniert hervorragend und macht Spaß! 

Weniger gut gefällt mir:

Das Programm enthält keinen eigenen Sender-Suchlauf. Stattdessen muss man die Senderliste umständlich über separate Tools erstellen. 

Das EPG speichert die Daten nicht. Nach jedem Neustart müssen sie neu gelesen werden.

Last edited by mike155 on Tue Mar 05, 2019 11:38 pm; edited 3 times in total

----------

## mike155

F) Fazit

Insgesamt kann ich bisher folgendes Fazit zur Hauppauge WinTV-Starburst2 ziehen:

Die Hardware gefällt mit gut. Der Einbau lief problemlos. Die Karte scheint auch nicht viel Strom zu verbrauchen: es gibt keine Kühlkörper und die Chips werden auch im Betrieb nicht heiß.

CPU-Last bei "ZDF HD" unter Kaffeine im Vollbildmodus (1920x1200 Pixel) 10% auf einem Kern (laut top).

Gut ist, dass es Treiber im Linux Kernel gibt. Bei meiner letzten DVB-S Karte gab es nur Out-Of-Tree Treiber, und das hat immer wieder zu Problemen geführt. Letztendlich musste ich die alte Karte sogar entsorgen, weil der Treiber nicht mehr gepflegt wird.

Der Kanalwechsel geht schneller, als bei meiner alten Karte.

Fernsehen und EPG funktionieren unter Linux einwandfrei mit Kernel 4.19 und Kaffeine  :Smile: 

Unschön ist, dass der Infrarot-Sensor für die Fernbedienung (noch) nicht funktioniert.

----------

