TreiberInstallation

From Sundtek Wiki
Jump to: navigation, search

Contents

Einleitung

Die Sundtek MediaTV Pro/Gold USB unterstützt Linux DVB-C, DVB-T, analog TV, FM Radio, Composite und Svideo. Die Installation des Treibers ist kinderleicht und benötigt lediglich wenige Sekunden.

http://www.sundtek.com/docs/sundtek_smart_facts_de.pdf

Die Installation findet überwiegend auf der Konsole statt, wir arbeiten daran eine graphische Installation beizulegen. Der Treiber wird inhouse von Sundtek Ltd. entwickelt. Die Treiber werden als normale Applikation (im Userspace) gestartet, haben somit den Vorteil das sie bei Problemen das System nicht beeinflussen können und über verschiedene Kernelversionen hinweg funktionieren. Auch Systemupdates bereiten den einmalig installierten Treibern keine Probleme, ausserdem entfällt dadurch schwieriges kompilieren auf allen Systemen.

Die letzten Treiber finden Sie im Treiber Unterforum

Falls Sie noch kein Geraet besitzen koennen Sie analog TV ebenfalls mit unserem virtuellen Demo Treiber testen. Nach Installation des Treibers einfach "/opt/bin/mediaclient --tvdummy" ausfuehren. Screenshot

Minimale Systemanforderung Linux 2.6.15/libc2.4+ (was idR alle Distributionen der letzten 4 Jahre erfuellen) 32 oder 64 Bit, 1.5 Ghz

Unterstuetzte Systeme/Architekturen:
intellogo.png amdlogo.png armlogo.png ppclogo.png mipslogo.png

Diese Installationsbeschreibung gilt fuer folgende Betriebssysteme:
linuxlogo.png fbsdlogo.png applelogo.png

Installation

Öffnen Sie eine Konsole und geben Sie die folgende Zeile ein:

$ wget http://www.sundtek.de/media/sundtek_netinst.sh
$ chmod 755 sundtek_netinst.sh
$ sudo ./sundtek_netinst.sh

Welcome to the Sundtek linux driver setup

Legal notice:
This software comes without any warranty, use it at your own risk

Do you want to continue [Y/N]:
Nutzungsbedingungen:
Sundtek übernimmt keinerlei Haftung für Schäden welche eventuell durch
das System oder die angebotenen Dateien entstehen können.

Wollen Sie fortfahren [J/N]:
y
stopping old driver instance...
unpacking...
checking system... testing libc OK 2.15.0
64Bit System detected
installing (local mode) ...
installing remote control support
finalizing configuration... (can take a few seconds)  
installing libmediaclient interception library
Starting driver...
done.

Fehlerquellen

Linux 2.6.27 bis alle Versionen kleiner 2.6.29 haben einen Fehler im USB Stack welcher den Systemspeicher allmählich anwachsen lässt. Weitere Informationen über dieses Problem kann man unter Linux USB Mailinglist finden.

Das USB Interface wurde ebenfalls von Linux 2.6.32.9 bis 2.6.33.1 durch einen urspruenglichen Patch von SUSE beschaedigt, eine Loesung fuer dieses Problem findet man unter: http://lkml.org/lkml/2010/3/6/100 Ubuntu 10.04 verwendet ebenfalls Linux 2.6.32.x ist jedoch nicht von diesem Problem betroffen da wir fruehzeitig Bugreports eingeschickt haben.

Sollte es Probleme mit der Graphikausgabe mit NVidia oder ATI/AMD geben (z.B mit tvtime) installieren Sie bitte die die Treiber von der jeweiligen Herstellerseite (Links finden Sie am Ende dieser Seite)

Um das angeschlossene Gerät nach der Installation zu identifizieren geben Sie folgende Zeile ein:

$ /opt/bin/mediaclient -e
**** List of Media Hardware Devices ****
device 0: [ Sundtek MediaTV Pro]  DVB-C, DVB-T, ANALOG-TV, FM-RADIO, REMOTE-CONTROL, OSS-AUDIO, RDS
  [DVB-C]:
     FRONTEND: /dev/dvb/adapter0/frontend0
     DVR: /dev/dvb/adapter0/dvr0
     DMX: /dev/dvb/adapter0/demux0
  [DVB-T]:
     FRONTEND: /dev/dvb/adapter0/frontend0
     DVR: /dev/dvb/adapter0/dvr0
     DMX: /dev/dvb/adapter0/demux0
  [ANALOG-TV]:
     VIDEO0: /dev/video1
     VBI0: /dev/vbi0
  [FM-RADIO]:
     RADIO0: /dev/radio0
     RDS: /dev/rds0
  [REMOTECONTROL]:
     INPUT0: /dev/mediainput0
  [OSS]:
     OSS0: /dev/dsp0

