Questo e' il classico argomento che ti fa odiare Linux ed in particolare Debian
Mi e' stato regalato il ricevitore infrarosso HP ed il relativo telecomando in fotografia. Connessi ad un computer con XP entrambi sono stati riconosciuti senza problemi senza la necessita' di installare driver
Connessa la porta usb del ricevitore la risposta in dmesg e' la seguente
--------------------------------------
Feb 26 15:59:41 debian kernel: [ 134.156199] usb 5-1: new full-speed USB device number 2 using uhci_hcd
Feb 26 15:59:41 debian kernel: [ 134.325313] usb 5-1: New USB device found, idVendor=0471, idProduct=0815
Feb 26 15:59:41 debian kernel: [ 134.325328] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 26 15:59:41 debian kernel: [ 134.325338] usb 5-1: Product: eHome Infrared Transceiver
Feb 26 15:59:41 debian kernel: [ 134.325347] usb 5-1: Manufacturer: Philips
Feb 26 15:59:41 debian kernel: [ 134.325354] usb 5-1: SerialNumber: PH00Whgx
Feb 26 15:59:41 debian mtp-probe: checking bus 5, device 2: "/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1"
Feb 26 15:59:41 debian mtp-probe: bus: 5, device: 2 was not an MTP device
Feb 26 15:59:41 debian kernel: [ 134.456823] IR NEC protocol handler initialized
Feb 26 15:59:41 debian kernel: [ 134.475076] IR RC5(x) protocol handler initialized
Feb 26 15:59:41 debian kernel: [ 134.479146] IR RC6 protocol handler initialized
Feb 26 15:59:41 debian kernel: [ 134.484878] IR JVC protocol handler initialized
Feb 26 15:59:41 debian kernel: [ 134.488290] Registered IR keymap rc-rc6-mce
Feb 26 15:59:41 debian kernel: [ 134.488876] input: Media Center Ed. eHome Infrared Remote Transceiver (0471:0815) as /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/rc/rc0/input12
Feb 26 15:59:41 debian kernel: [ 134.489504] rc0: Media Center Ed. eHome Infrared Remote Transceiver (0471:0815) as /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/rc/rc0
Feb 26 15:59:41 debian kernel: [ 134.493005] IR Sony protocol handler initialized
Feb 26 15:59:41 debian kernel: [ 134.499517] input: MCE IR Keyboard/Mouse (mceusb) as /devices/virtual/input/input13
Feb 26 15:59:41 debian kernel: [ 134.499964] IR MCE Keyboard/mouse protocol handler initialized
Feb 26 15:59:41 debian kernel: [ 134.513576] lirc_dev: IR Remote Control driver registered, major 251
Feb 26 15:59:41 debian kernel: [ 134.516637] rc rc0: lirc_dev: driver ir-lirc-codec (mceusb) registered at minor = 0
Feb 26 15:59:41 debian kernel: [ 134.516647] IR LIRC bridge handler initialized
Feb 26 15:59:42 debian kernel: [ 134.712239] mceusb 5-1:1.0: Registered Philips eHome Infrared Transceiver with mce emulator interface version 1
Feb 26 15:59:42 debian kernel: [ 134.712254] mceusb 5-1:1.0: 2 tx ports (0x0 cabled) and 2 rx sensors (0x1 active)
Feb 26 15:59:42 debian kernel: [ 134.712356] usbcore: registered new interface driver mceusb
--------------------------------------
Come si vede chiaramente (anche dalla foto) il dispositivo e' compatibile con Windows Media Center (MCE)
Per controllare il dispositivo sotto Linux e' necessario installare il software lirc per cui mi sono attrezzato con
apt-get install lirc
il demone pero' non riesce a partire e la soluzione e' abbastanza banale.Se si guarda nella directory /etc/lirc/ si puo' vedere che tutti i file di configurazione sono vuoti per cui ho cercato su Internet le corrette configurazioni sulla base delle informazioni ricavate dai log
alla fine il demone insiste a non partire e la soluzione e' ancora una volta chiara
il file di configurazione richiede il modulo mceusb2 ma digitando da linea di comando
modprobe mceusb2
il modulo non viene trovato
sono ripartito quindi da capo rimuovendo il pacchetto deb di lirc
apt-get remove lirc
e scaricando da internet il sorgente di
lirc
in fase di ./configure viene richiesta la presenza libusb-dev per cui ho aggiunto
apt-get install libusb-dev
lanciando ./configure appare la seguente finestra (puo' essere necessario prima fare
apt-get install dialog) e si deve selezionare nessun driver
a questo punto si puo' terminare la compilazione secondo il classico configure/make/make install
la novita' e' che il modulo mceusb e' presente e lanciando il demone
/etc/init.d/lirc start
il comando va a buon fine
i file di configurazione sono
hardware.conf
---------------------------------------
REMOTE="Windows Media Center Remotes (new version Philips et al.)"
REMOTE_MODULES="lirc_dev lirc_mceusb"
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="/dev/input/event12"
REMOTE_LIRCD_CONF="lircd.conf"
REMOTE_LIRCD_ARGS=""
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
START_LIRCD="true"
START_LIRCMD=""
LOAD_MODULES=""
LIRCMD_CONF=""
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
---------------------------------------
lircd.conf
---------------------------------------
#
# brand: HP/Philips/Microsoft/Other
# model no. of remote control: Media Center Edition remote
# devices being controlled by this remote: HP Slimline S3100y and a
# myriad of devices with Media Center Edition receivers
#
# RC-6 config file
#
# source: http://home.hccnet.nl/m.majoor/projects_remote_control.htm
# http://home.hccnet.nl/m.majoor/pronto.pdf
#
# used by: Philips
#
#########
#
# Philips Media Center Edition remote control
# For use with the USB MCE ir receiver
#
# Dan Conti dconti|acm.wwu.edu
#
# Updated with codes for MCE 2005 Remote additional buttons
# *, #, Teletext, Red, Green, Yellow & Blue Buttons
# Note: TV power button transmits no code until programmed.
# Updated 12th September 2005
# Graham Auld - mce|graham.auld.me.uk
#
# Radio, Print, RecTV are only available on the HP Media Center remote control
#
#
# Updated with codes for MCE 2007 Remote additional buttons
# Visualization, Aspect, SlideShow, Eject
# Note:
# Renamed some buttons: DVD->DVDMenu, More->MoreInfo, Star->Asterisk, Hash->Pound
# Note:
# Blue, Yellow, Green, Red, and Teletext buttons do not exist on the HP remote
begin remote
name mceusb
bits 16
flags RC6|CONST_LENGTH
eps 30
aeps 100
header 2667 889
one 444 444
zero 444 444
pre_data_bits 21
pre_data 0x37FF0
gap 105000
toggle_bit 22
rc6_mask 0x100000000
begin codes
#seen on HP Pavilion dv3t remote --Tim Mann, 3 Nov 2009
Media 0x00007b7f
PlayPause 0x00007b91
#unused by HP remote
KEY_BLUE 0x00007ba1
KEY_YELLOW 0x00007ba2
KEY_GREEN 0x00007ba3
KEY_RED 0x00007ba4
Teletext 0x00007ba5
#ba6 - bae unused
BA6 0x00007ba6
BA7 0x00007ba7
BA8 0x00007ba8
BA9 0x00007ba9
BAA 0x00007baa
BAB 0x00007bab
BAC 0x00007bac
BAD 0x00007bad
BAE 0x00007bae
KEY_RADIO 0x00007baf
Print 0x00007bb1
#bb2 - bb4 unused
BB2 0x00007bb2
BB3 0x00007bb3
BB4 0x00007bb4
KEY_VIDEO 0x00007bb5
Pictures 0x00007bb6
RecTV 0x00007bb7
KEY_AUDIO 0x00007bb8
KEY_TV 0x00007bb9
#bba - bbf unused
BBA 0x00007bba
BBB 0x00007bbb
BBC 0x00007bbc
BBD 0x00007bbd
BBE 0x00007bbe
BBF 0x00007bbf
#bc1 - bca unused
BC1 0x00007bc1
BC2 0x00007bc2
BC3 0x00007bc3
BC4 0x00007bc4
BC5 0x00007bc5
BC6 0x00007bc6
BC7 0x00007bc7
BC8 0x00007bc8
BC9 0x00007bc9
BCA 0x00007bca
KEY_EJECTCD 0x00007bcb
SlideShow 0x00007bcc
Visualization 0x00007bcd
#bce - bcf unused
BCE 0x00007bce
BCF 0x00007bcf
#bd1 - bd7 unused
BD1 0x00007bd1
BD2 0x00007bd2
BD3 0x00007bd3
BD4 0x00007bd4
BD5 0x00007bd5
BD6 0x00007bd6
BD7 0x00007bd7
Aspect 0x00007bd8
Guide 0x00007bd9
LiveTV 0x00007bda
KEY_DVD 0x00007bdb
#NoGap
KEY_BACK 0x00007bdc
KEY_OK 0x00007bdd
KEY_RIGHT 0x00007bde
KEY_LEFT 0x00007bdf
KEY_DOWN 0x00007be0
KEY_UP 0x00007be1
#NoGap
Star 0x00007be2
Hash 0x00007be3
#NoGap
KEY_AGAIN 0x00007be4
KEY_NEXT 0x00007be5
KEY_STOP 0x00007be6
KEY_PAUSE 0x00007be7
KEY_RECORD 0x00007be8
KEY_PLAY 0x00007be9
KEY_REWIND 0x00007bea
KEY_FORWARD 0x00007beb
#NoGap
KEY_CHANNELDOWN 0x00007bec
KEY_CHANNELUP 0x00007bed
KEY_VOLUMEDOWN 0x00007bee
KEY_VOLUMEUP 0x00007bef
#NoGap
More 0x00007bf0
KEY_MUTE 0x00007bf1
KEY_HOME 0x00007bf2
KEY_POWER 0x00007bf3
#NoGap
KEY_ENTER 0x00007bf4
KEY_CLEAR 0x00007bf5
#NoGap
KEY_9 0x00007bf6
KEY_8 0x00007bf7
KEY_7 0x00007bf8
KEY_6 0x00007bf9
KEY_5 0x00007bfa
KEY_4 0x00007bfb
KEY_3 0x00007bfc
KEY_2 0x00007bfd
KEY_1 0x00007bfe
KEY_0 0x00007bff
end codes
end remote
#
# this config file was automatically generated
# using lirc-0.8.4a(default) on Mon Feb 23 23:55:04 2009
#
# contributed by
#
# brand: Hauppauge
# model no. of remote control:
# devices being controlled by this remote: PVR-150 Remote (MCE kit)
# SMK dongle 0609:031d
#
begin remote
name mceusb_hauppauge
bits 13
flags RC6|CONST_LENGTH
eps 30
aeps 100
header 2674 870
one 455 427
zero 455 427
pre_data_bits 24
pre_data 0x1BFF82
gap 106288
min_repeat 1
toggle_bit_mask 0x8000
rc6_mask 0x100000000
begin codes
TV 0x1BB9
Music 0x1BB8
Pictures 0x1BB6
Videos 0x1BB5
Power 0x1BF3
Stop 0x1BE6
Record 0x1BE8
Pause 0x1BE7
Play 0x1BE9
Rewind 0x1BEA
Foward 0x1BEB
Replay 0x1BE4
Skip 0x1BE5
Back 0x1BDC
More 0x1BF0
Up 0x1BE1
Left 0x1BDF
Right 0x1BDE
OK 0x1BDD
Down 0x1BE0
VolUp 0x1BEF
VolDown 0x1BEE
Home 0x1BF2
ChanDown 0x1BED
ChanUp 0x1BEC
Mute 0x1BF1
RecTV 0x1BB7
Guide 0x1BD9
LiveTV 0x1BDA
DVD 0x1BDB
One 0x1BFE
Two 0x1BFD
Three 0x1BFC
Four 0x1BFB
Five 0x1BFA
Six 0x1BF9
Seven 0x1BF8
Eight 0x1BF7
Nine 0x1BF6
Star 0x1BE2
Zero 0x1BFF
Hash 0x1BE3
Clear 0x1BF5
Enter 0x1BF4
end codes
end remote
#
# this config file was automatically generated
# using lirc-0.8.4a(default) on Tue Mar 10 19:27:09 2009
#
# contributed by
#
# brand: SIIG Vista MCE remote
# model no. of remote control:
# devices being controlled by this remote:
#
begin remote
name vista_mce
bits 16
flags RC6
eps 30
aeps 100
header 2654 889
one 427 427
zero 427 427
pre_data_bits 21
pre_data 0x37FF0
gap 69850
toggle_bit_mask 0x8000
rc6_mask 0x100000000
begin codes
Power 0xEBF3
Pictures 0x6BB6
Radio 0xEBAF
Videos 0x6BB5
Music 0xEBB8
Rec 0x6BE8
Pause 0xEBE7
Stop 0x6BE6
Skipback 0xEBE4
Play 0x6BE9
Skipfwd 0xEBE5
Rwd 0x6BEA
Fwd 0xEBEB
Start 0x6BF2
Back 0xEBDC
More 0x6BF0
Volup 0xEBEF
Voldown 0x6BEE
Chup 0xEBED
Chdown 0x6BEC
Up 0xEBE1
Down 0x6BE0
Left 0xEBDF
Right 0x6BDE
Mute 0xEBF1
Rectv 0x6BB7
Guide 0xEBD9
Livetv 0x6BDA
Dvdmenu 0xEBDB
1 0x6BFE
2 0xEBFD
3 0x6BFC
4 0xEBFB
5 0x6BFA
6 0xEBF9
7 0x6BF8
8 0xEBF7
9 0x6BF6
* 0xEBE2
0 0x6BFF
# 0xEBE3
Clear 0x6BF5
Enter 0xEBF4
end codes
end remote
---------------------------------------
lanciando il comando ir-keytable si ottiene che il ricevitore e' su /dev/input/event12
-------------------------------------------------------------------
Found /sys/class/rc/rc0/ (/dev/input/event12) with:
Driver mceusb, table rc-rc6-mce
Supported protocols: NEC RC-5 RC-6 JVC SONY LIRC other
Enabled protocols: RC-6
Repeat delay = 500 ms, repeat period = 125 ms
-------------------------------------------------------------------
a questo punto si lancia
inputlircd /dev/input/event12
per controllare che tutto e' andato a buon fine ho quindi lanciato il comando
irw
ottenendo come risposta
-----------------------------------------------------
root@debian:/home/luca# irw
182 0 KEY_TUNER /dev/input/event12
72 0 KEY_VOLUMEDOWN /dev/input/event12
193 0 KEY_CHANNELDOWN /dev/input/event12
16d 0 KEY_EPG /dev/input/event12
71 0 KEY_MUTE /dev/input/event12
e2 0 KEY_MEDIA /dev/input/event12
197 0 KEY_NEXT /dev/input/event12
77 0 KEY_PAUSE /dev/input/event12
a8 0 KEY_REWIND /dev/input/event12
19c 0 KEY_PREVIOUS /dev/input/event12
160 0 KEY_OK /dev/input/event12
197 0 KEY_NEXT /dev/input/event12
71 0 KEY_MUTE /dev/input/event12
dopo tanto lavoro finalmente funziona