Kodi Community Forum

Full Version: [xbmcbuntu] [SOLVED] some buttons not working PHILIPS MCE USB IR Receiver-Spinel plus
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
(2012-10-15, 20:48)Isulaiman Wrote: [ -> ]Hi everyone
I'm having a slight problem here. I have a zotac zbox id80 shipped with remote running xbmcbuntu.
I followed the instructions for the setup and when I run irw the remote seems to be working perfectly but once I load into xbmc I get no response with the remote. However if I go back and delete the added bit from the 10-evdev.conf file, and go back into xbmc the remote is back to its old self with some of the buttons not working.

Any ideas?

Thanks

You don't get this kind of output from irw, right?
000000000007004f 00 KEY_RIGHT zotac.conf

This means that lirc is still using a wrong driver.
@guilmxm
ping fritsch, iirc he has the internal receiver working.
@FernetMenta

Ok thanks :-)
I got an Asus 1501p, including an internal ITE8713 CIR transceiver. To get it working I did the following, suppose the same approach would work on Zotac.

Run
Code:
#sudo dpkg-reconfigure lirc
Make sure Lirc in configured for Linux devinput device, Linux input layer (/dev/input/eventX).

Install ir-keytable
Code:
#sudo apt-get install ir-keytable

Run ir-keytable to find the device in use
Code:
#ir-keytable

Should return something like this;
Code:
xbmc@ubuntu:/dev/input$ ir-keytable
Found /sys/class/rc/rc0/ (/dev/input/event2) with:
        Driver ite-cir, table rc-rc6-mce
        Supported protocols: NEC RC-5 RC-6 JVC SONY SANYO LIRC other
        Enabled protocols: RC-6 LIRC other
        Extra capabilities: <access denied>

My device is /dev/input/event2, this may change if you add/remove input devices. So make sure that you have a symlink to your device.

Go to /dev/input and list files
Code:
#cd /dev/input
#ls -l

If you are lucky there is a by-id folder, containing an symlink to your device, if not create a symlink according to this post;
http://parker1.co.uk/mythtv_tips.php , Make the LIRC Device Static - older kernels

Then change your LIRC config to use the new device
Code:
# sudo nano /etc/lirc/hardware.conf

REMOTE_DEVICE="/dev/input/irremote"

For some reason Lirc disables all rc protocols except LIRC, even when using dev input. Make sure RC-6 is enabled as well.

The easy fix is to change this directly in /etc/init.d/lirc:
Code:
in_kernel_support() {
         if [ -d /sys/class/rc ]; then
                 for file in `find /sys/class/rc/*/ -name protocols`; do
                         if [ "$1" = "disable" ]; then
                                 echo "lirc" > $file
                                 echo "+RC-6" > $file
                         else
                                 echo "none" > $file
                                 for protocol in `cat $file`; do
                                         echo "+${protocol}" > $file
                                 done
                         fi
                 done
         fi
}

Code:
echo "+RC-6" > $file
Adds the rc-6 protocol, check with ir-keytable.

After this reboot (restart of lirc and udev should perhaps be enough).

Check for input events with ir-keytable:
Code:
#sudo ir-keytable -t

irw should now report key events from devinput:
Code:
irw

devinput is already included as device in /usr/share/xbmc/system/Lircmap.xml but some keys are missing (e.g the Windows key and Power). Just add them under the "linux-input-layer" device.



On popular request by guilmxm

Zotac AD-10 Internal remote.

Everything is no problem at all with the build in lirc:
Code:
sudo apt-get install lirc

replace the following files
Code:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="zboxremote"
REMOTE_MODULES=""
REMOTE_DRIVER=""
REMOTE_DEVICE=""
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF=""
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="SIR IrDA (built-in IR ports)"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE="/dev/lirc0"
TRANSMITTER_SOCKET=""
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=""

FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""

lircd.conf
Code:
# /etc/lirc/lircd.conf
begin remote

  name  zboxremote
  bits            8
  flags RC6|CONST_LENGTH
  eps            30
  aeps          100

  header       2672   851
  one           457   425
  zero          457   425
  pre_data_bits   29
  pre_data       0x37FCB7B
  gap          106237
  toggle_bit_mask 0x8000
  rc6_mask    0x100000000

      begin codes
          KEY_SLEEP                0xC2
          KEY_WAKEUP               0x71
          KEY_RECORD               0xC8
          KEY_PAUSE                0xCF
          KEY_STOP                 0xCE
          KEY_REWIND               0xD6
          KEY_PLAY                 0xD3
          KEY_FASTFORWARD          0xD7
          KEY_PREVIOUS             0xDE
          KEY_NEXT                 0xDF
          KEY_BACK                 0x7C
          KEY_INFO                 0x34
          KEY_HOME                 0xA2
          KEY_UP                   0xA7
          KEY_DOWN                 0xA6
          KEY_LEFT                 0xA5
          KEY_RIGHT                0xA4
          KEY_OK                   0xA3
          KEY_VOLUMEDOWN           0xEE
          KEY_VOLUMEUP             0xEF
          KEY_MUTE                 0xF2
          KEY_CHANNELDOWN          0xE0
          KEY_CHANNELUP            0xE1
          KEY_1                    0xFE
          KEY_2                    0xFD
          KEY_3                    0xFC
          KEY_4                    0xFB
          KEY_5                    0xFA
          KEY_6                    0xF9
          KEY_7                    0xF8
          KEY_8                    0xF7
          KEY_9                    0xF6
          KEY_0                    0xFF
          KEY_KPASTERISK           0xCC
          KEY_KPSLASH              0xCD
          KEY_CLEAR                0xC5
          KEY_TEXT                 0xD0
          KEY_EPG                  0xC1
          KEY_ENTER                0xCB
          KEY_RED                  0x92
          KEY_GREEN                0x91
          KEY_YELLOW               0x90
          KEY_BLUE                 0x8F
      end codes

end remote

Some remappings for xbmc:
/home/xbmc/.xbmc/userdata/Lircmap.xml
Code:
<lircmap>
    <remote device="zboxremote">
        <left>KEY_LEFT</left>
        <right>KEY_RIGHT</right>
        <up>KEY_UP</up>
        <down>KEY_DOWN</down>
        <select>KEY_OK</select>
        <start>KEY_HOME</start>
        <back>KEY_BACK</back>
        <record>KEY_RECORD</record>
        <play>KEY_PLAY</play>
        <pause>KEY_PAUSE</pause>
        <stop>KEY_STOP</stop>
        <forward>KEY_FORWARD</forward>
        <reverse>KEY_REWIND</reverse>
        <volumeplus>KEY_VOLUMEUP</volumeplus>
        <volumeminus>KEY_VOLUMEDOWN</volumeminus>
        <pageplus>KEY_CHANNELUP</pageplus>
        <pageminus>KEY_CHANNELDOWN</pageminus>
        <skipplus>KEY_NEXT</skipplus>
        <skipminus>KEY_AGAIN</skipminus>
        <mute>KEY_MUTE</mute>
        <power>KEY_SLEEP</power>
        <myvideo>KEY_VIDEO</myvideo>
        <mymusic>KEY_AUDIO</mymusic>
        <mytv>LiveTV</mytv>
        <one>KEY_1</one>
        <two>KEY_2</two>
        <three>KEY_3</three>
        <four>KEY_4</four>
        <five>KEY_5</five>
        <six>KEY_6</six>
        <seven>KEY_7</seven>
        <eight>KEY_8</eight>
        <nine>KEY_9</nine>
        <zero>KEY_0</zero>
        <red>KEY_RED</red>
        <green>KEY_GREEN</green>
        <yellow>KEY_YELLOW</yellow>
        <blue>KEY_BLUE</blue>
        <menu>KEY_DVD</menu>
        <clear>KEY_CLEAR</clear>
        <enter>KEY_ENTER</enter>
        <star>KEY_KPASTERISK</star>
        <hash>KEY_KPSLASH</hash>
        <title>KEY_WAKEUP</title>
        <teletext>KEY_TEXT</teletext>
        <guide>KEY_EPG</guide>
        <info>KEY_INFO</info>
    </remote>
</lircmap>