Achtung: Bitte beachten Sie das in dieser Ausgabe analog TV mit [i]/dev/video[b]1[/b][/i] erkannt wurde, diese Zahl kann je nachdem ob bereits eine Webcam im System vorhanden ist variieren und muss als Argument für die TV Applikationen beachtet werden

Deinterlacing Der Treiber unterstützt direktes deinterlacing

Original (aus Lauftext):
interlaced.png Sundtek Enhanced Quality:
deinterlaced.png

Deinterlacer aktivieren:
$ /opt/bin/mediaclient -d /dev/video1 --vfilter=on
Deinterlacer deaktivieren:
$ /opt/bin/mediaclient -d /dev/video1 --vfilter=off


Analog TV/Composite/S-Video

Um analog TV mit tvtime zu starten:

$ tvtime -d /dev/video1

Standardmäßig versucht der Treiber Audio intern abzuspielen, da tvtime unter anderem keine direkte Unterstützung für digitales Audio beinhaltet.

tvtime.jpg

Um analog TV mit mplayer zu verwenden:

Mplayer starten:
$ mplayer tv:// -tv driver=v4l2:device=/dev/video1
MPlayer SVN-r29305-4.3.2 (C) 2000-2009 MPlayer Team

Playing tv://.
TV file format detected.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
 comment: first try, more to come ;-)
Selected device: Sundtek MediaTV
 Tuner cap: STEREO
 Tuner rxs:
 Capabilites:  video capture  VBI capture device  tuner  audio  read/write  streaming
 supported norms: 0 = PAL-BG; 1 = PAL-DK; 2 = PAL-I; 3 = PAL-M; 4 = NTSC-M;
 inputs: 0 = Television; 1 = Composite; 2 = S-Video;
 Current input: 0
 Current format: YUYV

Im Gegensatz zu Kerneltreibern kümmert sich der Treiber hier automatisch um die richtige Audioausgabe.

mplayer.jpg

Um Analog TV mit VLC zu verwenden, einfach VLC starten und als Capturegerät das jeweilige TV Gerät angeben z.B.: /dev/video1

vlc.jpg

Oder VLC von der Kommandozeile:

vlc v4l2://:dev=/dev/video1:width=720:height=576:tuner-frequency=510750:adev=/dev/null:standard=255

FM Radio

Im folgenden werden 3 Beispiele beschrieben wie FM Radio angesteuert werden kann: Kommandozeile:

/opt/bin/mediaclient -f 90100000 -m RADIO -d /dev/radio0 -t 0

/opt/bin/mediaclient -m RADIO -d /dev/radio0 --mute off

Um Audio im Hintergrund wieder auszuschalten:
/opt/bin/mediaclient -m RADIO -d /dev/radio0 --mute on

Um die Tonausgabe nur ueber /dev/dsp* ausgeben zu lassen:
/opt/bin/mediaclient -c external -m RADIO -d /dev/radio0

um radio aufzunehmen (hierbei vorher Radio unmuten):
cat /dev/radio0 | lame - fmradio.mp3


Konsolenapplikation:

$ radio -c /dev/radio0

radiosmall.png

GUI Applikation (gnomeradio):
gnomeradio.png

DVB-T

Kaffeine (DVB-T)

(Driver release from 3rd. August 09 on) Das Gerät identifiziert sich als Sundtek DVB-T

$ /opt/bin/mediaclient --setdtvmode=DVBT
$ kaffeine

kaffeine.jpg

Mplayer (DVB-T)

