xbianonpi / xbian

XBMC on Raspberry Pi, Bleeding Edge
https://xbian.org
GNU General Public License v3.0
294 stars 46 forks source link

[Please test] MCEUSB Remote not working #71

Closed c0rnflake closed 11 years ago

c0rnflake commented 11 years ago

OOTB my mceusb remote is not working as it should. The direction keys work, along with the enter key, but they are the only keys on the remote that work.

CurlyMoo commented 11 years ago

Can you run the command

irw 

and push buttons (including the direction buttons), are they recognized?

c0rnflake commented 11 years ago

yes, they are recognised. although I had to start lircd manually

CurlyMoo commented 11 years ago

Then enable debugging in XBMC. Push the different buttons (that work and don't work) and watch at the log file*:

tail /home/xbian/.xbmc/temp/xbmc.log

Can you post a few outputs (of working and non-working keys).

*Run this command a few times

c0rnflake commented 11 years ago

17:30:10 T:3042942976 INFO: LIRC Initialize: using: /dev/lircd 17:30:10 T:3042942976 DEBUG: Failed to connect to LIRC. Giving up. 17:30:29 T:3042942976 DEBUG: Keyboard: scancode: 67, sym: 0111, unicode: 0000, modifier: 0 17:30:29 T:3042942976 DEBUG: OnKey: up (f080) pressed, action is Up 17:30:33 T:3042942976 DEBUG: Keyboard: scancode: 6c, sym: 0112, unicode: 0000, modifier: 0 17:30:33 T:3042942976 DEBUG: OnKey: down (f081) pressed, action is Down 17:30:34 T:3042942976 DEBUG: Keyboard: scancode: 6a, sym: 0113, unicode: 0000, modifier: 0 17:30:34 T:3042942976 DEBUG: OnKey: right (f083) pressed, action is Right 17:30:35 T:3042942976 DEBUG: Keyboard: scancode: 69, sym: 0114, unicode: 0000, modifier: 0 17:30:35 T:3042942976 DEBUG: OnKey: left (f082) pressed, action is Left

the direction keys output this info in the debug log, the non working keys output nothing.

CurlyMoo commented 11 years ago

Was lirc running again?

c0rnflake commented 11 years ago

It wasn't, I started it manually, the ouput doesn't change from above

CurlyMoo commented 11 years ago

Does it still say Failed to connect to LIRC?

c0rnflake commented 11 years ago

No, no debug info saying unable to connect to lirc

CurlyMoo commented 11 years ago

Does this work?

irw /dev/lircd

How did you start Lirc? Manually of through:

/etc/init.d/lirc start

If manually, can you start lirc with the above command?

c0rnflake commented 11 years ago

yes, once I run lircd manually

root@xbian:~# irw /dev/lircd 000000037ff07bdd 00 OK mceusb 000000037ff07bdd 01 OK mceusb 000000037ff07bdd 00 OK mceusb 000000037ff07bdd 01 OK mceusb 000000037ff07bef 00 VolUp mceusb 000000037ff07bd9 00 Guide mceusb 000000037ff07bfd 00 Two mceusb 000000037ff07bfd 01 Two mceusb 000000037ff07ba3 00 Green mceusb 000000037ff07ba3 01 Green mceusb

This is also the output from dpkg-reconfigure

root@xbian:/etc/lirc# dpkg-reconfigure lirc [FAIL] Stopping remote control daemon(s): LIRC: failed! Driver `mceusb' not supported. Supported drivers: accent alsa_usb asusdh atilibusb atwf83 audio_alsa awlibusb bte bw6130 commandir creative creative_infracd default devinput dfclibusb dsp dvico ea65 ftdi i2cuser irlink irman livedrive_midi livedrive_seq logitech macmini mp3anywhere mplay mplay2 mouseremote mouseremote_ps2 null pcmak pinsys pixelview samsung sb0540 silitek srm7500libusb tira tira_raw udp uirt2 uirt2_raw usb_uirt_raw usbx

CurlyMoo commented 11 years ago

First try

pkill lircd
/etc/init.d/lirc restart

Does it start normally?

c0rnflake commented 11 years ago

No

root@xbian:/etc/lirc# /etc/init.d/lirc restart --v [FAIL] Stopping remote control daemon(s): LIRC: failed! [ ok ] Loading LIRC modules:. [FAIL] Unable to load LIRC kernel modules. Verify your ... failed! [FAIL] selected kernel modules in /etc/lirc/hardware.conf ... failed!

CurlyMoo commented 11 years ago

What is the content of you're /etc/lirc/hardware.conf

c0rnflake commented 11 years ago

/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

Don't start irexec, even if a good config file seems to exist.

START_IREXEC=false

Try to load appropriate kernel modules

LOAD_MODULES=true

Run "lircd --driver=help" for a list of supported drivers.

DRIVER=""

usually /dev/lirc0 is the correct setting for systems using udev

DEVICE="" MODULES=""

Default configuration files for your hardware if any

LIRCD_CONF="" LIRCMD_CONF=""

c0rnflake commented 11 years ago

root@xbian:/etc/lirc# lircd --version lircd 0.9.1-git

c0rnflake commented 11 years ago

This is the content of my hardware.conf on my current htpc (not the pi) using the current remote

/etc/lirc/hardware.conf

#

Chosen Remote Control

REMOTE="Windows Media Center Transceivers/Remotes (all)" REMOTE_MODULES="lirc_dev lirc_mceusb" REMOTE_DRIVER="" REMOTE_DEVICE="/dev/lirc0" REMOTE_LIRCD_CONF="mceusb/lircd.conf.mceusb" REMOTE_LIRCD_ARGS=""

Chosen IR Transmitter

TRANSMITTER="None" TRANSMITTER_MODULES="" TRANSMITTER_DRIVER="" TRANSMITTER_DEVICE="" TRANSMITTER_LIRCD_CONF="" TRANSMITTER_LIRCD_ARGS=""

Enable lircd

START_LIRCD="true"

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"

Default configuration files for your hardware if any

LIRCMD_CONF=""

Forcing noninteractive reconfiguration

If lirc is to be reconfigured by an external application

that doesn't have a debconf frontend available, the noninteractive

frontend can be invoked and set to parse REMOTE and TRANSMITTER

It will then populate all other variables without any user input

If you would like to configure lirc via standard methods, be sure

to leave this set to "false"

FORCE_NONINTERACTIVE_RECONFIGURATION="false" START_LIRCMD="" REMOTE_SOCKET="" TRANSMITTER_SOCKET=""

CurlyMoo commented 11 years ago

Try the following:

# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="-u"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=true

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="mceusb"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""

Then start lirc:

/etc/init.d/lirc start

Does it start normally?

c0rnflake commented 11 years ago

unfortunately not,

root@xbian:/etc/lirc# nano -w hardware.conf root@xbian:/etc/lirc# /etc/init.d/lirc restart --v [FAIL] Stopping remote control daemon(s): LIRC: failed! [ ok ] Loading LIRC modules:. [FAIL] Unable to load LIRC kernel modules. Verify your ... failed! [FAIL] selected kernel modules in /etc/lirc/hardware.conf ... failed!

CurlyMoo commented 11 years ago
uname -r
modprobe mceusb
c0rnflake commented 11 years ago

root@xbian:/etc/lirc# uname -r 3.6.1 root@xbian:/etc/lirc# modprobe mceusb root@xbian:/etc/lirc# lsmod Module Size Used by nfsd 258138 2 snd_bcm2835 12991 0 snd_pcm 76706 1 snd_bcm2835 snd_page_alloc 5159 1 snd_pcm snd_timer 19848 1 snd_pcm snd 57829 3 snd_bcm2835,snd_timer,snd_pcm evdev 9409 2 ir_lirc_codec 3737 0 lirc_dev 10106 1 ir_lirc_codec ir_mce_kbd_decoder 3185 0 ir_sanyo_decoder 1632 0 ir_sony_decoder 1557 0 ir_jvc_decoder 1610 0 ir_rc6_decoder 2010 0 ir_rc5_decoder 1530 0 ir_nec_decoder 1738 0 8192cu 486132 0 rc_rc6_mce 1251 0 mceusb 13321 0 rc_core 16359 11 ir_lirc_codec,ir_rc5_decoder,ir_nec_decoder,ir_sony_decoder,mceusb,ir_mce_kbd_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_sanyo_decoder,rc_rc6_mce root@xbian:/etc/lirc#

CurlyMoo commented 11 years ago

Try to start lirc again.

c0rnflake commented 11 years ago

root@xbian:/etc/lirc# /etc/init.d/lirc restart --v [FAIL] Stopping remote control daemon(s): LIRC: failed! [ ok ] Loading LIRC modules:. [FAIL] Unable to load LIRC kernel modules. Verify your ... failed! [FAIL] selected kernel modules in /etc/lirc/hardware.conf ... failed!

CurlyMoo commented 11 years ago

Can you start by removing all modules not used e.g.:

modprobe -r ir_lirc_codec

nfsd 258138 2 snd_bcm2835 12991 0 snd_pcm 76706 1 snd_bcm2835 snd_page_alloc 5159 1 snd_pcm snd_timer 19848 1 snd_pcm snd 57829 3 snd_bcm2835,snd_timer,snd_pcm evdev 9409 2 ir_lirc_codec 3737 0 lirc_dev 10106 1 ir_lirc_codec ir_mce_kbd_decoder 3185 0 ir_sanyo_decoder 1632 0 ir_sony_decoder 1557 0 ir_jvc_decoder 1610 0 ir_rc6_decoder 2010 0 ir_rc5_decoder 1530 0 ir_nec_decoder 1738 0 8192cu 486132 0 rc_rc6_mce 1251 0 mceusb 13321 0 rc_core 16359 11 ir_lirc_codec,ir_rc5_decoder,ir_nec_decoder,ir_sony_decoder,mceusb,ir_mce_kbd_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_sanyo_decoder,rc_rc6_mce

c0rnflake commented 11 years ago

done, rc_core is in use by mceusb

CurlyMoo commented 11 years ago

Try to restart lirc again. If it doesn't start replace

LOAD_MODULES=true

with

LOAD_MODULES=false

and try again.

c0rnflake commented 11 years ago

root@xbian:/etc/lirc# /etc/init.d/lirc restart --v [ ok ] Stopping remote control daemon(s): LIRC:. [ ok ] Starting remote control daemon(s) : LIRC :.

this is with LOAD_MODULES=false

CurlyMoo commented 11 years ago
ls -Al /dev/lirc*
c0rnflake commented 11 years ago

root@xbian:/etc/lirc# ls -Al /dev/lirc* lrwxrwxrwx 1 root root 21 Nov 13 23:30 /dev/lircd -> ../var/run/lirc/lircd

CurlyMoo commented 11 years ago

Can you change

DRIVER="default"

to

DRIVER="devinput"

Restart lirc and again:

ls -Al /dev/lirc*
c0rnflake commented 11 years ago

done,

root@xbian:/etc/lirc# /etc/init.d/lirc restart --v [ ok ] Stopping remote control daemon(s): LIRC:. [ ok ] Starting remote control daemon(s) : LIRC :. root@xbian:/etc/lirc# ls -Al /dev/lirc* lrwxrwxrwx 1 root root 21 Nov 13 23:34 /dev/lircd -> ../var/run/lirc/lircd

CurlyMoo commented 11 years ago

The wierd thing is that when i use:

# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="-u"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=true

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_dev mceusb"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""

Outputs:

/etc/init.d/lirc restart
[ ok ] Stopping remote control daemon(s): LIRC:.
[ ok ] Loading LIRC modules:.
[ ok ] Starting remote control daemon(s) : LIRC :.

So are you sure you used the exact same config?

Can you try again with this config and give the relevant part of dmesg.

c0rnflake commented 11 years ago

I've just copied and pasted the above config to hardware.conf and restarted lirc, this is the output and any lirc relevant dmesg output

root@xbian:/etc/lirc# /etc/init.d/lirc restart --v [FAIL] Stopping remote control daemon(s): LIRC: failed! [ ok ] Loading LIRC modules:. [FAIL] Unable to load LIRC kernel modules. Verify your ... failed! [FAIL] selected kernel modules in /etc/lirc/hardware.conf ... failed!

root@xbian:/etc/lirc# dmesg|grep lirc [ 4.482674] lirc_dev: IR Remote Control driver registered, major 250 [ 4.497084] rc rc0: lirc_dev: driver ir-lirc-codec (mceusb) registered at minor = 0 [ 522.752297] input: lircd as /devices/virtual/input/input2 [ 614.422190] input: lircd as /devices/virtual/input/input3 [ 628.961586] input: lircd as /devices/virtual/input/input4 [ 818.367844] input: lircd as /devices/virtual/input/input5 [ 846.466514] input: lircd as /devices/virtual/input/input6

CurlyMoo commented 11 years ago

Also, can you post a full xbmc debug log on pastebin.

CurlyMoo commented 11 years ago

I don't get it why is fails at you're install but works with mine. Whats the current output of lsmod?

CurlyMoo commented 11 years ago

Helpdesk is closing :p.

One last thing for now

/etc/init.d/lirc stop
mode2

While running press some buttons on you're remote and check if there is any output.

CurlyMoo commented 11 years ago

I also want to suggest to try some of these steps again with a clean install to make sure nothing else is causing these problems. It should just start with my suggested hardware.conf. Then we can focus on XBMC that's not able to open the LIRC socket.

CurlyMoo commented 11 years ago

What the status on this issue?

In case the issue is still open, did you guys try this: http://xbian.org/forum/viewtopic.php?f=36&t=928&start=10#p1421

CurlyMoo commented 11 years ago

This issue is fixed by using this hardware.conf:

# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="-u"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=true

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_dev mceusb"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""

and then running this command (this will overwrite any custom configuration):

wget -O - https://raw.github.com/xbianonpi/xbian/xbian-alpha4/etc/lirc/lircd.conf > /etc/lirc/lircd.conf

then restarting lirc:

/etc/init.d/lirc restart

Check with irw if everything is working.

irw
Koenkk commented 11 years ago

Is this going to be implemented in Alpha 4?

CurlyMoo commented 11 years ago

Working on it with...

CurlyMoo commented 11 years ago

Can someone with a MCE remote provide me with a 'dmesg' output. I want to add auto-detection support in Lirc, but need to know what the dmesg is for this IR receiver.

DraZtiK commented 11 years ago

I have 2 different brand mce remotes and both are configured the same. http://pastebin.com/uAVsXC1m

A sample below

# irw
00000000800100cf 00 KEY_PLAY devinput
00000000800100cf 01 KEY_PLAY devinput
00000000800100cf 00 KEY_PLAY devinput
00000000800100cf 00 KEY_PLAY devinput
000000008001006f 00 KEY_DELETE devinput
000000008001006f 00 KEY_DELETE devinput
0000000080010185 00 KEY_DVD devinput
0000000080010185 00 KEY_DVD devinput
000000008001001c 00 KEY_ENTER devinput
000000008001001c 00 KEY_ENTER devinput
0000000080010174 00 KEY_ZOOM devinput
0000000080010170 00 KEY_LANGUAGE devinput
0000000080010171 00 KEY_TITLE devinput

/etc/lirc/hardware.conf

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="devinput"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/input/event0"
MODULES="lirc_dev mceusb"
CurlyMoo commented 11 years ago

@DraZtiK, can you test #170?

CurlyMoo commented 11 years ago

Can people with an mce usb remote test the latest config*:

sudo su
cd /home/xbian/
wget http://205.196.122.16/84it2oy6ylxg/vp94n8fnncv5nim/mceusb.tar.gz
tar -zxvf mceusb.tar.gz
reboot

_This will overwrite existing config. *_This also includes the testing of #170

Manual link http://www.mediafire.com/download.php?vp94n8fnncv5nim

DraZtiK commented 11 years ago

for some reason using

wget http://205.196.122.16/84it2oy6ylxg/vp94n8fnncv5nim/mceusb.tar.gz

doesn't work. But when I follow the link in a browser and copy the link and try using wget again it works.

wget http://205.196.122.16/84it2oy6ylxg/vp94n8fnncv5nim/mceusb.tar.gz

anyway...testing now.