[mythtv-users] using antec veris rm200 with kernel 2.6.37, lirc gives configuration problems on opensuse11.4 x86_64

Rob Verduijn rob.verduijn at gmail.com
Wed Apr 13 20:32:14 UTC 2011


Hi all,

I've managed to defeat the lirc beast on opensuse 11.4 x86_64.

Thanks to some direct and in-direct post from Jared Wilson. Most of
the things I did I found in posts from him.

I've been using linux for over a decade now but this is the first time
EVER that it took me over a week to fix a formerly perfectly
functioning item.

Damn...I say lirc can be nasty.

Using "ID 15c2:0038 SoundGraph Inc. GD01 MX VFD Display/IR Receiver"
with the "rm200" for the remote control of mythtv on opensuse 11.4
x86_64

ok here's the howto.

First I've blacklisted the lirc_dev driver, it's no longer needed so
get rid of it before it bites.

Add the following lines to the file /etc/modprobe.d/99-local.conf
install lirc_dev /bin/true
blacklist lirc_dev

Now configure lirc suse style:
In your /etc/sysconfig/lirc set the following vallues
LIRCD_DEV_PERMISSIONS="660"
LIRCD_DEV_OWNER="root:video"
LIRCD_DRIVER="devinput"
LIRCD_DEVICE="/dev/input/by-id/usb-15c2_0038-event-if00"
LIRC_MODULE=""
LIRCD_LISTENPORT=""
LIRCD_CONNECT=

If you do not have the exact same device as I do check the folder
/dev/input/by-id to see what the proper name is, it should end with
"if00".
Make sure your mythtv-frontend user is a member of group video

Now here's the catch that has bugged me most.
The file /usr/share/lirc/remotes/devinput/lircd.conf.devinput
 from the package lirc-remotes-0.8.7-9.1.x86_64
 is BUGGY!!!!!

Get a less buggy one here.
http://lirc.sourceforge.net/remotes/devinput/lircd.conf.devinput
save it as
/etc/lirc/lircd.conf
It's still buggy but adding the next few lines between the "begin
codes" and "end codes" section of the devinput remote should enable
all your buttons.
(the one at the top not the obsolete version below)
          KEY_CONTEXT_MENU         0x1b6
          KEY_DASHBOARD              204
          KEY_NUMERIC_0                0x200
          KEY_NUMERIC_1                0x201
          KEY_NUMERIC_2                0x202
          KEY_NUMERIC_3                0x203
          KEY_NUMERIC_4                0x204
          KEY_NUMERIC_5                0x205
          KEY_NUMERIC_6                0x206
          KEY_NUMERIC_7                0x207
          KEY_NUMERIC_8                0x208
          KEY_NUMERIC_9                0x209
          KEY_NUMERIC_POUND      0x20b
          KEY_NUMERIC_STAR         0x20a
I got these one from the old lircd.conf.devinput file, therefore you
should save these files just in case.

now make sure lirc starts at boot time

chkconfig lirc

edit your /home/<mythtvuser>/.mythtv/lircrc file to match the new
keynames. (mine is below)

Do not forget to adjust your frontend mythtv configuration setup
Somewhere in there under the general setup it points to the lirc device socket
it should be /var/run/lirc/lircd or /dev/lircd (which is a symbolic
link to the previous)

reboot your frontend to make sure it all works from power on.

IMPORTANT!!
Press the toggle button first on your remote ( to switch lirc to the
proper mode)
Now the buttons should start to function properly again, as you can
verify with the irw utility on the command line.

The toggle button is the little button above the pad and below the
stop button, it has a small mouse and keyboard on it and the text
mouse/keyboard.

Once again most thanx go out to jared wilson who has posted so much on
forums to help people, I've combined a lot of the info he posted to
get to a working solution.

Now I only need to figure out how to get lirc to start in the correct mode.
But I've had it with configuring lirc, weeding through flawed post,
debugging flawed configuration files from standard packages, the lirc
documentation and most of all with "Daddy can I watch 'dora the
explorer' now ?"

So I'll live with it for now.

p.s if you start googling for lirc problems make sure ya filter for
the last month or year, you really don't want to read posts for lirc
versions prior to kernel 2.6.36 it's very confusing
p.p.s. sorry about mailing you directly Jared, somehow your email got
swapped with the mythlist email and I just pressed reply

p.p.p.s. I've used the following lirc rpm's they either came from the
standard suse repo's or packman
"rpm -qa|grep -i lirc" gives :
lirc-0.8.7-9.1.x86_64
lirc-remotes-0.8.7-9.1.x86_64
pulseaudio-module-lirc-0.9.22-6.9.1.x86_64
liblirc_client0-0.8.7-9.1.x86_64
The kernel is the desktop kernel from opensuse.
"rpm -qa|grep -i kernel" gives :
kernel-desktop-2.6.37.1-1.2.2.x86_64
kernel-desktop-base-2.6.37.1-1.2.2.x86_64

Here's my lircrc file this is the way I like it, I copied most from
the guys mentioned at the top.

# LIRCRC
# Author(s): Mario Limonciello, Nick Fox, John Baab, Edited by Chris Murphy
# Created for use with Mythbuntu 10.10

begin
    remote = devinput
    prog = mythtv
    button = KEY_EXIT
#App Exit
    config = Escape
    repeat = 0
    delay = 0
end

#begin
#    remote = devinput
#    prog = mythtv
#    button = KEY_POWER
#    config =
#    repeat =
#    delay =
#end

begin
    remote = devinput
    prog = mythtv
    button = KEY_RECORD
    config = R
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_PLAY
    config = P
    repeat = 0
    delay = 0
end

#begin
#    remote = devinput
#    prog = mythtv
#    button = KEY_EJECTCD
#    config =
#    repeat =
#    delay =
#end

begin
    remote = devinput
    prog = mythtv
    button = KEY_REWIND
    config = <
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_PAUSE
    config = P
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_FASTFORWARD
    config = >
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_PREVIOUS
    config = Up
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_STOP
    config = Escape
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NEXT
    config = Down
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_BACKSPACE
    config = Escape
    repeat = 0
    delay = 0
end

#begin
#    remote = devinput
#    prog = mythtv
#    button = ????
#  Mouse / keyBoard
#    config =
#    repeat =
#    delay =
#end

begin
    remote = devinput
    prog = mythtv
    button = KEY_CONTEXT_MENU
    config = E
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_COMPOSE
    config = M
    repeat = 0
    delay = 0
end

#begin
#    remote = devinput
#    prog = mythtv
#    button = BTN_LEFT
# L.Click
#    config =
#    repeat =
#    delay =
#end

begin
    remote = devinput
    prog = mythtv
    button = KEY_ENTER
    config = Return
    repeat = 0
    delay = 0
end

#begin
#    remote = devinput
#    prog = mythtv
#    button = BTN_RIGHT  # R.Click
#    config =
#    repeat =
#    delay =
#end

begin
    remote = devinput
    prog = mythtv
    button = KEY_UP
    config = Up
    repeat = 3
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_DOWN
    config = Down
    repeat = 3
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_LEFT
    config = Left
    repeat = 3
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_RIGHT
    config = Right
    repeat = 3
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_ESC
    config = Escape
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_EJECTCLOSECD
    config =
    repeat =
    delay =
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_DASHBOARD
# App Launcher
    config = S
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_PROG1
# GO
    config = Return
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_CYCLEWINDOWS
# Task Switcher
    config = I
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_MUTE
    config = |
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_VOLUMEUP
    config = ]
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_VOLUMEDOWN
    config = [
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_CHANNELUP
    config = Up
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_CHANNELDOWN
    config = Down
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_TIME
    config = F8
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_1
    config = 1
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_2
    config = 2
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_3
    config = 3
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_4
    config = 4
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_5
    config = 5
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_6
    config = 6
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_7
    config = 7
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_8
    config = 8
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_9
    config = 9
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_0
    config = 0
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_POUND
    config = D
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_NUMERIC_STAR
    config = ?
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_VIDEO
# red button
    config = ALT+U
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_AUDIO
# green button
    config = ALT+M
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_CAMERA
# blue button
    config = ALT+I
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_TV
# yellow button
    config = ALT+T
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_BOOKMARKS
    config = C
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_MEDIA
# thumbnails
    config = O
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_ZOOM
    config = W
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_SCREEN
# full screen
    config = F
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_DVD
# purple button
    config = ALT+D
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_MENU
    config = M
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_SUBTITLE
    config = T
    repeat = 0
    delay = 0
end

begin
    remote = devinput
    prog = mythtv
    button = KEY_LANGUAGE
# audio
    config = +
    repeat = 0
    delay = 0
end




2011/4/8 Jarod Wilson <jarod at wilsonet.com>:
> On Apr 8, 2011, at 10:18 AM, Rob Verduijn wrote:
>
>> Hello,
>>
>> Comment are below  :)
>>
>> 2011/4/8 Jarod Wilson <jarod at wilsonet.com>:
>>> On Apr 5, 2011, at 7:55 AM, Rob Verduijn wrote:
>>>
> ...
>>>> I've been playing with this for some time now and got only partial
>>>> succes, on the remote some buttons work fine and some do not work at
>>>> all.
>>>
>>> What works and what doesn't? Try looking at the key data using either
>>> evtest or ir-keytable -t from v4l-utils.
>>
>> I cannot check right now, but I've already made some progress.
>>
>> In the suse repositories there is no v4l-utils package, and I've tried
>> to compile it from scratch but the compilation keeps failing.
>> I've also tried to check the buttons with the irw tool, but for some
>> reason mythtv reacts when I press a button but irw shows no output for
>> any key, not even for the ones that work.
>
> That suggests lircd isn't connecting to the correct input event
> device.
>
>
>> After 3 days searching  the web I saw a mention about the "toggle
>> button" in some obscure forum I had a "DOH!!!!" moment.
>> Lirc starts the damn remote in the wrong mode.
>
> lirc has nothing to do with it. Its the kernel-level device driver.
>
>
>> I've had this setup in my old lircrc that ensured the right mode at
>> startup...completely forgot about it because I made that one like
>> almost 2 years ago.
>
> Um. There's no way to toggle the mode via an lircrc. Two years ago,
> I believe mouse mode support simply didn't exist.
>
>
>> Anyway mythtv is responding now and I can more or less use my remote.
>> I'm not satisfied by the keymapping though.
>>
>> I need to get either irw to work or the v4l-utils to compile so that I
>> can set the keys the way I like them.
>
> You shouldn't need to do anything but get lircd configured correctly
> and then you can just map things in ~/.lircrc.
>
>
>>>> I've been testing the remote with irw and I only get output whit some
>>>> of the keys of the remote.
>>>>
>>>> Does anybody have a working setup for opensuse 11.4 with this hardware
>>>> (15c2:0038 SoundGraph Inc.) ?
>>>> I'm especially interested in what is required in /etc/sysconfig/lirc
>>>> and /etc/lirc/lircd.conf.
>>>>
>>>> Currently I've used the
>>>> /usr/share/lirc/remotes/devinput/lircd.conf.devinput file from the
>>>> lirc-remote rpm package as /etc/lirc/lircd.conf.
>>>
>>> That's the right one.
>>
>> There are still some buttons missing in that config like the "GO" button.
>
> No, there isn't.
>
> Kernel side keymap:
>
>        { 0x2ab195b7, KEY_MEDIA }, /* Go or MultiMon */
>
> The scancode for the Go button is mapped to the linux input layer
> key KEY_MEDIA (actually, in 2.6.37, I think its KEY_PROG1), and
> that's what lircd.conf.devinput matches against.
>
>
> --
> Jarod Wilson
> jarod at wilsonet.com
>
>
>
>


More information about the mythtv-users mailing list