Um das Gerät in den DVB-T Modus zu versetzen:
$ /opt/bin/mediaclient -D DVBT
$ scan dvb-apps/util/scan/dvb-t/de-Berlin
scanning dvb-apps/util/scan/dvb-t/de-Berlin
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
Frontend can not do INVERSION_AUTO, trying INVERSION_OFF instead
initial transponder 506000000 0 2 9 1 1 2 0
initial transponder 522000000 0 2 9 1 1 2 0
initial transponder 570000000 0 2 9 1 1 3 0
initial transponder 658000000 0 2 9 1 1 2 0
initial transponder 754000000 0 2 9 1 1 2 0
initial transponder 778000000 0 2 9 1 1 2 0
>>> tune to: 506000000:INVERSION_OFF:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE
0x0000 0x4015: pmt_pid 0x0150 RTL World -- RTL Television (running)
0x0000 0x4016: pmt_pid 0x0160 RTL World -- RTL2 (running)
0x0000 0x401b: pmt_pid 0x01b0 RTL World -- Super RTL (running)
0x0000 0x4022: pmt_pid 0x0220 RTL World -- VOX (running)
Network Name 'MEDIA BROADCAST'
etc.
$ /opt/bin/mediaclient -m DVBT -f 506000000 -b 8
Using device: /dev/dvb/adapter0/frontend0
Checking for lock:
. [LOCKED]
$ mplayer /dev/dvb/adapter0/dvr0
oder
$ cat /dev/dvb/adapter0/dvr0 | mplayer -cache 10240 -

dvbt.jpg

VDR

$ vdr -P "xineliboutput --local=sxfe --video=xshm --local=none --primary --remote=127.0.0.1:37890" -v /var/lib/video.00/ -l 3

vdr.jpg

DVB-C

Kaffeine

Troubleshooting Kaffeine: http://support.sundtek.com/index.php/topic,546.msg4162.html#msg4162

Kaffeine unterstützt ebenfalls DVB-C Das Gerät muss zuvor auf DVB-C umgestellt werden:

$ /opt/bin/mediaclient --setdtvmode=DVBC
$ kaffeine

kaffeine-dvbc.jpg

mplayer

Um das Gerät in den DVB-C Modus zu versetzen:
$ /opt/bin/mediaclient -D DVBC
$ scan dvb-apps/util/scan/dvb-c/de-Berlin
scanning dvb-apps/util/scan/dvb-c/de-Berlin
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 113000000 6900000 0 3
initial transponder 346000000 6900000 0 5
initial transponder 522000000 6900000 0 5
initial transponder 402000000 6900000 0 5
initial transponder 378000000 6900000 0 3
initial transponder 378000000 6900000 0 3
initial transponder 394000000 6900000 0 3
initial transponder 466000000 6900000 0 3
>>> tune to: 113000000:INVERSION_AUTO:6900000:FEC_NONE:QAM_64
0x0000 0x6dca: pmt_pid 0x0064 ARD -- Das Erste (running)
0x0000 0x6dcb: pmt_pid 0x00c8 ARD -- Bayerisches FS Süd (running)
0x0000 0x6dcc: pmt_pid 0x012c ARD -- hr-fernsehen (running)
0x0000 0x6dce: pmt_pid 0x01f4 ARD -- Bayerisches FS Nord (running)
0x0000 0x6dcf: pmt_pid 0x0258 ARD -- WDR Köln (running)
0x0000 0x6dd0: pmt_pid 0x02bc ARD -- BR-alpha* (running)
0x0000 0x6dd1: pmt_pid 0x0320 ARD -- SWR Fernsehen BW (running)
$ /opt/bin/mediaclient -m DVBC -f 113000000 -S 6900000 -M Q64
Using device: /dev/dvb/adapter0/frontend0
Checking for lock:
. [LOCKED]
$ mplayer /dev/dvb/adapter0/dvr0
oder
$ cat /dev/dvb/adapter0/dvr0 | mplayer -cache 10240 -


dvbc.jpg

Deinstallation

Dieser Schritt sollte vor jedem Update stattfinden, nach einem Neustart kann die neue Version dann installiert werden. Um den Treiber wieder vom System zu entfernen:

./sundtek_installer.sh -u

EETI em28xx linux driver setup

stopping em28xx driver...
removing driver 
.......
driver successfully removed from system

Troubleshooting

Es kann vorkommen das VDR das Gerät direkt beim Systemstart im Hintergrund belegt. Um zu überprüfen welcher Prozess bzw. welche Applikation gerade auf den Treiber zugreift kann folgender Befehl ausgeführt werden:

