Recevoir TNS avec une carte satellite Floppy DTV-S2

J’utilise depuis bientôt 5 ans un HTPC qui me permet de recevoir le bouquet satellite TNS. Je n’ai pas de décodeur et ai tous les avantages du HTPC (Enregistrement, timeshifting, programme TV, …)

Cependant, TNS a modifié son offre et les caractéristiques techniques de la réception satellite. Cela s’est fait en deux temps, avec dans un premier temps le remplacement de l’ancien satellite Intelsat 701 par Instelsat 18, puis par l’offre d’un nouveau bouquet de chaînes. Au passage certaines chaînes sont diffusées en HD.

J’ai eu quelques problèmes pour reconfigurer la réception du satellite sur ma carte, particulièrement lié à l’utilisation d’un symbol-rate (SR) très élevé. (30000). L’objet de cet article est de présenter succinctement la carte de réception, la solution pour recevoir TNS avec le logiciel DVBViewer, puis avec Mediaportal, le logiciel au cœurs de mon HTPC et avec lequel j’ai eu le plus de fil à retordre.

La carte Floppy DTV S2

Carte réception satellite Floppy DTV-S2

J’ai fait l’acquisition de cette carte en 2006, auprès de son fabriquant, en Autriche, la société Digital Everywhere. c’est une carte que je trouve d’une qualité remarquable. Elle n’utilise pas de bus interne sur l’ordinateur, mais communique par FireWire.
Il y a de plus la possibilité d’ajouter une module CAM (Conditionnal Access Module) qui permet d’insérer la carte d’abonnement de son fournisseur. En l’occurrence à Tahiti on a pas trop le choix, il n’y a que TNS. Voici le CAM nécessaire pour utiliser la carte d’abonnement TNS :

Il s’agit d’un module CAM Viaccess. On l’insère dans la carte Floppy DTV, puis on glisse dans la fente du module CAM sa carte d’abonnement. C’est de cette façon que les chaînes cryptées sont décodées.

Malheureusement la société Digital Everywhere a fermé et la carte n’est plus disponible. La marque a été reprise par une autre société, Digital Device. Cette dernière a eu l’excellente idée de mettre à disposition la documentation et les derniers drivers pour la carte Floppy DTV S2, ce qui lui permet d’être supportée par Windows 7.

Problème rencontré

Lorsque le nouveau bouquet satellite a été mis en service, le 4 juin 2012, j’ai recherché les fréquences et paramètres utilisés par TNS. Si vous cherchez aussi, vous pouvez utiliser l’excellente référence Lyngsat. Les paramètres pour TNS sont les suivants :

  • Fréquence : 11060 Mhz
  • Polarisation : Verticale
  • S/R : 30.000

Normalement ces 3 paramètres suffisent au Tuner satellite pour trouver les chaînes. Malheureusement ça n’a pas été le cas, et à la place des noms de chaîne, j’ai obtenu un résultat incompréhensible. Par tâtonnement j’ai d’abord trouvé un réglage opérationnel pour FireDTV Viewer, le logiciel livré avec la carte.

N’arrivant toujours pas à faire fonctionner Mediaportal, j’ai fait des recherches avec DVBViewer, le grand frère de Firedtv Viewer, qui, dans le pire des cas, pouvait me servir de solution de substitution.

Solution DVBViewer

Voyons déjà la manifestation du problème. Voici une copie d’écran du réglage de scan de fréquence pour la réception de TNSIl faut cliquer sur le bouton ‘Fréquences’ pour chercher les chaînes, et voici le résultat qui illustre le problème de réception Au lieu d’avoir le nom du fournisseur (TNS) et le nom des chaînes, on obtient ‘unknown’ et ‘service xxx’. Mais le tuner a bien détecté la présence de chaînes. Quand on essaye de visionner, il n’y a rien, quelques bruits à peine audibles.

Toujours par tâtonnement, j’ai trouvé un réglage qui fonctionne. Dans les options, rubrique ‘carte DVB’, il faut décocher ‘Ouvrir tous les transpondeurs’. (Au passage on aperçoit mon double tuner pour la TNT).
et la preuve de la victoire :

