Script de mise à jour du driver em2882

Bijour à tous …

(Pour les utilisateurs d’ubuntu 9.10 : http://wiki.ubuntuusers.de/em28xx, récupérer le script d’extraction pour le firmware et lancer votre player comme d’hab, le module est installé par défaut)

Voilà, pour les flemmards qui viennent de mettre à jour leur kernel (vers la 2.6.27-11, qui est disponible en màj depuis jeudi dernier), il fallait recompiler à nouveau le driver de notre clé USB TNT favorite, sinon le son grésillait pas mal dans mon cas, c’était carrément inaudible (le driver fournit pas ubuntu n’étant pas très à jour …).

Ce que fait ce script :

  • Aller dans le répertoire de src
  • Copier les fichiers nécessaire à la compilation
  • Aller dans le répertoire contenant le driver (si il ne contient pas de .hg, on checkout les source)
  • Compiler les sources
  • Installer le driver

Donc voilà, le fameux script :


#!/bin/bash
## SCRIPT BY GRIGIS GAETAN - blog.gaetan-grigis.eu ^^
## TO MODIFY WITH YOUR PERSONNAL INFORMATION - A MODIFIER AVEC VOS INFOS PERSO

#le dossier du src ... a ne pas changer (normalement)
SRC_DIR="/usr/src"
#ici, au cas ou vous n'avez pas le même kernel
SRC_DIR_LINUX_SOURCE="$SRC/linux-source-2.6.27"
# le repertoire contenant les sourge (HGifié), si le dossier (.hg n'existe pas les sources seront checkout).
EM2_DIR="/usr/src/cinergy-new"
EM2_DIR_HG="$EM2_DIR/.hg"

## ZETE PAS CENSER TOUCHER PLUS LOIN (C'EST DEJA ASSEZ PROFOND COMME CA)
cd $SRC_DIR

if [ -d $SRC_DIR_LINUX_SRC ]
then

sudo cp linux-source-2.6.27/drivers/media/dvb/dvb-core/*.h linux-headers-$(uname -r)/drivers/media/dvb/dvb-core/
sudo cp linux-source-2.6.27/drivers/media/dvb/frontends/lgdt330x.h linux-headers-$(uname -r | sed 's/-generic//')/drivers/media/dvb/frontends/
sudo cp linux-source-2.6.27/drivers/media/video/msp3400-driver.h linux-headers-$(uname -r | sed 's/-generic//')/drivers/media/dvb/frontends

else
echo "Install your kernel SRC package!!!"
echo "$SRC_DIR_LINUX_SRC n'existe pas"
exit 0
fi

if [ -d $EM2_DIR ]
then
cd $EM2_DIR

if [ -d $EM2_DIR_HG ]
then
echo "On met à jour"
hg up
else
echo "On checkout les sources"
hg clone http://mcentral.de/hg/~mrec/em28xx-new ./
fi
./build.sh build
./build.sh install
else
echo "Semblerait que $EM2_DIR n'existe pas"
fi

A noter qu’il suffit de faire les étapes :


sudo apt-get install build-essential libxine1-ffmpeg mercurial dvb-utils kaffeine
sudo apt-get install linux-headers-$(uname -r | sed 's/.*-//')
sudo apt-get install linux-source
cd /usr/src/
tar -jxvf linux-source*.tar.bz2

Pour installer le driver « from scratch ».

Enjoy 😉

10 réflexions sur « Script de mise à jour du driver em2882 »

  1. Salut

    j’ai cette carte tv depuis pas mal de temps, et ça marchait bien depuis un moment (à part la télécommande qui ne marchait plus avec lirc depuis Hardy)

    Je viens de passer à Jaunty, j’ai remarqué qu’une carte tv était déja reconnue par kaffeine mais aucunes chaines est trouvée à la fin du scan…

    J’ai donc ressayé avec ce tuto, mais il y a un problème avec les commandes

    hg clone http://mcentral.de/hg/~mrec/em28xx-new ./
    ./build.sh build
    .
    .
    .

    J’ai l’impression que le contenu de http://mcentral.de/hg/~mrec/em28xx-new à été effacé…

  2. Depuis Jaunty, les drivers em288x sont intégrés à la distribution (idem pour fedo depuis la 10).

    Normalement, ils fonctionnent sans problème …

    Un dmesg retourne quoi lorsque la clé viens d’être branché ??

  3. Voila:
    donc ma carte TV est une clé terratec cinergy usb xs, elle est reconnue comme « zarlink zl10353 dvb-t » par kaffeine mais aucune chaine n’est trouvée après le scan.

    Après l’avoir débranchée/rebranchée dmesg retourne:

    .
    .
    .
    [ 1711.820037] i2c-adapter i2c-0: firmware: requesting xc3028-v27.fw
    [ 1711.825465] xc2028 0-0061: Error: firmware xc3028-v27.fw not found.
    [ 1712.897736] i2c-adapter i2c-0: firmware: requesting xc3028-v27.fw
    [ 1712.904173] xc2028 0-0061: Error: firmware xc3028-v27.fw not found.
    [ 1713.926048] i2c-adapter i2c-0: firmware: requesting xc3028-v27.fw
    [ 1713.931655] xc2028 0-0061: Error: firmware xc3028-v27.fw not found.
    [ 2459.997263] usb 1-3.3: USB disconnect, address 5
    [ 2460.000268] em28xx #0: disconnecting em28xx #0 video
    [ 2460.000276] em28xx #0: V4L2 devices /dev/video0 and /dev/vbi0 deregistered
    [ 2460.002007] xc2028 0-0061: destroying instance
    [ 2463.792376] usb 1-3.3: new high speed USB device using ehci_hcd and address 7
    [ 2463.893738] usb 1-3.3: configuration #1 chosen from 1 choice
    [ 2463.894053] em28xx new video device (0ccd:0042): interface 0, class 255
    [ 2463.894066] em28xx Has usb audio class
    [ 2463.894071] em28xx #0: Alternate settings: 8
    [ 2463.894076] em28xx #0: Alternate setting 0, max size= 0
    [ 2463.894082] em28xx #0: Alternate setting 1, max size= 0
    [ 2463.894087] em28xx #0: Alternate setting 2, max size= 1448
    [ 2463.894093] em28xx #0: Alternate setting 3, max size= 2048
    [ 2463.894098] em28xx #0: Alternate setting 4, max size= 2304
    [ 2463.894103] em28xx #0: Alternate setting 5, max size= 2580
    [ 2463.894108] em28xx #0: Alternate setting 6, max size= 2892
    [ 2463.894113] em28xx #0: Alternate setting 7, max size= 3072
    [ 2463.894434] em28xx #0: chip ID is em2882/em2883
    [ 2464.047795] tuner’ 0-0061: chip found @ 0xc2 (em28xx #0)
    [ 2464.082026] em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 42 00 50 12 5c 03 6a 32 9c 34
    [ 2464.082037] em28xx #0: i2c eeprom 10: 00 00 06 57 46 07 00 00 00 00 00 00 00 00 00 00
    [ 2464.082046] em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 31 00 b8 00 14 00 5b 00 00 00
    [ 2464.082056] em28xx #0: i2c eeprom 30: 00 00 20 40 20 6e 02 20 10 01 00 00 00 00 00 00
    [ 2464.082065] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2464.082074] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2464.082095] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 32 03 43 00 69 00
    [ 2464.082104] em28xx #0: i2c eeprom 70: 6e 00 65 00 72 00 67 00 79 00 20 00 48 00 79 00
    [ 2464.082113] em28xx #0: i2c eeprom 80: 62 00 72 00 69 00 64 00 20 00 54 00 20 00 55 00
    [ 2464.082122] em28xx #0: i2c eeprom 90: 53 00 42 00 20 00 58 00 53 00 00 00 34 03 54 00
    [ 2464.082132] em28xx #0: i2c eeprom a0: 65 00 72 00 72 00 61 00 54 00 65 00 63 00 20 00
    [ 2464.082141] em28xx #0: i2c eeprom b0: 45 00 6c 00 65 00 63 00 74 00 72 00 6f 00 6e 00
    [ 2464.082150] em28xx #0: i2c eeprom c0: 69 00 63 00 20 00 47 00 6d 00 62 00 48 00 00 00
    [ 2464.082159] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2464.082169] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2464.082178] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [ 2464.082188] EEPROM ID= 0x9567eb1a, hash = 0x41d0bf96
    [ 2464.082189] Vendor/Product ID= 0ccd:0042
    [ 2464.082191] AC97 audio (5 sample rates)
    [ 2464.082192] 500mA max power
    [ 2464.082194] Table at 0x06, strings=0x326a, 0x349c, 0x0000
    [ 2464.084389] xc2028 0-0061: creating new instance
    [ 2464.084392] xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
    [ 2464.084399] i2c-adapter i2c-0: firmware: requesting xc3028-v27.fw
    [ 2464.098520] xc2028 0-0061: Error: firmware xc3028-v27.fw not found.
    [ 2464.196521] tvp5150 0-005c: tvp5150am1 detected.
    [ 2464.349386] em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0
    [ 2464.381220] xc2028 0-0061: attaching existing instance
    [ 2464.381223] xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
    [ 2464.381225] em28xx #0/2: xc3028 attached
    [ 2464.381227] DVB: registering new adapter (em28xx #0)
    [ 2464.381230] DVB: registering adapter 0 frontend 0 (Zarlink ZL10353 DVB-T)…
    [ 2464.381494] Successfully loaded em28xx-dvb
    [ 2464.381497] em28xx #0: Found Terratec Hybrid XS

    D’après les dernières lignes ça à l’air bon, mais j’y comprend pas grand chose…

  4. Ouf, problème résolu grâce à ce post:

    http://forum.ubuntu-fr.org/viewtopic.php?id=240517

    Le problème venait des lignes:

    [ 3852.115186] xc2028 0-0061: Error: firmware xc3028-v27.fw not found.
    [ 3853.180550] i2c-adapter i2c-0: firmware: requesting xc3028-v27.fw

    qui apparaissent avec « dmesg », non pas au branchement, mais lors du scan…

  5. Re c’est encore moi, dsl pour le spam

    La tv marche bien mais la télécommande pas du tout

    Jusqu’a maintenant, au moins quelques boutons étaient reconnus et avant hardy j’arrivais même à tous les utiliser avec lirc, mais là y a carrément rien, « xev » retourne rien lorsque j’appuie sur les boutons…

    Est-ce qu’il y a un moyen de la faire fonctionner ? installer un firmware ou qqch ou bien laisser tomber pour le moment ?

  6. Désolé pour le retard :s …
    Le problème vient de la version du driver, faudrait réussir à le mettre à jour …

  7. Salut, je croyais que mcentral.de était fermé ! J’ai une clé pinnacle hybrid-pro reconnue comme une Zarlink ZL10353.
    Il y a longtemps que je cherche une solution pour la faire fonctionner, mais après de nombreux forums et d’essais, j’ai un peu abandonné, en espérant que la prochaine distribution de Ubuntu incluera les drivers (si c’est possible ?).

    Bon courage…

  8. Salut les gars,
    je suis nouveau sous ubuntu parceke ras le bol de windows, je trouve tout ça génial même si j’ai un peu de mal à suivre au niveau des commandes, j’ai l’impression que par moment je ne suis pas sous la bonne arborescence. J’ai cette erreur :
    sudo cp linux-source-2.6.27/drivers/media/dvb/dvb-core/*.h linux-headers-$(uname -r)/drivers/media/dvb/dvb-core/
    comment je fais si je veux utiliser le script ? merci de votre aide je débute

  9. non…je voulais dire cette erreur :
    laptop:/usr/src$ sudo modprobe em28xx
    FATAL: Module em28xx not found.

Les commentaires sont fermés.