$ /opt/bin/mediaclient --lc
**** List of Media Clients ****
/dev/dvb/adapter0/frontend0:
  No client connected
/dev/dvb/adapter0/dvr0:
  No client connected
/dev/dvb/adapter0/demux0:
  No client connected
/dev/video1:
  329 ... tvtime
/dev/vbi0:
  No client connected
/dev/radio0:
  No client connected
/dev/mediainput0:
  No client connected
/dev/dsp0:
  28289 ... mediasrv

Da tvtime Audio nicht direkt unterstützt wird dies vom Multimediaframework (mediasrv) direkt übernommen und auch dementsprechend angezeigt.

In diesem Fall kann tvtime mit folgendem Befehl vom Treiber getrennt werden:

$ /opt/bin/mediaclient --dc 329

Kaffeine:

Das Demux Interface zeigt zudem noch die aktuell gefilterte DVB PID an:

$ ./mediaclient --lc
**** List of Media Clients ****
/dev/dvb/adapter0/frontend0:
  859 ... kaffeine
/dev/dvb/adapter0/dvr0:
  859 ... kaffeine
/dev/dvb/adapter0/demux0:
  859 ... kaffeine (0012)
  859 ... kaffeine (00c8)
  859 ... kaffeine (00d2)
  859 ... kaffeine (00dc)

Bildschirmschoner springt permanent an waehrend man kaffeine verwendet

Der Screensaver kann temporaer ueber die Konsole abgeschalten werden:

 
gnome-screensaver-command --inhibit

sobald dieser Befehl beendet wird, wird der Screensaver wieder aktiviert


Wenn bei Analog TV kein Audio wiedergegeben wird überprüfen Sie eventuell ob der Treiber auf Stumm geschalten ist. Einige video4linux1 Applikationen können dies nicht richtig konfigurieren.

/opt/bin/mediaclient -m ATV --mute=off -d /dev/video1

Fernbedienung Die Fernbedienung wird als Keyboard Gerät registriert.

Stromsparfunktion Die Stromsparfunktion setzt nach 15 Sekunden Inaktivitaet ein, das Geraet kuehlt bei diesem Zustand komplett ab (dies erhoeht die Lebensdauer erheblich)

DVB-S/S2

Kaffeine: http://support.sundtek.com/index.php/topic,546.msg4162.html#msg4162


Pulseaudio

Pulseaudio enthält einige nützliche Konfigurationstools z.B.: pavucontrol. Mit pavucontrol kann eine individuelle Lautstärke für AnalogTV sowie FM Radio eingestellt werden. Da der System Pulseaudio Service an sich zur Zeit leider nicht sehr stabil ist kann es vorkommen das der Treiber automatisch während der Laufzeit direkt auf ALSA zurückschaltet.

pavucontrol:
pavucontrol.jpg

pavumeter:
pavumeter.jpg

Sollte das Bild und der Ton im VLC Player nicht synchron sein (in Verbindung mit Pulseaudio) hilft eventuell folgendes:
http://www.st4ck.com/en/post/ubuntu-11-04-vlc-out-of-sync/#Runtime

NVidia Graphiktreiber:
http://www.nvidia.com/Download/index.aspx?lang=de

ATI Graphiktreiber:
http://support.amd.com/de/gpudownload/Pages/index.aspx

Restricted Formats/Codecs Suse:
http://opensuse-community.org/Restricted_Formats/11.0
http://opensuse-community.org/Restricted_Formats/11.1


Pegelmessung:

Standardmaessig gibt das Signalreporting nur 0% oder 100% zurueck, dies kann mit folgendem Befehl auf ein genaueres Reporting umgeschalten werden:

/opt/bin/mediaclient --signalreporting=1

(Der Grund hierfuer, das genauere Reporting benoetigt etwas mehr Zeit zum Auslesen der Informationen und ist deshalb standardmaessig nicht eingeschalten).

Syntax:
/opt/bin/mediaclient -d /dev/video[n] --readsignal=[i]
Wobei n das Videodevice ist (wie mit /opt/bin/mediaclient -e ausgegeben) und i die Anzahl
wie oft die Signalinformation ausgelesen werden soll, wenn i kleiner oder gleich 0 ist dann
wird bis zum manuellen Abbruch ausgelesen.

