Asustek-p7131

Un article de Linuxette.

Jump to: navigation, search

Configuration de la carte tnt hybride Asustek P7131

Sommaire

Informations

Normalement, cette carte dispose d'un tuner tnt, donc, mais aussi tv et radio(ainsi qu'une télécommande: cf plus bas). D'ailleur, quand les modules nécessaires sont chargés, nous disposons des fichiers suivant (extrait de /var/log/syslog):

  May 26 16:51:59 divxbox kernel: [   44.226292] saa7133[0]: registered device video0 [v4l2]
  May 26 16:51:59 divxbox kernel: [   44.226370] saa7133[0]: registered device vbi0
  May 26 16:51:59 divxbox kernel: [   44.226443] saa7133[0]: registered device radio0

Pour la tnt, il y a

   $ ls -l /dev/dvb/*
   total 0
   crw-rw---- 1 root video 212, 4 2007-06-11 20:24 demux0
   crw-rw---- 1 root video 212, 5 2007-06-11 20:24 dvr0
   crw-rw---- 1 root video 212, 3 2007-06-11 20:24 frontend0
   crw-rw---- 1 root video 212, 7 2007-06-11 20:24 net0

Informations système:

  • lspci:
   00:08.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d1)
  • lspci -nv:
   00:08.0 0480: 1131:7133 (rev d1)
           Subsystem: 1043:4876
           Flags: bus master, medium devsel, latency 32, IRQ 11
           Memory at d3005000 (32-bit, non-prefetchable) [size=2K]
           Capabilities: <access denied>

Les modules à charger sont les suivant:

 saa7134_alsa, i2c_core, saa7134_dvb, dvb_pll, tda1004x, tuner, saa7134, ir_kbd_i2c, ir_common

Résultat dans /var/log/syslog:

   'en attente'

Les modules saa7134* sont incorporé à présent dans les noyaux 2.6.15 et suivant, mais apparemment, pas encore complètements fonctionnels (par exemple: au niveau de la télécommande pour cette carte).

Aide trouvé


Dernier modules fonctionnels

kernel 2.6.20.11 + patch suspend2-2.2.10-for-2.6.20.11.patch sources des modules pour la carte trouvé sur http://linuxtv.org/hg/~hhackmann/v4l-dvb/ (le chemin de recherche de cette information est assez compliqué, je vous fais grâce des détails...). Récupération des sources:

   $ cd ~/temp
   $ hg clone http://linuxtv.org/hg/~hhackmann/v4l-dvb
   $ cd v4l-dvb
   $ less INSTALL
   $ make clean
   $ make
   $ sudo make install

J'ai testé en enlevant TOUS les modules dépendant de v4l2 (par sécurité)

   $ sudo rmmod saa7134_dvb saa7134_alsa saa7134 ir_kbd_i2c ir_common v4l_common tuner videodev v4l2_common pwc tuner videodev v4l2_common dvb_pll tda826x mt352 tda10086 nxt200x isl6421 tda1004x
   $ cd /usr/src/linux/Documentation/dvb/
   $ sudo perl ./get_dvb_firmware tda10046lifeview
   $ sudo mv dvb-fe-tda10046.fw /lib/firmware/
   $ sudo modprobe saa7134 saa7134_dvb saa7134_alsa ir_common
   $ sudo less /var/log/syslog
   .../...
   [27.739106] ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
   [27.755624] saa7133[0]: found at 0000:00:08.0, rev: 209, irq: 11, latency: 32, mmio: 0xd3005000
   [27.772316] saa7133[0]: subsystem: 1043:4876, board: ASUSTeK P7131 Hybrid [card=112,autodetected]
   [27.789179] saa7133[0]: board init: gpio is 40000
   [27.805926] input: saa7134 IR (ASUSTeK P7131 Hybri as /class/input/input3
   [27.925619] Device driver i2c-1 lacks bus and class support for being resumed.
   [27.942444] i2c_adapter i2c-1: adapter [saa7133[0]] registered
   [27.942450] i2c_adapter i2c-1: master_xfer[0] R, addr=0x7a, len=0
   [27.942590] i2c_adapter i2c-1: master_xfer[0] R, addr=0x47, len=0
   [27.942765] i2c_adapter i2c-1: master_xfer[0] R, addr=0x71, len=0
   [27.942940] i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=1
   [27.949571] i2c_adapter i2c-1: master_xfer[0] R, addr=0x50, len=128
   [27.973549] saa7133[0]: i2c eeprom 00: 43 10 76 48 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
   [27.990675] saa7133[0]: i2c eeprom 10: ff ff ff 0f ff 20 ff ff ff ff ff ff ff ff ff ff
   [28.007644] saa7133[0]: i2c eeprom 20: 01 40 01 02 03 01 01 03 08 ff 00 d5 ff ff ff ff
   [28.024405] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
   [28.040860] saa7133[0]: i2c eeprom 40: ff 21 00 c2 96 10 03 32 55 50 ff ff ff ff ff ff
   [28.057004] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
   [28.073037] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
   [28.088789] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
   [28.104221] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=3
   [28.128966] i2c-core: driver [tuner] registered
   [28.128973] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x42
   [28.128979] i2c_adapter i2c-1: master_xfer[0] W, addr=0x42, len=0
   [28.129119] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x43
   [28.129123] i2c_adapter i2c-1: master_xfer[0] W, addr=0x43, len=0
   [28.129297] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x4a
   [28.129301] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4a, len=0
   [28.129490] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x4b
   [28.129494] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=0
   .../...
   [28.201387] tuner 1-004b: chip found @ 0x96 (saa7133[0])
   [28.216322] i2c_adapter i2c-1: client [(tuner unset)] registered with bus id 1-004b
   [28.216383] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [28.245336] i2c_adapter i2c-1: master_xfer[0] R, addr=0x60, len=1
   [28.245479] i2c_adapter i2c-1: master_xfer[0] R, addr=0x61, len=1
   [28.253322] i2c_adapter i2c-1: master_xfer[0] R, addr=0x62, len=1
   [28.253460] i2c_adapter i2c-1: master_xfer[0] R, addr=0x63, len=1
   [28.253635] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [28.261321] tuner 1-004b: setting tuner address to 61
   [28.276152] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [28.305287] i2c_adapter i2c-1: master_xfer[0] R, addr=0x61, len=1
   [28.313306] tuner 1-004b: type set to tda8290+75a
   [28.328036] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   .../...
   [29.692585] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [29.700269] tuner 1-004b: setting tuner address to 61
   [29.714911] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [29.744236] i2c_adapter i2c-1: master_xfer[0] R, addr=0x61, len=1
   [29.752230] tuner 1-004b: type set to tda8290+75a
   .../...
   [31.093171] i2c_adapter i2c-1: master_xfer[0] W, addr=0x6b, len=0
   [31.093346] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x6c
   [31.093349] i2c_adapter i2c-1: master_xfer[0] W, addr=0x6c, len=0
   [31.093523] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x6d
   [31.093526] i2c_adapter i2c-1: master_xfer[0] W, addr=0x6d, len=0
   [31.093699] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x6e
   [31.093702] i2c_adapter i2c-1: master_xfer[0] W, addr=0x6e, len=0
   [31.093876] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x6f
   [31.093879] i2c_adapter i2c-1: master_xfer[0] W, addr=0x6f, len=0
   [31.097837] saa7133[0]: registered device video0 [v4l2]
   [31.112465] saa7133[0]: registered device vbi0
   [31.126816] saa7133[0]: registered device radio0
   [31.141038] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [31.171218] i2c_adapter i2c-1: master_xfer[0] W, addr=0x61, len=2
   [31.179209] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [31.187197] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [31.195180] i2c_adapter i2c-1: master_xfer[0] W, addr=0x4b, len=2
   [31.203196] PCI driver saa7134 lacks driver specific resume support.
   [31.220595] PCI driver parport_pc lacks driver specific resume support.
   [31.310263] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=1
   [31.310268] i2c_adapter i2c-1: master_xfer[1] R, addr=0x08, len=1
   [31.349044] DVB: registering new adapter (saa7133[0]).
   [31.349051] DVB: registering frontend 0 (Philips TDA10046H DVB-T)...
   [31.349274] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=2
   [31.355068] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=1
   [31.355071] i2c_adapter i2c-1: master_xfer[1] R, addr=0x08, len=1
   [31.363077] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=2
   [31.395064] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=2
   [31.403062] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=1
   [31.403068] i2c_adapter i2c-1: master_xfer[1] R, addr=0x08, len=1
   [31.411066] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=2
   [31.435051] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=2
   [31.443044] tda1004x: setting up plls for 48MHz sampling clock
   [31.457064] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=2
   [31.730821] i2c_adapter i2c-1: master_xfer[1] R, addr=0x08, len=1
   [31.738821] tda1004x: found firmware revision 29 -- ok
   [31.752638] i2c_adapter i2c-1: master_xfer[0] W, addr=0x08, len=1
   .../...
   [33.776538] saa7134 ALSA driver for DMA sound loaded
   [33.790675] saa7133[0]/alsa: saa7133[0] at 0xd3005000 irq 11 registered as card -1
   [33.851202] i2c /dev entries driver
   [33.866691] i2c-core: driver [dev_driver] registered
   [33.868052] i2c-dev: adapter [SiS96x SMBus adapter at 0x1080] registered as minor 0
   [33.869437] i2c-dev: adapter [saa7133[0]] registered as minor 1
   [33.880767] i2c-core: driver [eeprom] registered
   [33.880775] i2c_adapter i2c-0: found normal entry for adapter 0, addr 0x50
   [33.893223] i2c_adapter i2c-0: client [eeprom] registered with bus id 0-0050
   [33.894392] i2c_adapter i2c-0: found normal entry for adapter 0, addr 0x51
   [33.901214] i2c_adapter i2c-0: found normal entry for adapter 0, addr 0x52
   [33.909227] i2c_adapter i2c-0: found normal entry for adapter 0, addr 0x53
   [33.917201] i2c_adapter i2c-0: found normal entry for adapter 0, addr 0x54
   [33.925196] i2c_adapter i2c-0: found normal entry for adapter 0, addr 0x55
   [33.933190] i2c_adapter i2c-0: found normal entry for adapter 0, addr 0x56
   [33.941183] i2c_adapter i2c-0: found normal entry for adapter 0, addr 0x57
   [33.949179] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x50
   [33.949183] i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=0
   [33.957170] i2c_adapter i2c-1: master_xfer[0] W, addr=0x50, len=0
   [33.965167] i2c_adapter i2c-1: client [eeprom] registered with bus id 1-0050
   [33.966336] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x51
   [33.966344] i2c_adapter i2c-1: master_xfer[0] W, addr=0x51, len=0
   [33.966484] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x52
   [33.966487] i2c_adapter i2c-1: master_xfer[0] W, addr=0x52, len=0
   [33.966662] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x53
   [33.966665] i2c_adapter i2c-1: master_xfer[0] W, addr=0x53, len=0
   [33.966840] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x54
   [33.966843] i2c_adapter i2c-1: master_xfer[0] W, addr=0x54, len=0
   [33.967017] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x55
   [33.967021] i2c_adapter i2c-1: master_xfer[0] W, addr=0x55, len=0
   [33.967195] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x56
   [33.967198] i2c_adapter i2c-1: master_xfer[0] W, addr=0x56, len=0
   [33.967373] i2c_adapter i2c-1: found normal entry for adapter 1, addr 0x57
   [33.967376] i2c_adapter i2c-1: master_xfer[0] W, addr=0x57, len=0
   [33.977000] Device driver i2c-9191 lacks bus and class support for being resumed.
   [34.022788] i2c_adapter i2c-9191: client [w83697hf] registered with bus id 9191-0290
   [34.077937] irda_init()

Utilisation de cvs

A présent ( 03 Aout 2007) les modules sont utilisables dans la version officielle du cvs v4l-dvb . On peu donc utiliser celui_ci au lieux de ~hhackmann/v4l-dvb. Voici la marche à suivre:

Installation:

   $ cd ~/temp/
   $ hg clone http://linuxtv.org/hg/v4l-dvb
   $ cd v4l-dvb
   $ make distclean
   $ make
   $ sudo make install

Mise à jour:

   $ cd ~/temp/v4l-dvb/
   $ hg pull -u http://linuxtv.org/hg/v4l-dvb
   $ make distclean
   $ make
   $ sudo make install

Ensuite, vous pouvez décharger les modules puis les recharger, ou redemmarrer. Perso, j'ai eu besoin de redemarrer, et je ne sais pas pourquoi!


Télécommande

Celle ci comporte la référence "model pc-39" à son verso. Pour l'utiliser, j'ai récupéré quelque part sur le net (je n'ai plus l'adresse, désolé (voir plus bas) ), des utilitaires pour faire des tests. L'un des tests utilise la commande ls-input pour trouver le périphérique à utiliser:

   $ ./lsinput
   .../...
   /dev/input/event3
      bustype : BUS_PCI
      vendor  : 0x1043
      product : 0x4876
      version : 1
      name    : "saa7134 IR (ASUSTeK P7131 Hybri"
      phys    : "pci-0000:00:08.0/ir0"
      bits ev : EV_SYN EV_KEY EV_REP

A noter que syslog me le dit aussi (voir plus haut):

   [27.805926] input: saa7134 IR (ASUSTeK P7131 Hybri as /class/input/input3

La dessus, j'utilise ce périphérique pour ce second test:

   $ ./input-events /dev/input/event3

et effectivement, un certain nombre de touches de la télécommande fonctionnent.

A présent, il faut utiliser la télécommande correctement. Pour cela lircd est utile!

Il y a deux fichiers à configurer:

   $ cat /etc/lirc/hardware.conf
   # /etc/lirc/hardware.conf
   #
   # Arguments which will be used when launching lircd
   LIRCD_ARGS=""
   #Don't start lircmd even if there seems to be a good config file
   #START_LIRCMD=false
   #Try to load appropriate kernel modules
   LOAD_MODULES=true
   # Run "lircd --driver=help" for a list of supported drivers.
   DRIVER="dev/input"
   # If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
   # automatically used instead
   DEVICE="/dev/remote"
   MODULES=""
   
   # Default configuration files for your hardware if any
   LIRCD_CONF=""
   LIRCMD_CONF=""

Le DEVICE utilisé est généré par udev, en ajoutant les deux lignes suivantes dans /etc/udev/rules.d/50-local.rules:

   # Create symlinks for ir remote on TNT card Asustek P7131
   SUBSYSTEMS=="input", ATTRS{phys}=="pci-0000:00:08.0/ir0", SYMLINK+="remote", MODE="0666"

Comme ceci, il n'y a pas à chercher si le périphérique s'appelle input2 ou input3....

Ne pas oublier de redémarrer udev!

Second fichier à configurer: /etc/lirc/lircd.conf, afin que les codes des touches appuyées, correspondent à un texte. Toujours avec mes sources trouvées, j'ai un petit programme appelé lirc.sh. Celui ci m'a fourni tous les textes correspondant aux touches, sans me fatiguer! Voici donc mon fichier:

   $ cat /etc/lirc/lircd.conf
   begin remote
           name linux-input-layer
           bits 32
           begin codes
                   ESC                  0x10001
                   1                    0x10002
                   2                    0x10003
                   3                    0x10004
                   4                    0x10005
                   5                    0x10006
                   6                    0x10007
                   7                    0x10008
                   8                    0x10009
                   9                    0x1000a
                   0                    0x1000b
                   MINUS                0x1000c
                   EQUAL                0x1000d
                   BACKSPACE            0x1000e
                   TAB                  0x1000f
                   Q                    0x10010
                   W                    0x10011
                   E                    0x10012
                   R                    0x10013
                   T                    0x10014
                   Y                    0x10015
                   U                    0x10016
                   I                    0x10017
                   O                    0x10018
                   P                    0x10019
                   LEFTBRACE            0x1001a
                   RIGHTBRACE           0x1001b
                   ENTER                0x1001c
                   LEFTCTRL             0x1001d
                   A                    0x1001e
                   S                    0x1001f
                   D                    0x10020
                   F                    0x10021
                   G                    0x10022
                   H                    0x10023
                   J                    0x10024
                   K                    0x10025
                   L                    0x10026
                   SEMICOLON            0x10027
                   APOSTROPHE           0x10028
                   GRAVE                0x10029
                   LEFTSHIFT            0x1002a
                   BACKSLASH            0x1002b
                   Z                    0x1002c
                   X                    0x1002d
                   C                    0x1002e
                   V                    0x1002f
                   B                    0x10030
                   N                    0x10031
                   M                    0x10032
                   COMMA                0x10033
                   DOT                  0x10034
                   SLASH                0x10035
                   RIGHTSHIFT           0x10036
                   KPASTERISK           0x10037
                   LEFTALT              0x10038
                   SPACE                0x10039
                   CAPSLOCK             0x1003a
                   F1                   0x1003b
                   F2                   0x1003c
                   F3                   0x1003d
                   F4                   0x1003e
                   F5                   0x1003f
                   F6                   0x10040
                   F7                   0x10041
                   F8                   0x10042
                   F9                   0x10043
                   F10                  0x10044
                   NUMLOCK              0x10045
                   SCROLLLOCK           0x10046
                   KP7                  0x10047
                   KP8                  0x10048
                   KP9                  0x10049
                   KPMINUS              0x1004a
                   KP4                  0x1004b
                   KP5                  0x1004c
                   KP6                  0x1004d
                   KPPLUS               0x1004e
                   KP1                  0x1004f
                   KP2                  0x10050
                   KP3                  0x10051
                   KP0                  0x10052
                   KPDOT                0x10053
                   103RD                0x10054
                   F13                  0x10055
                   102ND                0x10056
                   F11                  0x10057
                   F12                  0x10058
                   F14                  0x10059
                   F15                  0x1005a
                   F16                  0x1005b
                   F17                  0x1005c
                   F18                  0x1005d
                   F19                  0x1005e
                   F20                  0x1005f
                   KPENTER              0x10060
                   RIGHTCTRL            0x10061
                   KPSLASH              0x10062
                   SYSRQ                0x10063
                   RIGHTALT             0x10064
                   LINEFEED             0x10065
                   HOME                 0x10066
                   UP                   0x10067
                   PAGEUP               0x10068
                   LEFT                 0x10069
                   RIGHT                0x1006a
                   END                  0x1006b
                   DOWN                 0x1006c
                   PAGEDOWN             0x1006d
                   INSERT               0x1006e
                   DELETE               0x1006f
                   MACRO                0x10070
                   MUTE                 0x10071
                   VOLUMEDOWN           0x10072
                   VOLUMEUP             0x10073
                   POWER                0x10074
                   KPEQUAL              0x10075
                   KPPLUSMINUS          0x10076
                   PAUSE                0x10077
                   F21                  0x10078
                   F22                  0x10079
                   F23                  0x1007a
                   F24                  0x1007b
                   KPCOMMA              0x1007c
                   LEFTMETA             0x1007d
                   RIGHTMETA            0x1007e
                   COMPOSE              0x1007f
                   STOP                 0x10080
                   AGAIN                0x10081
                   PROPS                0x10082
                   UNDO                 0x10083
                   FRONT                0x10084
                   COPY                 0x10085
                   OPEN                 0x10086
                   PASTE                0x10087
                   FIND                 0x10088
                   CUT                  0x10089
                   HELP                 0x1008a
                   MENU                 0x1008b
                   CALC                 0x1008c
                   SETUP                0x1008d
                   SLEEP                0x1008e
                   WAKEUP               0x1008f
                   FILE                 0x10090
                   SENDFILE             0x10091
                   DELETEFILE           0x10092
                   XFER                 0x10093
                   PROG1                0x10094
                   PROG2                0x10095
                   WWW                  0x10096
                   MSDOS                0x10097
                   COFFEE               0x10098
                   DIRECTION            0x10099
                   CYCLEWINDOWS         0x1009a
                   MAIL                 0x1009b
                   BOOKMARKS            0x1009c
                   COMPUTER             0x1009d
                   BACK                 0x1009e
                   FORWARD              0x1009f
                   CLOSECD              0x100a0
                   EJECTCD              0x100a1
                   EJECTCLOSECD         0x100a2
                   NEXTSONG             0x100a3
                   PLAYPAUSE            0x100a4
                   PREVIOUSSONG         0x100a5
                   STOPCD               0x100a6
                   RECORD               0x100a7
                   REWIND               0x100a8
                   PHONE                0x100a9
                   ISO                  0x100aa
                   CONFIG               0x100ab
                   HOMEPAGE             0x100ac
                   REFRESH              0x100ad
                   EXIT                 0x100ae
                   MOVE                 0x100af
                   EDIT                 0x100b0
                   SCROLLUP             0x100b1
                   SCROLLDOWN           0x100b2
                   KPLEFTPAREN          0x100b3
                   KPRIGHTPAREN         0x100b4
                   INTL1                0x100b5
                   INTL2                0x100b6
                   INTL3                0x100b7
                   INTL4                0x100b8
                   INTL5                0x100b9
                   INTL6                0x100ba
                   INTL7                0x100bb
                   INTL8                0x100bc
                   INTL9                0x100bd
                   LANG1                0x100be
                   LANG2                0x100bf
                   LANG3                0x100c0
                   LANG4                0x100c1
                   LANG5                0x100c2
                   LANG6                0x100c3
                   LANG7                0x100c4
                   LANG8                0x100c5
                   LANG9                0x100c6
                   PLAYCD               0x100c8
                   PAUSECD              0x100c9
                   PROG3                0x100ca
                   PROG4                0x100cb
                   SUSPEND              0x100cd
                   CLOSE                0x100ce
                   PLAY                 0x100cf
                   FASTFORWARD          0x100d0
                   BASSBOOST            0x100d1
                   PRINT                0x100d2
                   HP                   0x100d3
                   CAMERA               0x100d4
                   SOUND                0x100d5
                   QUESTION             0x100d6
                   EMAIL                0x100d7
                   CHAT                 0x100d8
                   SEARCH               0x100d9
                   CONNECT              0x100da
                   FINANCE              0x100db
                   SPORT                0x100dc
                   SHOP                 0x100dd
                   ALTERASE             0x100de
                   CANCEL               0x100df
                   BRIGHTNESSDOWN       0x100e0
                   BRIGHTNESSUP         0x100e1
                   MEDIA                0x100e2
                   UNKNOWN              0x100f0
                   BTN_MISC             0x10100
                   BTN_0                0x10100
                   BTN_1                0x10101
                   BTN_2                0x10102
                   BTN_3                0x10103
                   BTN_4                0x10104
                   BTN_5                0x10105
                   BTN_6                0x10106
                   BTN_7                0x10107
                   BTN_8                0x10108
                   BTN_9                0x10109
                   BTN_MOUSE            0x10110
                   BTN_LEFT             0x10110
                   BTN_RIGHT            0x10111
                   BTN_MIDDLE           0x10112
                   BTN_SIDE             0x10113
                   BTN_EXTRA            0x10114
                   BTN_FORWARD          0x10115
                   BTN_BACK             0x10116
                   BTN_TASK             0x10117
                   BTN_JOYSTICK         0x10120
                   BTN_TRIGGER          0x10120
                   BTN_THUMB            0x10121
                   BTN_THUMB2           0x10122
                   BTN_TOP              0x10123
                   BTN_TOP2             0x10124
                   BTN_PINKIE           0x10125
                   BTN_BASE             0x10126
                   BTN_BASE2            0x10127
                   BTN_BASE3            0x10128
                   BTN_BASE4            0x10129
                   BTN_BASE5            0x1012a
                   BTN_BASE6            0x1012b
                   BTN_DEAD             0x1012f
                   BTN_GAMEPAD          0x10130
                   BTN_A                0x10130
                   BTN_B                0x10131
                   BTN_C                0x10132
                   BTN_X                0x10133
                   BTN_Y                0x10134
                   BTN_Z                0x10135
                   BTN_TL               0x10136
                   BTN_TR               0x10137
                   BTN_TL2              0x10138
                   BTN_TR2              0x10139
                   BTN_SELECT           0x1013a
                   BTN_START            0x1013b
                   BTN_MODE             0x1013c
                   BTN_THUMBL           0x1013d
                   BTN_THUMBR           0x1013e
                   BTN_DIGI             0x10140
                   BTN_TOOL_PEN         0x10140
                   BTN_TOOL_RUBBER      0x10141
                   BTN_TOOL_BRUSH       0x10142
                   BTN_TOOL_PENCIL      0x10143
                   BTN_TOOL_AIRBRUSH    0x10144
                   BTN_TOOL_FINGER      0x10145
                   BTN_TOOL_MOUSE       0x10146
                   BTN_TOOL_LENS        0x10147
                   BTN_TOUCH            0x1014a
                   BTN_STYLUS           0x1014b
                   BTN_STYLUS2          0x1014c
                   BTN_WHEEL            0x10150
                   BTN_GEAR_DOWN        0x10150
                   BTN_GEAR_UP          0x10151
                   OK                   0x10160
                   SELECT               0x10161
                   GOTO                 0x10162
                   CLEAR                0x10163
                   POWER2               0x10164
                   OPTION               0x10165
                   INFO                 0x10166
                   TIME                 0x10167
                   VENDOR               0x10168
                   ARCHIVE              0x10169
                   PROGRAM              0x1016a
                   CHANNEL              0x1016b
                   FAVORITES            0x1016c
                   EPG                  0x1016d
                   PVR                  0x1016e
                   MHP                  0x1016f
                   LANGUAGE             0x10170
                   TITLE                0x10171
                   SUBTITLE             0x10172
                   ANGLE                0x10173
                   ZOOM                 0x10174
                   MODE                 0x10175
                   KEYBOARD             0x10176
                   SCREEN               0x10177
                   PC                   0x10178
                   TV                   0x10179
                   TV2                  0x1017a
                   VCR                  0x1017b
                   VCR2                 0x1017c
                   SAT                  0x1017d
                   SAT2                 0x1017e
                   CD                   0x1017f
                   TAPE                 0x10180
                   RADIO                0x10181
                   TUNER                0x10182
                   PLAYER               0x10183
                   TEXT                 0x10184
                   DVD                  0x10185
                   AUX                  0x10186
                   MP3                  0x10187
                   AUDIO                0x10188
                   VIDEO                0x10189
                   DIRECTORY            0x1018a
                   LIST                 0x1018b
                   MEMO                 0x1018c
                   CALENDAR             0x1018d
                   RED                  0x1018e
                   GREEN                0x1018f
                   YELLOW               0x10190
                   BLUE                 0x10191
                   CHANNELUP            0x10192
                   CHANNELDOWN          0x10193
                   FIRST                0x10194
                   LAST                 0x10195
                   AB                   0x10196
                   NEXT                 0x10197
                   RESTART              0x10198
                   SLOW                 0x10199
                   SHUFFLE              0x1019a
                   BREAK                0x1019b
                   PREVIOUS             0x1019c
                   DIGITS               0x1019d
                   TEEN                 0x1019e
                   TWEN                 0x1019f
                   DEL_EOL              0x101c0
                   DEL_EOS              0x101c1
                   INS_LINE             0x101c2
                   DEL_LINE             0x101c3
           end codes
   end remote

Je redémarre lircd, et hop, un petit test:

   $ evtest /dev/input/event3
   Testing ... (interrupt to exit)
   Event: time 1182456876.358837, type 1 (Key), code 2 (1), value 1
   Event: time 1182456876.358839, type 0 (Reset), code 0 (Reset), value 0
   &Event: time 1182456876.586840, type 1 (Key), code 2 (1), value 0
   Event: time 1182456876.586842, type 0 (Reset), code 0 (Reset), value 0
   Event: time 1182456880.414947, type 1 (Key), code 128 (Stop), value 1
   Event: time 1182456880.414949, type 0 (Reset), code 0 (Reset), value 0
   Event: time 1182456880.642951, type 1 (Key), code 128 (Stop), value 0
   Event: time 1182456880.642953, type 0 (Reset), code 0 (Reset), value 0
   Event: time 1182456882.691018, type 1 (Key), code 407 (Play), value 1
   Event: time 1182456882.691021, type 0 (Reset), code 0 (Reset), value 0
   Event: time 1182456882.919016, type 1 (Key), code 407 (Play), value 0
   Event: time 1182456882.919018, type 0 (Reset), code 0 (Reset), value 0

A noter, sur la troisième line, le caractère '&', qui est envoyé par la télécommande, puis changé en '1'

--Admin 21 juin 2007 à 22:20 (CEST)

Ca y est, j'ai retrouvé l'adresse des outils de tests: http://dl.bytesex.org/cvs-snapshots/

Le fichier se nomme: input-20051128-143821.tar.gz

Et la page qui m'a donné ce lien: http://www.linuxtv.org/v4lwiki/index.php/Remote_controllers

Avec ça, vous devez vous en sortir!

--Admin 7 août 2007 à 10:17 (CEST)

comment utiliser la télécomande?

A présent que la télécommande est reconnu, le demon lircd est en arrière-plan, il faut pouvoir utiliser tout ça pour quelques applications!

Ce n'est en fait, pas compliqué. Il faut utiliser le programme irexec! C'est tout!

Bon, je sais, dit comme ça, c'est simple. Il faut configurer irexec avec deux fichiers de configuration:

  • /etc/lircrc

et/ou

  • ~/.lircrc

pour jouer, j'ai créé /etc/lircrc:

   begin
        remote = linux-input-layer
        button = POWER
        prog = irexec
        repeat = 0
        config = hibernate.sh
   end
   
   begin
        remote = linux-input-layer
        button = RECORD
        prog = irexec
        repeat = 0
        config = iceweasel
   end

J'exécute irexec en console, sous root, et si j'appui sur le bouton 'RECORD', j'ai iceweasel qui se lance sous root. Arf, c'est pas top. Le même fichier mais je lance irexec sous l'utilisateur 'remi' et iceweasel se lance sous l'utilisateur remi (avec son historique, ses bookmark, ...) Pour trouver le nom de la télécommande (ligne 'remote='), j'ai utiliser en console, irw et appuyé sur les touches de la télécommande:

   # irw
   00000000000100a7 00 RECORD linux-input-layer
   000000000001019c 00 PREVIOUS linux-input-layer
   0000000000010197 00 NEXT linux-input-layer
   00000000000100d0 00 FASTFORWARD linux-input-layer
   00000000000100a8 00 REWIND linux-input-layer
   0000000000010002 00 1 linux-input-layer

Je pense de c'est clair: en dernier, le nom de la télécommande, en avant dernier, le nom de la touche appuyée!

Vous pouvez lancer une fois irexec sous root (au boot, par exemple), puis une fois sous l'utilisateur actuellement connecté. Cela fonctionne. Attention par contre, aux doublons dans les fichiers lircrc! La commande spécifiée sera exécuter deux fois!

A vous de jouer!

--Admin 7 août 2007 à 10:17 (CEST)