Solution mediaportal

Pour les impatients, un copie d’écran du réglage à effectuer pour recevoir les chaînes TNS

 Explications

Pour trouver la solution dans Mediaportal, et essayer de comprendre ce qui se passe, je suis reparti du réglage de DVBViewer. J’ai cherché ce que voulait dire l’option ‘Ouvrir tous les transpondeurs’, ou ‘Open whole transponder’ en anglais. Voila ce que l’on trouve sur le site de l’éditeur du logiciel, pour Transedit, un outils qui reprend les mêmes paramétrages que DVBViewer :

Open whole transponder (only for devices providing hardware PID filters):If this checkbox is ticked, the hardware resp. driver delivers all streams that are broadcasted on a transponder. In this case TransEdit filters the streams out that are required for scanning or the Preview function. If this option is unticked, the hardware or driver does the filtering

Hardware PID filtering can be useful for receiving transponders with a very high data rate exceeding the hardware’s maximum transfer rate, thus causing loss of data. DVB devices with BDA driver usually deliver the whole transponder. The TS Analyzer automatically activates „whole transponder“ mode, if necessary, because it needs the unfiltered streams for a complete analysis.

Ce réglage permet donc de contrôler si tous le flux reçu du transpondeur est envoyé au logiciel, ou si la carte fait un filtrage matériel sur le PID.

Dans les paramètres de TNS, le symbol-rate est de 30000, ce qui conduirait d’après les quelques recherches que j’ai fait (mais j’ai pas réellement approfondit) à un débit de 60/70 Mbit/s. Sans filtrage du PID au niveau de la carte, celle-ci enverrait donc 60/70 Mbits de données (tout ce qu’elle reçoit du transpondeur) sur le bus Firewire et le saturerait. (Le débit de 100 Mbits n’est à priori que théorique…). Du coup perte de données, embouteillage, et mélasse à l’arrivée.

En fait j’ai cherché. TNS utilise une modulation de phase QPSK, (4 états) qui permet de faire passer 2 bits par symbole. Donc avec un Symbol-Rate de 30000, on  un débit brut de 60 Mbits/s. J’ai simplifié l’explication, a l’occasion je ferais peut-être un petit post la dessus.

La solution ? Ben activer le filtrage par PID au niveau de la carte pardi !!  C’est à dire que le récepteur satellite, au lieu d’envoyer comme une brute tout ce qu’il reçoit sur le bus Firewire, n’enverra que ce qui concerne le programme qui nous intéresse. Il y a plusieurs parties dans le PID, le PID V (Vidéo) et le PID A (Audio), le télétexte,… . La carte ne laissera passer que les paquets avec les bons PID. Sachant que sur un même transpondeur,TNS a mis près de 30 chaînes, ça fait un gros filtre qui va sacrément désengorger notre bus firewire. Attention à bien posséder un firmware à jour sur la carte FloppyDTV, sinon ça ne fonctionnera pas.

Yapuka !! mais comment activer le filtrage PID matériel dans mediaportal ?? Aucune option ou case à cocher n’est disponible dans la recherche des canaux.
C’est la lecture des sources (C’est bien pratique l’open source) et la consultation des logs qui va nous apporter la solution.

En consultant les logs du serveur TV de mediaportal, on note déjà l’information suivante :

FireDTV: HW Filtering disabled.

Donc le filtrage matériel est désactivé par défaut. Comment le forcer ? On trouve grâce à google le référencement du BUG 1520 de mediaportal (bug qui a été réglé en 2008…),

HW PID filtering is now enabled on FireDTV for DVB-S2 only.
 Use of latest FireDTV firmware (1.5.0) is required.
 SVN 19891.

L’activation du filtrage matériel PID nécessite que l’on soit en mode DVBS2. OK, mais après tests il manque encore quelque chose… que l’on va trouver dans les sources, plus précisément dans le fichier DigitalEveryWhere.cs

Voici l’extrait du code qui se charge ou non de l’activation du filtrage :