Beispielausgabe:
SIGNAL: [..............................................................................................      ] 62225 (94%)
SIGNAL: [.........................................................................................           ] 58950 (89%)
SIGNAL: [..............................................................................................      ] 62225 (94%)
SIGNAL: [..............................................................................................      ] 62225 (94%)
SIGNAL: [..............................................................................................      ] 62225 (94%)
SIGNAL: [............................................................................................        ] 60915 (92%)

Treiber entpacken (z.b fuer manuelle Installationen)

$ ./sundtek_installer.sh -e

Der Treiber filtert standardmaessig NULL Pakete (0x1fff), um dies zu deaktivieren kann folgender Befehl ausgefuehrt werden (mplayer hat mit NULL Paketen Probleme):

$ /opt/bin/mediaclient -d /dev/dvb/adapter0/frontend0 --nullpackets=on

Automatisches starten einer Applikation bzw. eines Skriptes sobald ein Geraet angeschlossen oder entfernt wird:

Die Konfigurationsdate /etc/sundtek.conf kann 2 Parameter enthalten, device_attach sowie device_detach, diese Parameter koennen genutzt werden um ein Skript zu triggern welches z.B.: VDR oder andere Applikationen neu initialisiert.

Beispiel:

/etc/sundtek.conf
device_attach=/usr/bin/usb_deviceattach.sh DEVID
device_detach=/usr/bin/usb_devicedetach.sh DEVID

Transfer Modus fuer DVB-T/C von Isochronous auf Bulk aendern (einige Rechner unterstuetzen keinen Isochronous Transfer unter Linux), ebenso kann mit dieser Option ein Transfer Kernelbug (bei Linux 2.6.26/27/28, sowie 2.6.32.9 - 2.6.33.1) fuer DVB-T und DVB-C uebergangen werden.

Das Geraet befindet sich bei der Auslieferung standardmaessig im Isochronous Datenmodus

Um Isochronous zu konfigurieren:

$ /opt/bin/mediaclient --dtvtransfermode=iso -d /dev/dvb/adapter0/frontend0 
Setting transfermode to Isochronous
Please reconnect your device in order to activate the transfer mode change

Um Bulk zu konfigurieren:
$ /opt/bin/mediaclient --dtvtransfermode=bulk -d /dev/dvb/adapter0/frontend0 
Setting transfermode to Bulk
Please reconnect your device in order to activate the transfer mode change

Nach dem Umschalten muss das Geraet neu angeschlossen werden.


Hardware PID Filter

Um die Hardware PID filter zu benutzen muessen sie manuell eingeschalten werden. Die USB TV Tuner verfuegen ueber 15 Filter. Die Filter koennen die benoetigte USB Bandbreite stark senken - insbesondere wird dies fuer Embedded PCs empfohlen.

Hardware PID Filter einschalten:

/opt/bin/mediaclient -P on

Hardware PID Filter ausschalten:

/opt/bin/mediaclient -P off

Aktuell registrierte PID Tabelle anzeigen:

$ /opt/bin/mediaclient -w
Using device: /dev/dvb/adapter0/frontend0
ID   | PID
----------
0000 | 0x0001 - 1
0001 | 0x175c - 5980
0002 | 0x0899 - 2201
0003 | 0x089a - 2202
0004 | 0x089b - 2203
0005 | 0x0012 - 18
0006 | 0x1500 - 5376
0007 | 0x1501 - 5377
0008 | 0x1505 - 5381

Der Befehl welche die aktuellen Zugriffe auf den Treiber anzeigt, zeigt die PIDs ebenfalls an:

$ /opt/bin/mediaclient --lc
**** List of Media Clients ****
/dev/dvb/adapter0/frontend0:
  897 ... mediasrv
/dev/dvb/adapter0/dvr0:
  897 ... mediasrv
/dev/dvb/adapter0/demux0:
  897 ... mediasrv (0899)
  897 ... mediasrv (089a)
  897 ... mediasrv (089b)
  897 ... mediasrv (0012)
  897 ... mediasrv (1500)
  897 ... mediasrv (1501)
  897 ... mediasrv (1505)
  897 ... mediasrv (0001)
  897 ... mediasrv (175c)
/dev/video0:
  No client connected
/dev/vbi0:
  No client connected
/dev/radio0:
  No client connected
/dev/rds0:
  No client connected
/dev/mediainput0:
  No client connected
/dev/dsp0:
  No client connected
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox