[LINUX]XBMC on 2.6.35 (Lucid with Maverick kernel backport)
#1
Hey,

Just upgraded from the stock Lucid kernel to the 2.6.35 kernel (2.6.35-14). I will post any gotchas I find against the latest svn and this kernel.

First gotcha: LIRC v the kernel

In 2.6.34, the LIRC guys started putting the IR stuff into the core kernel (IR core project). Took me a while to reconfigure my iMON remote that came with my Antec Fusion case:
Code:
Bus 004 Device 002: ID 15c2:0038 SoundGraph Inc.

While the latest SVN does pick the remote up without LIRC running, you can't access the OSD or menus with the default binding. To get the remote working again you have to configure LIRC from lirc_imon to devinput (linux-input-layer)
Reply
#2
Hi crazytony,

that sounds really cool. I have the same setup and I'm still fighting with the details. Can you share your config files?

Thank you very much,
ludger
Reply
#3
I'm running the latest SVN version of LIRC -- I don't know if the Ubuntu dist includes the linux-input-layer (worth a try)

Step 1: Configure LIRC
/etc/lircd/lircd.conf: http://pastebin.com/PfGGBgWr

hardware.conf: this is tricky. You have to get the device path right. First, run
Code:
cat /proc/bus/input/devices
the output will look like
Code:
I: Bus=0003 Vendor=15c2 Product=0038 Version=0002
N: Name="iMON Remote (15c2:0038)"
P: Phys=usb-0000:00:06.0-4/input0
S: Sysfs=/devices/pci0000:00/0000:00:06.0/usb4/4-4/4-4:1.0/rc/rc0/input4
U: Uniq=
H: Handlers=kbd mouse1 event4
B: EV=100007
B: KEY=fff 0 0 400000 108c0320 2d50082 0 0 30000 4 119000 4196 14100801 809e1680 0 2000000 10004002
B: REL=103

Replace the phys line in the hardware.conf http://pastebin.com/cFn6Lbq5 with the value from the phys= line above. In my hardware.conf that looks like
Code:
...
REMOTE_DEVICE="phys="usb-0000:00:06.0-4/input0""
...
TRANSMITTER_DEVICE="phys="usb-0000:00:06.0-4/input0""
...

Step 2:

Restart lircd:
Code:
/etc/init.d/lirc stop
/etc/init.d/lirc start

Test lirc:
Code:
xbmc@frontmedia:~$ irw
0000000000010069 00 LEFT linux-input-layer
0000000000010069 00 LEFT linux-input-layer
000000000001006a 00 RIGHT linux-input-layer
000000000001006a 00 RIGHT linux-input-layer
000000000001006a 00 RIGHT linux-input-layer
000000000001006a 00 RIGHT linux-input-layer
0000000000010069 00 LEFT linux-input-layer

Gotcha 2: if you don't see anything, press the keyboard/mouse button on the remote. You may have to do this after every reboot. If you still don't see anything, then something in the config is wrong.

Step 3: Configure XBMC

Gotcha 3: latest SVN has linux-input-layer in the Lircmap.xml but it has the wrong key names. Here's my version:

/usr/share/xbmc/system/Lircmap.xml: http://pastebin.com/VYRUL5f7

Restart xbmc and test in xbmc.
Reply
#4
where did you get the kernel from? do you have the .deb files you could share also for lirc.
Reply
#5
I compiled lirc directly from SVN -- no debs available I'm afraid. I would test the 0.86 version that ships with Lucid before doing something drastic like compiling. I didn't get a chance to do this because I was trying to debug the issue.

The kernel came from the Ubuntu Kernel Team's PPA:

Code:
sudo add-apt-repository ppa:kernel-ppa/ppa
sudo apt-get update
sudo apt-get install linux-lts-backport-maverick

You may have to make changes to your grub config (/etc/default/grub) to pick up the new kernel and you will have to reboot after installing and configuring to run the new kernel.

This will tell you if you have the kernel
Code:
$ uname -a
Linux frontmedia 2.6.35-14-generic-pae #19~lucid1-Ubuntu SMP Tue Aug 3 10:03:53 UTC 2010 i686 GNU/Linux

In order to use XBMC with the new kernel you will also have to uninstall the graphics drivers and reinstall the latest drivers from NVIDIA or ATI. I have an ION mobo so I installed the latest nvidia drivers (256.44) and it was fairly easy -- download, execute, follow the prompts.

https://help.ubuntu.com/community/NvidiaManual
Reply
#6
I have just done a complete reinstall and I can confirm that the lirc 0.86 shipped with Lucid works.


