Asustek-p7131
Un article de Linuxette.
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é
- http://www.google.fr
- http://linuxtv.org/v4lwiki/index.php/Remote_controllers
- http://linuxtv.org/v4lwiki/index.php/Main_Page
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)

