posté le 23/08/2008 à 00h09
Ces derniers jours, j'ai travaillé sur un nouveau driver Linux.
Il s'agit d'un pilote pour un tuner TNT USB, dont j'avais fait l'acquisition à Toulouse avant mon départ.
Le matériel n'était pas supporté par défaut, donc j'ai procédé un peu comme pour mon driver webcam : une capture du trafic USB sous Windows en utilisant le driver officiel.

La première étape a été de reproduire "bêtement" le comportement sous Linux, en utilisant la libusb, ce qui est plus facile car les erreurs de programmation ne sont pas fatales wink
Ceci m'a permis d'écrire un programme pour récupérer le flux MPEG2-TS "brut", et c'était déjà suffisant pour regarder la TV avec mplayer.
L'utilsation n'est pas très conviviale puisqu'il faut donner la fréquence à la main... et le flux contient plusieurs chaines multiplexées donc il faut encore sélectionner avec mplayer les bonnes pistes vidéos et sons.

L'étape suivante était naturellement l'écriture d'un vrai driver, qui permet une meilleure intégration au système, et surtout l'utilisation de logiciels dédiés plus conviviaux.
J'avais démonté la clef afin de regarder les composants qui étaient à l'intérieur, et le tuner et de démodulateur sont déjà supportés, ce qui m'a facilité le travail !
J'ai juste perdu du temps sur le démodulateur car le chipset à changé de nom suite à un rachat de la société qui le fabrique...
Il ne restait plus qu'à assembler tout ça et à gérer la communication USB avec le matériel.

La communauté LinuxTV a développé un environnement très élégant, j'ai passé un peu de temps à me l'approprier, mais ensuite il ne restait plus grand chose à programmer.
Au final, le driver ne fait que 240 lignes de code !
Et ça fonctionne, je peux scanner les chaines et les regarder, par exemple avec Me TV que je trouve vraiment sympa :



Ce qui est amusant, comme le support tuner et démodulateur étaient déjà là, après quelques péripéties, je suis passé du stade "rien ne marche" au stade "tout fonctionne".

Normalement mon driver est bien parti pour être intégré (peut-être dans le noyau 2.6.28), car il a été accepté par le mainteneur officiel.

Commentaires

Pseudo :
Message :
(pas de HTML)

Nono [ 26/08 - 21:41 ] : Mais qui pourra l'arrêter ? :D

huats [ 23/08 - 10:56 ] : Sacré Royale... Bien joué :)

Infos TiBlog

Pseudo : Royale
Titre : Le blog de Royale
Description : Le blog de l'administrateur de TiBlog.fr où vous trouverez quelques détails techniques sur le fonctionnement de ce site.

Créer un blog !

blog gratuit

Recherche

Photo