Code:
cat /proc/bus/input/devices
...
I: Bus=0003 Vendor=15c2 Product=0038 Version=0002
N: Name="iMON Remote (15c2:0038)"
P: Phys=usb-0000:00:06.0-4/input0
S: Sysfs=/devices/pci0000:00/0000:00:06.0/usb4/4-4/4-4:1.0/rc/rc0/input4
U: Uniq=
H: Handlers=kbd mouse1 event4
B: EV=100007
B: KEY=fff 0 0 400000 108c0320 2d50082 0 0 30000 4 119000 4196 14100801 809e1680 0 2000000 10004002
B: REL=103
...
Code:
sudo dpkg-reconfigure lirc
Select "Linux input layer"

Code:
âââââââââââââââââââââââââââââ⤠Configuring lirc ââââââââââââââââââââââââââââââ
â If you choose a remote or transmitter, but already have a configuration    â
â file in /etc/lirc/lircd.conf, the existing file will be renamed to         â
â /etc/lirc/lircd.conf.dpkg-old and the community configurations loaded      â
â into /etc/lirc/lircd.conf.  If you have a /etc/lirc/lircd.conf.dpkg-old    â
â file already, it will not be overwritten and your current                  â
â /etc/lirc/lircd.conf will be lost.                                         â
â                                                                            â
â Remote control configuration:                                              â
â                                                                            â
â    Kanam Accent                                                         â  â
â    KNC ONE TV Station (-/SE/PRO/RDS)                                    â  â
â    Lenco MXTV-9578 CP (card=50)                                         â®
â    Linksys NSLU2 (CTS2+GreenLED)                                        â  â
â    Linux input layer (/dev/input/eventX)                                â  â
â                                                                            â
â                                                                            â
â                                   <Ok>                                     â
â                                                                            â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ

Select the input device seen in the Handlers variable in the cat command (event4 on my machine)

Code:
ââââââââââââââââââââââââââââ⤠Configuring lirc âââââââââââââââââââââââââââââ
  â Many remotes that were previously supported by the lirc_gpio interface   â
  â now need to be set up via the dev/input interface.  You will need to     â
  â custom select your remote's event character device.  This can be         â
  â determined by 'cat /proc/bus/input/devices'.                             â
  â                                                                          â
  â Custom event interface for your dev/input device:                        â
  â                                                                          â
  â      /dev/input/by-path/pci-0000:00:06.0-usb-0:4:1.0-mouse          â    â
  â      /dev/input/by-id                                               â    â
  â      /dev/input/event0                                              â    â
  â      /dev/input/event1                                              â    â
  â      /dev/input/event2                                              â®    â
  â      /dev/input/event3                                              â    â
  â      /dev/input/event4                                              â    â
  â                                                                          â
  â                                                                          â
  â                                  <Ok>                                    â
  â                                                                          â
  ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ

when the menu pops up select linux input layer as the remote control configuration


Restart lircd

run irw and adjust the Lircmap.xml accordingly.
Reply
#7
Tried your little guide but no luck for me, irw didn't get anything.

I do have a 15c2:0036, which is quirky, requires me to patch the kernel module for 2.6.32.
Reply
#8
Thanks crazytony,

I was able to get my imon remote working properly in maverick beta with your guide.
Reply
#9
crazytony Wrote:This will tell you if you have the kernel
Code:
$ uname -a
Linux frontmedia 2.6.35-14-generic-pae #19~lucid1-Ubuntu SMP Tue Aug 3 10:03:53 UTC 2010 i686 GNU/Linux

In order to use XBMC with the new kernel you will also have to uninstall the graphics drivers and reinstall the latest drivers from NVIDIA or ATI. I have an ION mobo so I installed the latest nvidia drivers (256.44) and it was fairly easy -- download, execute, follow the prompts.

https://help.ubuntu.com/community/NvidiaManual

I don't think it's necessary to go to nvidia binary route. I just installed 2.6.35-23 so I could use ath3k. I grabbed the headers and then:

Code:
sudo apt-get install --reinstall nvidia-current nvidia-current-modaliases nvidia-settings

I'm enjoying XBMC once more. Now, to find some user reports of people using the PS3 remote, my mobo has no IR.

HTH
Reply
#10
If you use the input-layer event, then you risk having to reconfigure after every boot since the events are not statically assigned. If you plug-in a new device, say a usb pendrive, then your remote could end up on a different event.
Reply
#11
Hey guys i just created a new post about a similar issue, here then saw this, maybe you can help. I have a Fusion Black w the LCD, and have it working fine using the Linux Input Layer for now.

However one thing I had configured on my Karmic box was to remove the front knob volume control functions from the XBMC config so it would control my alsa/pulseaudio mixer volume instead (ie: master gain for the whole system). Did this by creating a new remote file (pulseaudio) in my ~/.lirc/ and creating an include to it in my ~/.lircrc file. I have recreated this same scenario, naming the remote as 'devinput' but no alsa control.

Any ideas.
Reply

Logout Mark Read Team Forum Stats Members Help
[LINUX]XBMC on 2.6.35 (Lucid with Maverick kernel backport)0