DVB-Cube BETA <<< Das deutsche PC und DVB-Forum >>>

Diverse DVB Software für verschiedene Karten => # Linux DVB (vdr, kaffeine, ect.) => Thema gestartet von: mtron am 29 Juni, 2007, 14:15

Titel: DVB-t USB Stick und Linux
Beitrag von: mtron am 29 Juni, 2007, 14:15
Nachdem ich im ORF MHP Angebot einen Hauppauge DVB-t USB2.0 (http://www.hauppauge.co.uk/pages/products/data_novatstick.html) Stick gewonnen habe, wird's Zeit den in Linux einzusetzen.

Der Output von lsusb:
Bus 005 Device 004: ID 2040:7050 Hauppauge
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x2040 Hauppauge
  idProduct          0x7050
  bcdDevice            5.98
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           46
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1

Wie man auf der verlinkten linuxtv-Wiki (http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-NOVA-T-Stick) - Seite sieht, wird der Stick erst ab einem 2.6.20 Linux Kernel unterstützt, also hab ich mir nach diesem Howto (http://ubuntuforums.org/showthread.php?t=311158) vom ubuntuforum den neuen 2.6.21 Kernel gebastelt. (bringt übrigens einen großen Preformance - Boost, denn ich habe nur die Module aktiviert, die ich wirklich für meine Hardware brauche).

Um auf Nummer Sicher zu gehen, habe ich mir auch noch die dvb-Treiber vom svn geholt, und nach diesem linuxtv wiki Eintrag  (http://www.linuxtv.org/wiki/index.php/How_to_install_DVB_device_drivers#The_LinuxTV_drivers)installiert. Wie im Eintrag zu meinem Stick (http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-NOVA-T-Stick) ersichtlich muss noch die firmware (dvb-usb-dib0700-01.fw) nach  /lib/firmware kopiert und nach dem laden der module finde ich in dmesg:

[81841.240000] dvb-usb: found a 'Hauppauge Nova-T Stick' in cold state, will try to load a firmware
[81841.404000] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-01.fw'
[81841.580000] dib0700: firmware started successfully.
[81842.084000] dvb-usb: found a 'Hauppauge Nova-T Stick' in warm state.
[81842.084000] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[81842.084000] DVB: registering new adapter (Hauppauge Nova-T Stick)
[81842.276000] i2c_adapter i2c-6: SMBus Quick command not supported, can't probe for chips
[81842.312000] DVB: registering frontend 1 (DiBcom 7000MA/MB/PA/PB/MC)...
[81842.312000] MT2060: successfully identified (IF1 = 1220)
[81842.776000] dvb-usb: Hauppauge Nova-T Stick successfully initialized and connected.

So, nachdem die Karte jetzt vom Kernel ordentlich initialisiert wurde, ist es Zeit den Stick zu testen. Am einfachsten (wiedermal ;) ) mit Kaffeine. In den DVB - Settings wird der Stick schon erkannt, und da er die autoscan Methode unterstützt, einfach auf Scan drücken und der Sendersuchlauf wird gestartet und findet schon die Sender.

Note: falls euer Stick kein autoscan unterstützt, braucht ihr die Transponder Initial Tuning Datas für euren Eingestellten Sender, welche ihr für Österreich auf http://linuxtv.org/hg/dvb-apps/file/7bac93fe95dd/util/scan/dvb-t/at-Offical bekommt. Einfach einen File anlegen, z.B.:

gedit $HOME/.kaffeine/dvb-t/at-Oesterreich
Zitat
# All official DVB-T Transponders run by the ORS (for Austria)
# updated: 06/2007 (valid until "autumn 2007")
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy

T 490000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE #K23, Innsbruck
T 498000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE #K24, Bregenz
T 562000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE #K24, Salzburg
T 754000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE #K56, Eisenstadt
T 794000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE #K61, Wien
T 802000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE #K62, Graz
T 850000000 8MHz 3/4 NONE QAM16 8k 1/4 NONE #K68, St.Pölten

EDIT:
für Deutschland & Schweiz http://linuxtv.org/cgi-bin/viewcvs.cgi/dvb-apps/util/scan/dvb-t/

Jetzt findet Kaffeine die Sender!


Ein weiterer Pluspunkt von kaffeine ist, dass dvb-s und dvb-t zusammen in der Kanalliste behalten werden können, was bei Klear nicht möglich ist.

Falls ihr klear verwendet, ist das setup ein wenig aufwendiger. Erstmal muss in $HOME/.klear die datei klear.conf angepasst werden:

DVBAdapter=adapter1
...
DVBMode=1

Standardmässig ist bei mir Adapter 0 die  DVB-s Karte und 1 der Stick
DVBMode1 ist in klear terrestrial, 2 steht für dvb-s, 3 für dvb-c

jetzt benötigen wir eine neue channels.conf , die wir mit Hilfe von dvbscan (teil des dvb-utils packages) erzeugen werden:
Einen Terminal öffnen und:

scan -v -a 1 $HOME/.kaffeine/dvb-t/at-Oesterreich > $HOME/.klear/channels.conf

-v ... verboser output
-a 1.. adapter nummer (Standardmässig ist bei mir Adapter 0 die  DVB-s Karte und 1 der Stick)
... und der Itt file
> ...den ganzen output "pipen" wir in den klear channels.conf file

(für alle Switches siehe "scan --help")

So jetzt sollte sich klear im dvb-t modus starten lassen und funktionieren ;)
Titel: Re: DVB-t USB Stick und Linux
Beitrag von: mtron am 27 Juli, 2007, 14:54
Irgendwas ist beim Frontend Treiber für den DiBcom Cip nicht ok. Der Stick wird nach einigen tagen disconnected. Erst ein ausstecken hilft. :(

Bis auf einen Hinweis im Wiki hab ich aber nichts auf der linuxtv mailingliste gefunden. Da scheint es momentan noch keinen fix zu geben  :'(

Titel: Re: DVB-t USB Stick und Linux
Beitrag von: mtron am 01 August, 2007, 16:34
so mit aktuellen HG DVB treibern (vom svn) und der Firmware von hier (http://www.wi-bw.tfh-wildau.de/~pboettch/home/linux-dvb-firmware/dvb-usb-dib0700-03-pre1.fw) läuft der Stick jetzt seit 3 Tagen ohne disconnect  :D
Titel: Re: DVB-t USB Stick und Linux
Beitrag von: mtron am 12 August, 2007, 11:00
noch ein kleiner fix den ich gefunden habe, um beim kanalscan mit dem USB stick das Signal ein wenig zu boosten um die timeouts zu minimieren.

sudo gedit /etc/modprobe.d/options
fige im file hinzu:
Zitat
options dvb-usb-dib0700 force_lna_activation=1

und reloade die module oder reboot.

wenn man besagtes command "force_lna_activation=1" setzt wird der interne signal amplifier aktiviert und verwendet