Ceci est une ancienne révision du document !
Clé TNT Terratec XXS
Cette page décrit l'installation de la clé TNT Terratec XXS, avec utilisation de la télécommande.
Cette clé marche sans manipulations supplémentaires pour la réception TNT, cependant, un bug nous oblige à re-compiler le module pour pouvoir bénéficier de la télécommande.
Pré-requis
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
Êtes-vous dans le cas traité par ce tutoriel ?
Mettre a jours sa distribution :
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get autoremove
Éditer /etc/modprobe.d/options.conf et y ajouter (cf linux-tv) :
options dvb_usb_dib0700 dvb_usb_dib0700_ir_proto=0
Cela met le protocole de communication sur "NEC" (0), alors qu'il est par defaut sur autre chose. Cette télécommande utilise le protocole NEC.
Pour vérifier si vous êtes affectés par ce bug, branchez la clé, et appuyez sur des touches de la télécommande, puis lancez
dmesg | tail
Si vous voyez des lignes du type :
Jun 5 10:58:02 amd64 kernel: dib0700: Unknown remote controller key: 0014 10 ef Jun 5 10:58:05 amd64 kernel: dib0700: Unknown remote controller key: 0014 02 fd Jun 5 10:58:05 amd64 kernel: dib0700: Unknown remote controller key: 0014 02 fd
Cela veut dire que votre module noyau ne reconnais pas votre télécommande, uniquement dans ce cas, réaliser la suite du tutoriel.
Installation
Pour installer ce matériel, il suffit d'installer les paquets build-essential, linux-headers-generic, linux-source.
On commence par décompresser les sources de Linux :
cd /usr/src sudo tar xvjf linux-source-$(uname -r | cut -d "-" -f 1).tar.bz2
Préparer la compilation du noyau :
cd /usr/src/linux-source-$(uname -r | cut -d "-" -f 1)
Récupère la configuration actuelle et l'applique
sudo cp -vi /boot/config-`uname -r` .config sudo make oldconfig
Création de liens manquants :
sudo ln -s /usr/src/linux-source-$(uname -r | cut -d "-" -f 1)/ubuntu /ubuntu sudo ln -s /usr/src/linux-source-$(uname -r | cut -d "-" -f 1) /usr/src/linux
Copier de la définition des symboles (de débogage je crois)
sudo cp /usr/src/linux-headers-$(uname -r)/Module.symvers ./ #Copy symbols dependencies
Faire pointer build au bon endroit
cd /lib/modules/`uname -r` sudo rm build sudo ln -s /usr/src/linux-source-$(uname -r | cut -d "-" -f 1) build
Corriger l'erreur dans le module : éditer /usr/src/linux-source-$(uname -r | cut -d "-" -f 1)/drivers/media/dvb/dvb-usb/dib0700_devices.c avec les droits super-utilisateurs. Chercher : "Unknown remote controller" vous trouverez quelque chose du genre :
err("Unknown remote controller key: %2X %2X %2X %2X", (int) key[3-2], (int) key[3-3], (int) key[3-1], (int) key[3]);
Vous verrez peu après :
/* Key codes for the Terratec Cinergy DT XS Diversity, similar to cinergyT2.c */ { 0xeb01, KEY_POWER }, { 0xeb02, KEY_1 },
Remplacer tous les "eb" par des "14" uniquement dans cette suite de ligne, s'arreter avant les prochains commentaires (ligne commençant par /* ), et ne tentez pas de faire votre malin(e) et copiant le bloc plus bas et en modifiant les valeurs sur la copie, cela ne marchera peut être pas.
Préparer la compilation :
cd /usr/src/linux-source-$(uname -r | cut -d "-" -f 1) sudo make prepare #Prepares make to compile kernel sudo make modules_prepare #Prepares make to compile kernel modules
Compiler les modules nécéssaires
sudo make modules SUBDIRS=drivers/media/dvb/dvb-usb
Copier les nouveaux modules pour les utiliser à la place des autres :
sudo cp drivers/media/dvb/dvb-usb/*.ko /lib/modules/`uname -r`/kernel/drivers/media/dvb/dvb-usb