Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

It does not work



Hi all,

I am new to linux-dvb.
My environment:
 - Siemens/Fujitsu DVB card
 - Spaun SMS 9940 NF (9/4 DiSEqC 2.0 multiswitch)
 - 2 x Philips SAT SC819 Q (Universal-Quattro-LNB)
   focused on 19,2 EAST (ASTRA) and 13,0 EAST (EUTELSAT)
 - Caldera eDesktop 2.4
 - siemens_dvb-0.04
 - vdr-0.04
 - rcu-0.02
 - dvbrouter
I am very interested in building a system with it.
By the way, in WINDOOFS98 environment the hardware works.

I try to start with siemens_dvb-0.04.
Driver compiles, but after make insmod (without errors) no
Pro7 at video out.
Try to compile gVideo, but only errors.

Any help would be appreciated.
I am willing to compile the results and post it back.

Greatings,

Heino

PS

Installationsprotokoll:

Siemens/Fujitsu DVB erhalten
  - nur Treiber fuer Windoofs 95/98 dabei
  => Windoofs 98 installieren und probieren ob es funktioniert
  - abgesehen von den ueblichen Windoofsprobleme funktioniert es

Die Windoofssoftware mag zwar manchem genuegen, aber ich denke,
man kann noch weitaus mehr mit der Karte anstellen. Bei Windoofs
bleibt nur warten auf das naechste Programm und hoffen, dass der
Programmentwickler meine Ideen mit verwirklicht hat. Ausserdem ist
nicht sicher ob alle von mir gut gefundenen Eigenschaften auch im
neuen Programm weiter vorhanden sind. Weil Windoofsprogramme meist
von Firmen hergestellt werden, kann man auch kaum Einfluss auf die
Funktionalitaet der Programme nehmen. Wem sollte ich denn auch meine
Ideen mitteilen. Firmen reden in der Regel nicht mit Endkunden,
sondern nur mit Haendlen.

Aber Moment mal, da gibt es doch jetzt eine Alternative. "LINUX"

Linuxtv.org bietet Treiber und Programme, die nach meinen bisherigen
Informationen meinen Ideen und Vorstellungen recht nahe kommen.
Also versuchen wir es doch mal.

Laden wir uns doch zunaecht einmal ein paar Programmpakete auf den
Rechner.
 - siemens_dvb-0.04
 - vdr-0.04
 - rcu-0.02
 - dvbrouter
Huch, das ist ja Sourcecode.
Ich hab zwar bisher nur wenige Programme selber uebersetzt, aber
es hat immer mit "make" geklappt.
Also: siemens_dvb-0.04/driver/make
      ==> Compiler laeuft durch, keine Fehler
      prima
      siemens_dvb-0.04/driver/make insmod
      ==> Make laeuft durch, keine Fehler
      Hmm, kein PRO7 ueber video out
      Nagut, oder auch nicht, machen wir erst mal mit gVideo weiter
      siemens_dvb-0.04/apps/gVideo/make
      ==> Compiler laeuft nicht durch, nur Fehlermeldungen
      HILFE!!! Jetzt wird mir klar was Betarelease und "nur fuer
      Programmierer" bedeutet.
Hah, irgenwo gibt es doch ne i-mehl adresse wo nur Leute drauf warten
einem zu helfen. ==> e-mail  Subject: "It does not work" Sen.....

Haaalt!!!, Stop, aufwachen, wir sind nicht in der Windoofswelt.
Wir haben den Sourcecode und jede Menge gute Dokumentation.
Und mit Programmieren wollte ich mich auch mal wieder beschaeftigen.
Geh´n wir doch mal systematisch vor.

Sehen wir uns mal die Fehlermeldungen an:
Irgendetwas mit "file not found"
Koennte an der Caldera eDesktop Umgebung liegen.
 ==> Makefilekonfiguration
Einfache Makefiles wie in driver/ oder apps/ kann ich ja noch
einigermassen verstehen, aber apps/gVideo/Makefile. Puh...
 ==> man make
Etwas probieren und vergleichen mit anderen Makefiles liefert
letztendlich
siemens_dvb-0.04/apps/gVideo/patch < Makefile.patch
Warum das alles so sein muss ist mir nicht ganz klar, vielleicht
hat ja mal jemand Lust mir das zu erklaeren.
ABER: Tataaa
      siemens_dvb-0.04/apps/gVideo/make
      ==> Compiler laeuft durch, keine Fehlermeldungen
      prima
      xtvrc.astra nach ~/.xtvrc
      siemens_dvb-0.04/apps/gVideo/gVideo
      ==> gVideo startet, aber nur schwarzes Bild mit zwei
      senkrechten Strichen.