public void SendPids(int subChannel, DVBBaseChannel channel, List<ushort> HwPids)
    {
      try
      {
        bool isDvbc = ((channel as DVBCChannel) != null);
        bool isDvbt = ((channel as DVBTChannel) != null);
        bool isDvbs = ((channel as DVBSChannel) != null);
        bool isAtsc = ((channel as ATSCChannel) != null);

        if ((HwPids.Count != 0) && (isDvbs) && (((DVBSChannel)channel).ModulationType == ModulationType.ModNbc8Psk))
        {
          for (int i = 0; i < HwPids.Count; ++i)
          {
            Log.Log.Info("FireDTV: HW Filtered Pid : 0x{0:X}", HwPids[i]);
          }
          SetHardwarePidFiltering(isDvbc, isDvbt, true, isAtsc, HwPids);
        }
        else
        {
          HwPids.Clear();
          Log.Log.Info("FireDTV: HW Filtering disabled.");
          SetHardwarePidFiltering(isDvbc, isDvbt, isDvbs, isAtsc, HwPids);
        }
      }
      catch (Exception ex)
      {
        Log.Log.Write(ex);
      }
    }

Et plus particulièrement la condition d’activation :

if ((HwPids.Count != 0) && (isDvbs) && (((DVBSChannel)channel).ModulationType == ModulationType.ModNbc8Psk))

Il faut une modulation du type ModNbc8psk ! Et c’est définit où ? ici :

public DVBSChannel SetDVBS2Modulation(ScanParameters parameters, DVBSChannel channel)
    {
      if (channel.ModulationType == ModulationType.ModQpsk)
      {
        channel.ModulationType = ModulationType.ModNbcQpsk;
      }
      if (channel.ModulationType == ModulationType.Mod8Psk)
      {
        channel.ModulationType = ModulationType.ModNbc8Psk;
      }
      //Check if DVB-S channel if not turn off Pilot & Roll-off regardless
      if (channel.ModulationType == ModulationType.ModNotSet)
      {
        channel.Pilot = Pilot.NotSet;
        channel.Rolloff = RollOff.NotSet;
        //Log.Log.WriteFile("DigitalEverywhere: we're tuning DVB-S, pilot & roll-off are now not set");
      }

Surtout cela :

//Check if DVB-S channel if not turn off Pilot & Roll-off regardless

Les options Pilot et Roll-Off NE DOIVENT PAS être sur Not Set.
Il faut donc, dans l’écran de recherche des chaînes, préciser :

  • Enable DVBS2
  • demander Use Advanced Tuning OptionsPuis, ‘Single Transponder’ :

Et enfin entrer les paramètres suivants :

  • Frequency : 11060000
  • Symbol rate : 30000
  • Polarisation : Vertical
  • Modulation : 8psk
  • Pilot : Not Defined (Ne surtout pas laisser sur Not Set)
  • Roll-Off : Not Defined (Ne surtout pas laisser sur Not Set)

On clique sur le bouton ‘Scan for channels’ et là …. Miracle !!! On récupère les chaînes de TNS.

Cette astuce pour faire fonctionner le filtrage matériel PID pour TNS sur une carte FireDTV S2 est valable pour tout autre satellite ayant un symbol rate de 30000 ou plus.

Activation du filtrage dans les logs :

2012-06-15 06:56:43.498000 [(19)]: FireDTV: HW Filtered Pid : 0x0
2012-06-15 06:56:43.498000 [(19)]: FireDTV: HW Filtered Pid : 0x11
2012-06-15 06:56:43.498000 [(19)]: FireDTV: HW Filtered Pid : 0x1FFF
2012-06-15 06:56:43.498000 [(19)]: RunGraph

Pour activer le filtrage hardware PID il faut donc :

  • Activer le mode DVB-S2
  • Forcer la modulation à 8PSK
  • Mettre Pilot à Not Defined
  • Mette Roll-Off à Not Defined

Ensuite entrer les paramètres du transpondeur de son satellite.

Posts relatifs

Laisser un commentaire


NOTE - Vous pouvez utiliser les éléments et attributs HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">