And some additional remaps as I like them.
/home/xbmc/.xbmc/userdata/keymaps/remap.xml
Code:
<keymap>
  <global>
    <remote>
      <power>ActivateWindow(ShutdownMenu)</power>
      <info>ContextMenu</info>
      <record>XBMC.ActivateWindowAndFocus(MyPVR, 34,0, 13,0)</record>
    </remote>
  </global>
  <fullscreenvideo>
      <remote>
           <info>CodecInfo</info>
       <back>Back</back>
           <select>OSD</select>
      </remote>
  </fullscreenvideo>
</keymap>
@Jbravo
@fritsch

Thank you very much for your quick replies, in need i think the request is popular as many people have issues with the Zotac external IR...
@fritsch

Tested and approved! I've been looking for this to work for a while... THANK YOU Cool
@FernetMenta
I get the following in irw
0000000000007004f 00 KEY_RIGHT zotac.conf
(2012-10-18, 23:03)Isulaiman Wrote: [ -> ]@FernetMenta
I get the following in irw
0000000000007004f 00 KEY_RIGHT zotac.conf

hi, that's just a suggestion but i think you should restart from the begining, carefully checking each step
see my post :
http://youresuchageek.blogspot.fr/2012/0...linux.html
go to step 13
(2012-10-18, 23:03)Isulaiman Wrote: [ -> ]@FernetMenta
I get the following in irw
0000000000007004f 00 KEY_RIGHT zotac.conf

The output looks good.
The problem is either your Lircmap.xml or you forgot to create this symlink:
sudo ln -s /var/run/lirc/lircd /dev/lircd

XBMC expects the pid file in /dev/lircd
So I added the input selection for the remote again and the remote still works but the same buttons don't work. Like the pause button or the home button?
Hello Guys!

I have everything done like discribed in Post #10.

Code:
i have a:
Bus 002 Device 003: ID 0471:20cc Philips (or NXP)

My configs are ecxactly those of Post #10 includin udev and such:

Code:
root@Glotzefiez:~# cat /etc/udev/rules.d/10-local.rules
SUBSYSTEM=="usb" , ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20cc", SYMLINK+="remote", ACTION=="add", RUN+="/sbin/initctl --quiet emit --no-wait ir-ready"
root@Glotzefiez:~#ls -la /dev | grep remote
lrwxrwxrwx   1 root root          11 Okt 20 19:00 remote -> usb/hiddev0

but irw does not! no such file or directory?!:

Code:
root@Glotzefiez:/etc/lirc# irw
connect: No such file or directory

dmesg on plugin:
Code:
[  653.751058] usb 2-1.4: new low-speed USB device number 4 using ehci_hcd
[  653.863067] input: PHILIPS MCE USB IR Receiver- Spinel plus as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/input/input8
[  653.863876] generic-usb 0003:0471:20CC.0002: input,hiddev0,hidraw0: USB HID v1.00 Keyboard [PHILIPS MCE USB IR Receiver- Spinel plus] on usb-0000:00:1d.0-1.4/input0

does anyone see my mistake?


post 10 is incomplete, it does not show how to start lirc. I use the following upstart script:

/etc/init/lirc.conf
Code:
description "lirc"
emits "lirc-ready"
expect fork
start on (remote-filesystems
          and local-filesystems
      and started rsyslog
      and ir-ready)
stop on runlevel [!2345]

pre-start script
  while [ ! -e /dev/remote ]
  do
    sleep 1
  done
  mkdir /var/run/lirc
end script

exec /usr/local/sbin/lircd --driver=zotac --device=/dev/remote

post-stop script
rm -rf /var/run/lirc
end script

This waits for ir-ready fired by the udev rule. You can manually start lirc with "sudo start lirc" or stop it with "sudo stop lirc"

hardware.conf as mentioned in post 10 is not required, this is something introduced by the packagers of lirc. By default lirc creates its pid file in varr/run/lirc/lircd. XBMC expects it in /dev/lircd (again introduced by packagers). You need to create a symlinc:
ln -s /var/run/lirc/lircd /dev/lircd

Thank you for your reply! That maked ist work for me!
If i had read this whole post, as i shoule, the answer was allready there.....

Is there a way to wake up from s3??

Anyone have any suggestions?
Went through the steps again and still not all the buttons work on the remote.
Any help would be great.
Thanks all
Pages: 1 2 3 4 5 6 7