Sollte das Ganze in der eDesktopumgebung doch nicht funktionieren?
Ich denke, ich sollte mir mal das e-mail-archiv von linux-dvb
ansehen.
  ==> nicht immer PRO7 nach Treiberladen wegen Timingproblem
      dreifaches Bild bei gVideo, gVideo -b32 hilft
      Schaltschwelle fuer high/low-band bei 11,7 GHz nicht bei 11,8

Hmm, ./gVideo -b32 liefert nur schwarzes Bild ohne Streifen.
Es koennte ein Empfangsproblem vorliegen.
Die Diskusion um die Schaltschwelle fuer low/high-band hat meine
Aufmerksamkeit erregt. 
11,7 GHz gefaellt mir persoenlich aus folgenden Gruenden besser:
 - aeltere single band LNBs haben Frequenzbereich 10,7 - 11,7 GHz
 - low ZF band = 1,0 GHz / high ZF band = 1,05 GHz statt 1,1/0,95
 - ASTRA Digital-Transponderzuordnung beginnt bei 11,7 GHz
==> siemens_dvb-0.04/apps/gVideo/patch < gtvscreen.patch
Keine Veraenderung, und nu?
Nagut, oder auch nicht, versuchen wir doch mal etwas Einfacheres.
Es gibt einen OSD-Test, also mal sehen ob damit etwas zu Erreichen
ist.
      siemens_dvb-0.04/apps/make
      ==> Compiler laeuft durch, keine Fehlermeldungen
      prima
      ./osdtest
      
Tataaa:   video out mit schwarzem Bild und OSD

Hey, kalt, es scheint ja doch etwas zu funktionieren.

Jetzt muesste man eine Datei haben, die man mit der DVB-Karte
wiedergeben koennte. Moment, im e-mail-archiv war doch mal die
Rede von nem Dateischnipsel, das mit cat dvd.pva > /dev/video
angezeigt werden kann.
Also: auf den Rechner laden und "cat dvd.pva > /dev/video"

Tataaa:   video out mit 4 sec. Bildwiedergabe

Hey, kalt, das geht auch.
Aber wieso geht gVideo nicht?
Noch mal probieren: ./gVideo -b32
   ==> "Premiere World promo" am Monitor und ueber video out
Hech??? Wat is nu los, sooft probiert, und nu geht´s?
Auch andere Programme gehen!
Keiner verlaesst unkontrolliert den Raum!!!
Jetzt noch mal langsam, alles noch mal auf Anfang und sehen
ob das reproduzierbar ist.
Also:
  quit gVideo
  siemens_dvb-0.04/driver/make rmmod
  siemens_dvb-0.04/driver/make insmod
  ./gVideo -b32
  ==> gVideo startet, aber nur schwarzes Bild
Wie gehabt, aber jetzt weiss ich das es funktionieren kann.
Was aber war vorher anders? Ich hab dvd.pva angezeigt, und
dann ./gVideo -b32 gestartet. Das probier´ ich noch mal.

Tataaa: "Premiere World promo" am Monitor und ueber video out

Das Verhalten ist reproduzierbar, nachdem die Treiber geladen
sind, muss einmal dvd.pva abgespielt werden, danach funktioniert
gVideo mit ASTRA.
Feine Sache ist das, aber irgend ein Initialisierungsproblem
scheint da noch vorzuliegen.
Nagut, oder auch nicht, versuchen wir doch mal ob EUTELSAT
auch funktioniert.
Also:
      xtvrc.hotbird nach ~/.xtvrc
      cat dvd.pva > /dev/video
      siemens_dvb-0.04/apps/gVideo/gVideo
      ==> gVideo startet, aber nur schwarzes Bild
Geht also nicht, aber wieso?
Wie soll das denn ueberhaupt funktionieren?
Die Parametersaetze von xtvrc.astra und xtv.hotbird sind
abgesehen von den Programmparametern identisch. Irgendwo
muesste da doch ein Umschaltkriterium fuer den LNB sein.
Der vorletzte Parameter (LNB Nr.) ist bei beiden gleich.
An Schaltkriterien ist nur "Polarization" und (implizit
ueber "Frequency") low/high-band vorhanden. Wenn die
analogen Schaltkriterien verwendet werden, muesste noch
Tonburst vorhanden sein, ich seh´ s aber nicht. Vielleicht
steckt er ja doch in "LNB Nr". Andere Werte als 0 liefern
aber auch keine neuen Erkentnisse.
"The Source Is With You"
  ==> Textadventure Sourcecode
  ==> nur wenn sich der Wert von "LNB Nr." aendert, landet
      man im Treiber in SetDiSEqC(LNB Nr.)
Moment mal, generiert SetDiSEqC etwa echte DiSEqC Kommandos?
Ich glaube, ich ahne wo das Initialisierungsproblem mit
gVideo liegt. Mein Multiswitch reagiert nach dem aktivieren
der Fernspeisespannung solange auf die analogen Schaltkriterien,
bis ein gueltiger DiSEqC-Befehl empfangen wird. Danach werden
nur noch DiSEqC-Befehle interpretiert.
Wenn cat dvd.pva > /dev/video noch irgenwie front.power=0,
front.power=1 ausloest, dann bin ich sicher, da ja gVideo
LNB Nr. immer unveraendert laesst.

Tataaa: Volltreffer!!!

Ein "return;" als erster Befehl in SetDiSEqC() legt die Funktion
lahm. Das Initialisierungsproblem ist Geschichte.
Aber wie der Tonburst benutzt werden kann hab ich in meinem
Sourceadventure noch nicht entdeckt.
Wenn aber echte DiSEqC-Befehle gesendet werden koennen, ist es
an der Zeit sich mal mit DiSEqC zu beschaeftigen.
Laden wir uns doch mal etwas neue Dokumentation von
www.eutelsat.com auf den Rechner.
   ==> Brainstorming, mir raucht der Kopf.
   Puh..., ich glaub ich muss mir mal ne Zeichnung machen.
   ==> diseqc-map.txt
   So soll das also per default funktionieren.
Nach der Tabelle sind also folgende DiSEqC-Switch-States
notwendig:
 1 = ASTRA high-band vertical
 3 = ASTRA high-band horizontal
 4 = EUTELSAT low-band vertical
 5 = EUTELSAT high-band vertical
 6 = EUTELSAT low-band horizontal
 7 = EUTELSAT high-band horizontal
Hah, zwei Switch-States gespart, weil durch die Schaltschwelle
bei 11,7 GHz alle ASTRA Digitaltransponder im high-band liegen.
Wegen der impliziten low/high-band Beruecksichtigung bei der Tuner-
frequenzeinstellung muss man das beachten.

SetDiSEqC() beschraenkt aber die Switch-States auf 0,4,8 und 12.
Warum das so ist, ist mir unklar. Bauen wir das doch einfach
mal um. ==> siemens_dvb-0.04/driver/patch < dvb.patch

Jetzt definieren wir noch die Bedeutung der Werte fuer
front.diseqc (LNB Nr. bei gVideo) neu:

front.diseqc=-1 ==> Senden von DiSEqC-Befehl unterdruecken
 --> Nur sinnvoll bei der Initialisierung, bis zum ersten
     DiSEqC-Befehl bleiben die analogen Schaltkriterien aktiv.

front.diseqc=0  ==> switch-state  0
.                   .
.                   .
.                   .
front.diseqc=15 ==> switch-state 15
siehe auch: diseqc-map.txt

Um die bisherige Funktionalitaet zu erhalten, sind die alten
Parameter fuer LNB Nr. in .xtvrc jetzt wie folgt zu modifizieren:
Bisher    Neu
  0        0
  1        4
  2        8
  3       12
Da aber bisher nur 0 verwendet wurde, ist keine Anpassung notwendig.

Jetzt modifiziere ich erst mal meine ~/.xtvrc mit den notwendigen
switch-states fuer LNB Nr.

Tataaa: Die ASTRA-Konfiguration funktioniert.

Aber was ist mit EUTELSAT, ASTRA ging ja vorher auch schon, wenn
auch mit analogen Schaltkriterien.

Also nochmal jede Menge LNB Nr. Werte eintragen. Diesmal aber die
Werte von 4 ... 7 weil low- und high-band zu beruecksichtigen sind.

Tataaa: Die EUTELSAT-Konfiguration funktioniert.

Wenn ich es jetzt noch schaffe beide Konfigurationsdateien zusammen
zu kopiern, dann bin ich erst einmal am Ende meiner Wuensche.;-)
Aber irgend ein Kombjuderspezialist wird mir das schon erklären.

Wow, extra kalt, nicht einmal 10 Zeilen Sourcecode-Aenderungen und die
Treiber und Programme sprechen perfekt DiSEqC. Nagut so gut wie fuer
einen Multiswitch mit zwei LNB erforderlich, aber mir ist das erst mal
genug. Das Windoofszeug funktioniert bis heute nicht so wie ich das
eigendlich erwarte. Und da kann man nur auf Udates warten, ohne selbst
was zu aendern.

Schlussbetrachtung:
   Die Autoren der Treiber und Programme haben ganze Arbeit geleistet.
   Hier und da noch ein paar Kommentare mehr im Sourcecode haette ich
   mir noch gewuenscht, aber ich glaube ich habe soviel verstanden wie
   ich musste.
   Ich denke ich werde meine Erfahrungen, Gedanken und Ideen mal
   in die Mailingliste posten, vielleicht kann ja der eine oder ander
   etwas damit Anfangen. Wenn ja, ist eine namentliche Erwähnung mir
   Dank und Anerkennung genug.
    [ Part 2, Application/X-PATCH  916bytes. ]
    [ Unable to print this part. ]


    [ Part 3, Application/X-PATCH  758bytes. ]
    [ Unable to print this part. ]


    [ Part 4: "Attached Text" ]

# diseqc-map.txt Sun Apr 30 17:00:00 2000 0.00.001 H.G.
# Sun Apr 30 17:00:00 2000 0.00.001 H.G. initial release

|========================================================================|
| Default DiSEqC mapping of switch state to committed control switches   |
|========================================================================|
| switch | write command | option | position | polarisation | L. O. band |
|  state |    (38h) data | switch |   switch |       switch |     switch |
|========================================================================|
|      0 |           F0h |    off |      off |          off |        off |
|      1 |           F1h |    off |      off |          off |         on |
|      2 |           F2h |    off |      off |           on |        off |
|      3 |           F3h |    off |      off |           on |         on |
|      4 |           F4h |    off |       on |          off |        off |
|      5 |           F5h |    off |       on |          off |         on |
|      6 |           F6h |    off |       on |           on |        off |
|      7 |           F7h |    off |       on |           on |         on |
|      8 |           F8h |     on |      off |          off |        off |
|      9 |           F9h |     on |      off |          off |         on |
|     10 |           FAh |     on |      off |           on |        off |
|     11 |           FBh |     on |      off |           on |         on |
|     12 |           FCh |     on |       on |          off |        off |
|     13 |           FDh |     on |       on |          off |         on |
|     14 |           FEh |     on |       on |           on |        off |
|     15 |           FFh |     on |       on |           on |         on |
|========================================================================|

|====================================================================|
| Default DiSEqC mapping of switch state to committed control states |
|====================================================================|
| switch | option | position | polarisation | L. O. band |     | LNB |
| state  |  state |    state |        state |      state |     |     |
|========================================================|     |=====|
|      0 | pos. A |   pos. A |     vertical |        low |     |  A  |
|      1 | pos. A |   pos. A |     vertical |       high |     |  A  |
|      2 | pos. A |   pos. A |   horizontal |        low |     |  A  |
|      3 | pos. A |   pos. A |   horizontal |       high |     |  A  |
|      4 | pos. A |   pos. B |     vertical |        low |     |  B  |
|      5 | pos. A |   pos. B |     vertical |       high |     |  B  |
|      6 | pos. A |   pos. B |   horizontal |        low |     |  B  |
|      7 | pos. A |   pos. B |   horizontal |       high |     |  B  |
|      8 | pos. B |   pos. A |     vertical |        low |     |  C  |
|      9 | pos. B |   pos. A |     vertical |       high |     |  C  |
|     10 | pos. B |   pos. A |   horizontal |        low |     |  C  |
|     11 | pos. B |   pos. A |   horizontal |       high |     |  C  |
|     12 | pos. B |   pos. B |     vertical |        low |     |  D  |
|     13 | pos. B |   pos. B |     vertical |       high |     |  D  |
|     14 | pos. B |   pos. B |   horizontal |        low |     |  D  |
|     15 | pos. B |   pos. B |   horizontal |       high |     |  D  |
|========================================================|     |=====|

|==============================================================|
| Default DiSEqC mapping of switch state to analogue signals   |
| 14 V / 18 V polarity selection (vertical/horizontal)         |
| 0 kHz / 22 kHz L. O. band selection (low/high-band)          |
| Toneburst (Satelite A/B)                                     |
|==============================================================|
| switch |      satelite |      polarisation |      L. O. band |
| state  | toneburst A/B |       14 V / 18 V |  0 kHz / 22 kHz |
|==============================================================|
|      0 |   toneburst A |   (vertical) 14 V |    (low)  0 kHz |
|      1 |   toneburst A |   (vertical) 14 V |   (high) 22 kHz |
|      2 |   toneburst A | (horizontal) 18 V |    (low)  0 kHz |
|      3 |   toneburst A | (horizontal) 18 V |   (high) 22 kHz |
|      4 |   toneburst B |   (vertical) 14 V |    (low)  0 kHz |
|      5 |   toneburst B |   (vertical) 14 V |   (high) 22 kHz |
|      6 |   toneburst B | (horizontal) 18 V |    (low)  0 kHz |
|      7 |   toneburst B | (horizontal) 18 V |   (high) 22 kHz |
| 8 ... 15 is mirror of 0 ... 7 (missing switch criteria)      |
|==============================================================|




    [ Part 5, Application/X-PATCH  3KB. ]
    [ Unable to print this part. ]



Home | Main Index | Thread Index