Sunday, January 23, 2011

Veris Remote Issues Ironed out

Installed the 2.6.38rc2 kernel.  The integrated imon driver in the kernel now defaults to keyboard mode instead of  mouse mode.

Changelog:

-----------------------------------------------------------------------------------------------------

commit 76f1ef427c0aab3d3c917b497562ea2cdaaae056
Author: Jarod Wilson <jarod@redhat.com>
Date:   Thu Jan 6 16:59:35 2011 -0300

    [media] rc/imon: default to key mode instead of mouse mode
    
My initial thinking was that we should default to mouse mode, so people could use the mouse function to click on something on a login screen, but a lot of systems where a remote is useful automatically log in a user and launch a media center application, some of which hide the mouse, which can be confusing to users if they punch buttons on the remote and don't see any feedback. Plus, first and foremost, its a remote, so lets default to being a remote, and only toggle into mouse mode when the user explicitly asks for it. As a nice side-effect, this actually simplifies some of the code a fair bit...
    
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit 5aad724280b9f8ffff3a55311ef0ba35ebb4099a
Author: Jarod Wilson <jarod@redhat.com>
Date:   Thu Jan 6 16:59:36 2011 -0300

[media] rc: fix up and genericize some time unit conversions
    
The ene_ir driver was using a private define of MS_TO_NS, which is meant to be microseconds to nanoseconds. The mceusb driver copied it, intending to use is a milliseconds to microseconds. Lets move the defines to a common location, expand and standardize them a touch, so that we now have:
    
MS_TO_NS - milliseconds to nanoseconds
MS_TO_US - milliseconds to microseconds
US_TO_NS - microseconds to nanoseconds
    
Reported-by: David Härdeman <david@hardeman.nu>
CC: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

commit 9ad77eb57b45f81ac3e12077d19e5f121c4cff6d
Author: Jarod Wilson <jarod@redhat.com>
Date:   Thu Jan 6 16:59:34 2011 -0300

[media] rc/imon: need to submit urb before ffdc type check
    
Otherwise, we have a null receive buffer, and the logic all falls down, goes boom, all ffdc devs wind up as imon IR w/VFD. Oops.
    
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-------------------------------------------------------------------

Previously, I had followed suggestions to install the remote by its event.  This works, however, if you plug in or unplug another USB device and reboot, the event id for the remote can change and you get a non-responsive remote.  So the preferred method, for me at least, is to use the by-id:

find device id:
$ lsusb

us 005 Device 002: ID 15c2:0044 SoundGraph Inc.

or
$ cat /proc/bus/input/devices

I: Bus=0003 Vendor=15c2 Product=0044 Version=0002
N: Name="iMON Remote (15c2:0044)"
P: Phys=usb-0000:00:1d.3-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0/rc/rc0/input6
U: Uniq=
H: Handlers=kbd event6
B: EV=100013
B: KEY=fff 0 400000108c0320 2d5008000000000 30000 400119000 418614100801 809e168000000000 200000010004002
B: MSC=10

Find the device ID:
$ ls /dev/input/by-id

usb-15c2_0044-event-if00
usb-15c2_0044-event-mouse
usb-15c2_0044-mouse

$ sudo dpkg-reconfigure lirc
Select Linux input layer (/dev/input/eventX) for Remote control configuration:
Select none for IR transmitter
select /dev/input/event6 for Custom even interface for your dev/input device

Open /etc/lirc/hardware.conf

$ sudo gedit /etc/lirck/hardware.conf &

Change REMOTE_DEVICE="/dev/input/event6
to
REMOTE_DEVICE="/dev/input/by-id/usb-15c2_0044-event-if00"

Save file

Restart lirc
$ sudo /etc/init.d/lirc restart

Use irw to check to see if button presses are being received properly:
>>irw

Works on restart of lirc and continues working after restart.  It also works when a usb device is unplugged, the computer is restarted and the event id changes for the remote.

The App Launcher button doesn't work and neither do the number buttons on the remote so the next step is to play with the config files and codes.

1 comment:

  1. Did you ever get this figured out on 2.6.38? I have an RM100 and half the buttons don't work or show up in irw. Everything was working in 2.6.36 of course, and I've done what you said above (switching to devinput, mapping to the proper device by id, etc.)

    ReplyDelete