Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] Antec Veris: Switch to 3.x kernel and lirc-0.9.0
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
Apheus
Guru
Guru


Joined: 12 Jul 2008
Posts: 422

PostPosted: Sat May 25, 2013 4:00 pm    Post subject: [Solved] Antec Veris: Switch to 3.x kernel and lirc-0.9.0 Reply with quote

Hello,

I have an Antec Veris Remote HTPC case.
After a long time with outdated kernel/ati-drivers/xorg-server/udev because of that *$^@X* move of infrared remote drivers in-kernel, I finally decided to give it a try:

gentoo-sources-3.4.46 (ati-drivers does not compile against 3.8, and I could not get radeon to work with correct resolution)
app-misc/lirc-0.9.0-rc2
media-tv/xbmc-11.0.

Code:
# zgrep _IR /proc/config.gz
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
CONFIG_HT_IRQ=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_NAT_IRC=y
# CONFIG_IRDA is not set
CONFIG_IR_NEC_DECODER=y
CONFIG_IR_RC5_DECODER=y
CONFIG_IR_RC6_DECODER=y
CONFIG_IR_JVC_DECODER=y
CONFIG_IR_SONY_DECODER=y
CONFIG_IR_RC5_SZ_DECODER=y
CONFIG_IR_SANYO_DECODER=y
CONFIG_IR_MCE_KBD_DECODER=y
CONFIG_IR_LIRC_CODEC=y
# CONFIG_IR_ENE is not set
CONFIG_IR_IMON=m
# CONFIG_IR_MCEUSB is not set
# CONFIG_IR_ITE_CIR is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_NUVOTON is not set
# CONFIG_IR_REDRAT3 is not set
# CONFIG_IR_STREAMZAP is not set
# CONFIG_IR_WINBOND_CIR is not set
# CONFIG_IR_GPIO_CIR is not set
CONFIG_TRACE_IRQFLAGS_SUPPORT=y


Half of the buttons in XBMC do not work. I think I have to reconfigure them in XBMC's config, but for that I need to get the IR keycodes using irw. And I cannot get irw to output anything at all: It simply listens to a socket where nothing ever gets through.

I know this thread: https://forums.gentoo.org/viewtopic-t-882181.html, but nobody there explains exactly how they got irw working again. Do I need "userspace" or "devinput" in LIRC_MODULES in make.conf? I have tried with both, irw stays silent. Or is it the old "imon imon_lcd"?

Also, /dev/lirc0 does not get created by the kernel module. Do I have to write a udev rule?

I'm out of ideas here.


Last edited by Apheus on Mon May 27, 2013 12:49 pm; edited 1 time in total
Back to top
View user's profile Send private message
BradN
Advocate
Advocate


Joined: 19 Apr 2002
Posts: 2391
Location: Wisconsin (USA)

PostPosted: Sun May 26, 2013 4:10 am    Post subject: Reply with quote

ati-drivers should compile against 3.8, I compiled it against 3.8.5. Make sure you're using the latest version?
Back to top
View user's profile Send private message
Apheus
Guru
Guru


Joined: 12 Jul 2008
Posts: 422

PostPosted: Sun May 26, 2013 1:01 pm    Post subject: Reply with quote

I need the legacy ati-drivers for my card, but the compile error was the same anyway. Kernel source was gentoo-sources-3.8.13. I have $KBUILD_OUTPUT != $KERNEL_DIR, maybe something in ati-drivers' build process does not like that for newer kernels. I will try again next week, if I find the time.

Anyway, I got the infrared remote working fine now because I found this thread: https://forums.gentoo.org/viewtopic-t-936896.html.

What I did:

Minimal kernel config:

Code:
# zgrep _IR /proc/config.gz
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
CONFIG_HT_IRQ=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_NAT_IRC=y
# CONFIG_IRDA is not set
# CONFIG_IR_NEC_DECODER is not set
# CONFIG_IR_RC5_DECODER is not set
# CONFIG_IR_RC6_DECODER is not set
# CONFIG_IR_JVC_DECODER is not set
# CONFIG_IR_SONY_DECODER is not set
# CONFIG_IR_RC5_SZ_DECODER is not set
# CONFIG_IR_SANYO_DECODER is not set
# CONFIG_IR_MCE_KBD_DECODER is not set
# CONFIG_IR_LIRC_CODEC is not set
# CONFIG_IR_ENE is not set
CONFIG_IR_IMON=m
# CONFIG_IR_MCEUSB is not set
# CONFIG_IR_ITE_CIR is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_NUVOTON is not set
# CONFIG_IR_REDRAT3 is not set
# CONFIG_IR_STREAMZAP is not set
# CONFIG_IR_WINBOND_CIR is not set
# CONFIG_IR_GPIO_CIR is not set
CONFIG_TRACE_IRQFLAGS_SUPPORT=y


(only the keymaps and the imon driver).


Remove LCDd and lirc from runlevel, remove everything lirc related and xbmc from autostart (for better testing).


Install media-tv/v4l-utils.


set LIRC_DEVICES=devinput in make.conf, reemerge lirc. Check that /etc/lirc/lircd.conf is the version generated by devinput.sh (comment in first line), and that /etc/lirc/ does not contain anything else.


Check which event device is the remote (ir-keytable program from v4l-utils):
Code:
# ir-keytable
Found /sys/class/rc/rc0/ (/dev/input/event5) with:
        Driver imon, table rc-imon-pad
        Supported protocols: RC-6 other
        Enabled protocols:
        Repeat delay = 500 ms, repeat period = 125 ms

... so in my case it is event5. To future-proof this against renumbering of devices, find the device id:
Code:
# ls -l /dev/input/by-id
total 0
lrwxrwxrwx 1 root root 9 May 26 12:53 usb-15c2_0038-event-if00 -> ../event5
...

Put this in /etc/conf.d/lircd:
Code:
# for devices using the input-layer
LIRCD_OPTS="-H devinput -d /dev/input/by-id/usb-15c2_0038-event-if00"

This tells lirc to listen to that device.


Now, ir-keytables -t did output something. And after starting lircd service, irw prints the keystrokes (xbmc must not run when irw is started).


Some keynames have changed, but with irw output it was trivial to change the config in xbmc's Lircmap.xml. I now have xbmc behave as I'm used to with the remote (except the knob on the case, but I don't care too much about that).
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum