PDA

View Full Version : [SOLVED] Got SoundGraph IMon LCD/IR working on Mythbuntu 10.10



macid
January 12th, 2011, 09:32 PM
Hello World,

at first a warning: My english is very bad! I hope anyone understand, what I am trying to say.

So, normally, I only get information from these forums, but now I can give back some (hopefully usual) information.

Some time agoe, I decided to build my own HTPC, based on a linux system. I have a Thermaltake DH 101 Case, with the IMon LCD/IR Panel built in. I have downloaded the Mythbuntu CD/DVD and installed it.
And I recognized, that the remote does not work at all, only some rudimentary functions available.

Spended much (really much) time to search the web, and readed many manuals and how-to's. But no manual fit 100% and so, the IMon won't work with lirc.
But now, it did, and I will explain, how i did:

1. Install lirc (only if not done until)

sudo apt-get install lirc

2. What files are needed to check / change?

/etc/lirc/hardware.conf
/etc/lirc/lircd.conf
/home/<username>/.mythtv/lircrc


2.1 hardware.conf:

# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="devinput/eventx"
REMOTE_MODULES="lirc_dev"
REMOTE_DRIVER="devinput"
#REMOTE_DEVICE="/dev/lirc0"
REMOTE_DEVICE="/dev/input/event4"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/usr/share/lirc/remotes/devinput/lircd.conf.devinput"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
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=""

#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=""

Modify the following line to your requirements:

REMOTE_DEVICE="/dev/input/event4"

What device do you have?
Type in termninal:

lsusb

and you will get somthing like that:

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 003: ID 15c2:0038 SoundGraph Inc. GD01 MX VFD Display/IR Receiver
Bus 005 Device 002: ID 04f3:01a4 Elan Microelectronics Corp.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Now you've got the Vendor and the proct-Id: 15c2:0038

Type in terminal following command:

ls -l /dev/input/by-id/

and you will get somthing similar to:

lrwxrwxrwx 1 root root 9 2011-01-11 21:05 usb-04f3_2.4G_RF_Keyboard___Mouse-event-kbd -> ../event2
lrwxrwxrwx 1 root root 9 2011-01-11 21:05 usb-04f3_2.4G_RF_Keyboard___Mouse-event-mouse -> ../event3
lrwxrwxrwx 1 root root 9 2011-01-11 21:05 usb-04f3_2.4G_RF_Keyboard___Mouse-mouse -> ../mouse0
lrwxrwxrwx 1 root root 9 2011-01-11 21:05 usb-15c2_0038-event-mouse -> ../event4
lrwxrwxrwx 1 root root 9 2011-01-11 21:05 usb-15c2_0038-mouse -> ../mouse1


You can see, by selecting the right vendor and id, that we have got two entries. We will take the event-mouse.
(It is linked to the event4 in my case).

So you have to put in the hardware.conf the /dev/input/event4
(normally you can also write in the link to event4)

2.2 Now modify the /etc/lircd.conf


#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.

#Configuration for devinput:
include "/usr/share/lirc/remotes/devinput/lircd.conf.devinput"


The include-file is the same as wrote down in the hardware.conf.

2.3 Now we have to modify the /home/etc/<username>/.mythtv/lircrc

# LIRCRC Auto Generated by Mythbuntu Lirc Generator
# Author(s): Mario Limonciello, Nick Fox, John Baab
# Created for use with Mythbuntu
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_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_STOP
config = Escape
repeat = 0
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_DASHBOARD
config = S
repeat = 0
delay = 0
end

begin
remote = devinput
prog = mythtv
button = KEY_CYCLEWINDOWS
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_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_SCREEN
config = F
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_SPACE
config = Return
repeat = 0
delay = 0
end

begin
remote = devinput
prog = mythtv
button = KEY_ENTER
config = Return
repeat = 0
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_UP
config = Up
repeat = 0
delay = 0
end

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

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

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

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


3. How do I get these remote codes?
First, please restart your machine, after the modifcation of the config-files.
Some-Times
service lirc restart does not refresh the configuration.
After the restart, irw should put some output to you, if you are pressing a button on the remote. Like this:


root@SSMB:/home/michael/.mythtv# irw
0000000080010073 00 KEY_VOLUMEUP devinput
0000000080010072 00 KEY_VOLUMEDOWN devinput
000000008001006a 00 KEY_RIGHT devinput
000000008001006a 00 KEY_RIGHT devinput
000000008001006a 00 KEY_RIGHT devinput
00000000800100cf 00 KEY_PLAY devinput
0000000080010201 00 KEY_NUMERIC_1 devinput
0000000080010202 00 KEY_NUMERIC_2 devinput
0000000080010205 00 KEY_NUMERIC_5 devinput
0000000080010204 00 KEY_NUMERIC_4 devinput
0000000080010189 00 KEY_VIDEO devinput
0000000080010188 00 KEY_AUDIO devinput


With this method, you can get any lirc-supported button-code of your remote.

4. Finally configure Mythtv to the right lirc-device
Start your Frontend, go to setup, basic-setting (I think, not sure)
(In German: Konfiguration/Konfiguration/Grundeinstellungen)

Set the Lirc-Soket to: /dev/lircd

5. Now you should have a working IMON-Remote working with your PC!

6. The LCD is working very fine, using lcdproc. Install it, and configure it, just as is explained on the developers website, it works out of the box. Great.



So, i hope anyone can use this information, and I am glad, that i've got the chance, to give back some information to the great linux community.


Goog night and greetings from germany.

redtop99
January 15th, 2011, 08:39 AM
Thank you for your HowTo. It works for me with the Soundgraph Remote too.

I', looking for an solution to use an second remote for controling my Conrad light System.

German ist Homelanguage too :)

Stefan

nxthor
January 15th, 2011, 12:02 PM
Hi!
I read, that you used

REMOTE_LIRCD_CONF="/usr/share/lirc/remotes/devinput/lircd.conf.devinput"
for your config in hardware.conf. Is that by default, or did you change it to that?

My lirc asked me through the install-process for my remote, and i choose


REMOTE="Soundgraph iMON Antec Veris"
REMOTE_MODULES="lirc_dev lirc_imon"
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/input/event4"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="imon/lircd.conf.imon-antec-veris"
REMOTE_LIRCD_ARGS=""

the event4 line is the only one i adapted with the help of some other forum-entry (lost the link till now, but it explained how to get the info by following the USB-ID of my device)

also i got the problem, that my lirc startes with no errors, but irw does not give me any output... the remote already works as mouse or arrow-keys, but that is because of the other inout device it generates, i guess. any questions or hints for me on that topic?

thanks anyway for the help so far

redtop99
January 15th, 2011, 08:08 PM
Hi,

my imon is working well but i want reaad the code from an second remote for my light.

You lirc config, i think, isn't configured right. You have an mix old and new config,

The new one must look like :





#Chosen Remote Control
REMOTE="devinput/eventx"
REMOTE_MODULES="lirc_dev"
REMOTE_DRIVER="devinput"
#REMOTE_DEVICE="/dev/lirc0"
REMOTE_DEVICE="/dev/input/event4"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/usr/share/lirc/remotes/devinput/lircd.conf.devinput"
REMOTE_LIRCD_ARGS=""



It was from that Tread :

http://www.uluga.ubuntuforums.org/showthread.php?t=1665657
and at the start of with tread.

Stefan

redtop99
January 15th, 2011, 08:32 PM
double posted

redtop99
January 15th, 2011, 09:43 PM
double posted

macid
January 16th, 2011, 09:21 AM
Hi!
I read, that you used

REMOTE_LIRCD_CONF="/usr/share/lirc/remotes/devinput/lircd.conf.devinput"
for your config in hardware.conf. Is that by default, or did you change it to that?

My lirc asked me through the install-process for my remote, and i choose


REMOTE="Soundgraph iMON Antec Veris"
REMOTE_MODULES="lirc_dev lirc_imon"
REMOTE_DRIVER=""
REMOTE_DEVICE="/dev/input/event4"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="imon/lircd.conf.imon-antec-veris"
REMOTE_LIRCD_ARGS=""

the event4 line is the only one i adapted with the help of some other forum-entry (lost the link till now, but it explained how to get the info by following the USB-ID of my device)

also i got the problem, that my lirc startes with no errors, but irw does not give me any output... the remote already works as mouse or arrow-keys, but that is because of the other inout device it generates, i guess. any questions or hints for me on that topic?

thanks anyway for the help so far

Hy,

thats the point. The problem is, that, if you follow the configuration (just as using => dpkg-reconfigure lirc), it will generate some kind of conf-files, that does not work.

If you can, take a look at your hardware. In my case, i have the Thermaltake, i sad. At thefront side, the panel is a electric plate (in German Platine, some kind of Motherboard in small). On it is built in the LCD, some knobs and buttons, and also the IR receiver!

And this whole peace of hardware is comunicating with the hardware througt the usb.

But lirc configures the deamon, as the ir-receiver is an seperate peace of hardware, conected directly with the motherboard, but it is not.

And the lirc-configuration don't give me the possibility to select devinput as option. But as you see, you can reconfigure it manually, and it works.
Ok, I putted in absolute paths, normally it works to with relative ones, and you also could use the event-mouse-device, if you want.

@ Light-Controlling:
Why don't you take a look at Linux-MCE, i think, they propagate some kind of functionality for their software.
Maybe, you could lend some plugins of linux-mce ;o)

macid
January 16th, 2011, 09:51 AM
Thank you for your HowTo. It works for me with the Soundgraph Remote too.

I', looking for an solution to use an second remote for controling my Conrad light System.

German ist Homelanguage too :)

Stefan

Oh, i forgot: Take a look at irexec (http://www.lirc.org/html/irexec.html), or IRXEVENT (http://www.lirc.org/html/irxevent.html) that normally comes with lirc.
Does this Light-System works with linux? Thats the first thig, you sould solve. Than you can use irexec, to controll the light-system. I think, but i have absolutly no expirience about this.

wdu010
January 16th, 2011, 11:06 AM
Hi all,

Thanks for the tutorial. Finally my remote responds in IRW. I have an Antec Fusion with Veris R200 remote.

The only thing that isn't working are the arrow keys, channel up/down and volume up/down. If I start XBMC, and enable the mouse, the arrow keys work (as mouse). But these arrow keys on the remote do not trigger IRW to show anything.

What can I do to make these keys work ? All other keys are working fine. The arrow keys I need, because I would like to navigate trough XBMC with the arrow keys, not the mouse.

Thanks.:popcorn:

macid
January 16th, 2011, 11:53 AM
open a terminal, then start irw

irw

now select the non-mouse-mode on your remote, and press some buttons on it, esecially the channel-up/downs, and the direction-keys.
You should get some output like that:

0000000080010073 00 KEY_VOLUMEUP devinput
0000000080010072 00 KEY_VOLUMEDOWN devinput
000000008001006a 00 KEY_RIGHT devinput
000000008001006a 00 KEY_RIGHT devinput
000000008001006a 00 KEY_RIGHT devinput

remeber these codes you need. And the you have to modify the right configuration file, stored in your home-directory.

Take a look at /home/<username>/.lirc/<some-conf-files>

-rw-r--r-- 1 michael michael 3908 2010-12-29 10:56 elisa
-rw-r--r-- 1 michael michael 3753 2010-12-28 19:15 elisa.old
-rw-r--r-- 1 michael michael 137 2010-12-29 10:56 irexec
-rw-r--r-- 1 michael michael 137 2010-12-28 19:15 irexec.old
-rw-r--r-- 1 michael michael 3429 2010-12-29 10:56 mplayer
-rw-r--r-- 1 michael michael 3101 2010-12-28 19:15 mplayer.old
-rw-r--r-- 1 michael michael 4264 2011-01-11 21:04 mythtv
-rw-r--r-- 1 michael michael 6561 2010-12-29 10:56 mythtv~
-rw-r--r-- 1 michael michael 7404 2010-12-28 19:15 mythtv.old
-rw-r--r-- 1 michael michael 3219 2010-12-29 10:56 totem
-rw-r--r-- 1 michael michael 3099 2010-12-28 19:15 totem.old
-rw-r--r-- 1 michael michael 3546 2010-12-29 10:56 vlc
-rw-r--r-- 1 michael michael 3352 2010-12-28 19:15 vlc.old
-rw-r--r-- 1 michael michael 3390 2010-12-29 10:56 xine
-rw-r--r-- 1 michael michael 3097 2010-12-28 19:15 xine.old
-rw-r--r-- 1 michael michael 3997 2010-12-29 10:56 xmame
-rw-r--r-- 1 michael michael 3371 2010-12-28 19:15 xmame.old
-rw-r--r-- 1 michael michael 3997 2010-12-29 10:56 xmess
-rw-r--r-- 1 michael michael 3371 2010-12-28 19:15 xmess.old


You need one, that configures xmbc for the comunication with lirc. You can see an example in my first post.

But the first thing is, that lirc has to be configured properly, that means, there have to be an output with irw like i wrote.

wdu010
January 16th, 2011, 11:57 AM
Thank you for the fast reply. The problem is that Channel up/down, Volume up/down, and the arrow keys do not respond in IRW. All other keys do respond. This is the strange part... How can I get these keys to respond in IRW?

macid
January 16th, 2011, 12:30 PM
Sorry, i've got no time now. Superb weather outside. Will answer later, at the afternoon.

wdu010
January 16th, 2011, 01:23 PM
Sorry, i've got no time now. Superb weather outside. Will answer later, at the afternoon.

Ok! No problem. I am very glad that you will help :) would be great to finally get it working.

macid
January 16th, 2011, 06:44 PM
So, back again. Please post your configuration files here, and the output of:

lshal
and

lsusb
and of corse

irw

don't be afraid, lshal put much contet out, look for the entry like this:


udi = '/org/freedesktop/Hal/devices/usb_device_15c2_38_noserial_if0_logicaldev_input'
info.addons.singleton = {'hald-addon-input'} (string list)
info.capabilities = {'input', 'input.keys', 'input.mouse', 'button'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_15c2_38_noserial_if0' (string)
info.product = 'iMON Remote (15c2:0038)' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_15c2_38_noserial_if0_logicaldev_input' (string)
input.device = '/dev/input/event4' (string)
input.originating_device = '/org/freedesktop/Hal/devices/usb_device_15c2_38_noserial_if0' (string)
input.product = 'iMON Remote (15c2:0038)' (string)
linux.device_file = '/dev/input/event4' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0/rc/rc0/input4/event4' (string)

wdu010
January 16th, 2011, 07:14 PM
Hi macid,

I was just doing irw again, and now it seems everything is working... I really do not understand why, because I followed your tutorial this morning, and it workd for 80%. Now (after reboot maybe?) it works 100%. Thank you for your time and help. This topic will go into the favorites for my next reinstall!!

macid
January 16th, 2011, 07:45 PM
Yes, the magic of reboot ;o) Yes, we in germany often say: AEG
This means "Ausschalten, Einschalten, Gut" (Turn off, Turn on, good).

I am glad, that anyone can use my information about lirc and imon, because i spendet much time in investigation.

God night from germany.

redtop99
January 17th, 2011, 07:20 AM
Hi,

you can configure lirc with dpkg-reconfigure lirc.

But dont select the Soundgraph Driver. You must select
" Linux input layer (/dev/input/eventX) "

and at the next step select the event.


My Light system works well with 9.04 but after upgrade to 10.10 and the new imon driver
i got allways no output with irw to my second remote control.

irrecord isnt working to. The Problem i find out it the new driver it uses the imon in an other way than before.

In the old 9.04 it was used as Infrared device and now it, like you wrote, an complet peace of Hardware what give the Keycode to the Kernel.

You can only switch between soundgraph and MCE mode in the moment.

Blacklist the imon driver and use the lirc driver isnt working too.

Stefan

macid
January 18th, 2011, 07:10 AM
Hi,

you can configure lirc with dpkg-reconfigure lirc.

But dont select the Soundgraph Driver. You must select
" Linux input layer (/dev/input/eventX) "

and at the next step select the event.


My Light system works well with 9.04 but after upgrade to 10.10 and the new imon driver
i got allways no output with irw to my second remote control.

irrecord isnt working to. The Problem i find out it the new driver it uses the imon in an other way than before.

In the old 9.04 it was used as Infrared device and now it, like you wrote, an complet peace of Hardware what give the Keycode to the Kernel.

You can only switch between soundgraph and MCE mode in the moment.

Blacklist the imon driver and use the lirc driver isnt working too.

Stefan

Hello Stefan,

i will try this, with dpkg-reconfigure. I always searched for "devinput", not for Linux-Input-Layer.
Your Problem: Blacklisting from HAL, to stop loading the IMON-Kernel-Driver would be my next suggestion. Bad luck.

Sorry, I have absolutley no ideas for now. Play arround, drink some beer, and have some luck ;o)

macid
February 6th, 2011, 11:18 AM
UPDATE:
Yesterday I just set up my whole system completly new. I so I tested the hint from "redtop99".
And yes, it works.


apt-get install lirc

and the only select the "Linux Input Layer" from the Driver List! How easy it could be, damn.

ok, you have to select the right Input-Device, but you can get it, with the following command:

ls -l /dev/input/by-path/
select the one, that is linked to your given input-device. Mine is the event4, because the "event-mouse" also linked to the event4.

the only thing, that is not ok, is, that my remote sended double-signals.
I added following to /etc/lirc/hardware.conf:

REMOTE_MODULES="lirc_dev"

and used the /home/<username>/.mythtv/lircrc, as I posted in my first post.

It works fine.

turkosbon
March 13th, 2011, 11:37 AM
Hello, i have ubuntu 10.10 with xbmc, configure my soundgraph imon with "Linux Input Layer". My imon work, but the poweroff doesn't work and i try "irw" but don't show code of keys press into imon.