You are not logged in.
Hi,
I have an AVerMedia TV Hybrid A16AR pci tv card with remote control which I am having difficulty configuring under Arch.
I have an old PC I am using as a media server running XBMC. Previously I had Ubuntu on this box, but I have chosen to move away from the *buntus and seeing as my main box is Arch....
Anyway, under Ubuntu the remote worked flawlessly. The only config I had to do was add a module option for saa7134 to select the correct card type (99), a udev rule to create a static device node (the remote uses "devinput" so the device node can change when other devices are added/removed), and drop in my lirc hardware.conf and lircd.conf (previously created using irrecord).
Now, under Arch, I can not get the remote to work correctly. The pci card is recognised and loaded correctly, the udev rule is actioned correctly, the lirc daemon starts correctly and the hardware.conf file appears to be recognised as I can use irrecord to successfully create an lircd.conf file.
The problem is the remote (testing with irw) appears to be acting as a keyboard. No IR codes set in my lircd.conf are issued. The number buttons will output the corresponding number to the console and the other buttons either output nothing or what appears to be "special key" codes (for example if you press ESC in the console).
Following are copies of my config files along with any differences I have noticed between the Arch and Ubuntu versions.
All help greatly appreciated - it feels like just the tiniest thing I am missing!
Output of dmesg (Arch):
saa7130/34: v4l2 driver version 0.2.16 loaded
saa7134 0000:01:05.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
saa7133[0]: found at 0000:01:05.0, rev: 209, irq: 17, latency: 64, mmio: 0xfe9ed800
saa7133[0]: subsystem: 1461:2c00, board: AVerMedia TV Hybrid A16AR [card=99,insmod option]
saa7133[0]: board init: gpio is 21000
input: saa7134 IR (AVerMedia TV Hybrid as /devices/pci0000:00/0000:00:1e.0/0000:01:05.0/rc/rc0/input6
rc0: saa7134 IR (AVerMedia TV Hybrid as /devices/pci0000:00/0000:00:1e.0/0000:01:05.0/rc/rc0
saa7133[0]: i2c eeprom 00: 61 14 00 2c 00 00 00 00 00 00 00 00 00 00 00 00
saa7133[0]: i2c eeprom 10: 00 ff 82 0e ff 20 ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 20: 01 40 01 02 02 03 03 01 08 ff 00 a3 ff ff ff ff
saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 40: ff 32 00 c0 86 1e ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
tuner 15-0060: chip found @ 0xc0 (saa7133[0])
tuner 15-0043: chip found @ 0x86 (saa7133[0])
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
DVB: registering new adapter (saa7133[0])
saa7134 ALSA driver for DMA sound loaded
saa7133[0]/alsa: saa7133[0] at 0xfe9ed800 irq 17 registered as card -1
Kernel modules (Arch): (I'm thinking this may be the area of issue as on Ubuntu I loaded lirc_dev and lirc_i2c, on Arch I cannot load lirc_i2c but instead, an avermedia module has appeared)
Module Size Used by
md5 3491 2
hmac 2301 1
nls_utf8 992 1
cifs 238753 2
fscache 35931 1 cifs
ext2 55631 1
saa7134_alsa 9255 0
tuner_simple 12293 1
tuner_types 7973 1 tuner_simple
mt352 5061 1
saa7134_dvb 19869 0
videobuf_dvb 3938 1 saa7134_dvb
dvb_core 75727 1 videobuf_dvb
tda9887 8158 1
tda8290 11721 0
tea5767 5293 1
tuner 18916 2
joydev 7727 0
rc_avermedia 906 0
saa7134 138267 2 saa7134_alsa,saa7134_dvb
ir_lirc_codec 3559 0
b44 25117 0
usbhid 32307 0
lirc_dev 9879 1 ir_lirc_codec
hid 62031 1 usbhid
v4l2_common 5844 2 tuner,saa7134
ir_sony_decoder 1831 0
snd_seq_dummy 1119 0
snd_seq_oss 25232 0
snd_seq_midi_event 4568 1 snd_seq_oss
ir_jvc_decoder 1925 0
videodev 57747 3 tuner,saa7134,v4l2_common
ssb 38732 1 b44
i915 361648 0
mmc_core 55250 1 ssb
snd_intel8x0 22270 0
ir_rc6_decoder 2341 0
v4l1_compat 13986 1 videodev
snd_seq 41912 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 4409 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss 33950 0
pcmcia 32682 1 ssb
ir_rc5_decoder 1829 0
videobuf_dma_sg 7224 3 saa7134_alsa,saa7134_dvb,saa7134
snd_mixer_oss 15366 1 snd_pcm_oss
drm_kms_helper 23703 1 i915
snd_ac97_codec 88079 1 snd_intel8x0
drm 141488 2 i915,drm_kms_helper
ac97_bus 770 1 snd_ac97_codec
snd_pcm 59496 4 saa7134_alsa,snd_intel8x0,snd_pcm_oss,snd_ac97_codec
snd_timer 15687 2 snd_seq,snd_pcm
videobuf_core 13399 3 videobuf_dvb,saa7134,videobuf_dma_sg
ir_nec_decoder 2117 0
ir_common 3506 1 saa7134
ir_core 12818 10 rc_avermedia,ir_lirc_codec,saa7134,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,ir_nec_decoder,ir_common
uhci_hcd 19163 0
pcmcia_core 9753 1 pcmcia
mii 3206 1 b44
tveeprom 10577 1 saa7134
ehci_hcd 34490 0
snd 43987 10 saa7134_alsa,snd_seq_oss,snd_intel8x0,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_ac97_codec,snd_pcm,snd_timer
ppdev 4806 0
evdev 7179 0
i2c_algo_bit 4191 1 i915
usbcore 116984 4 usbhid,uhci_hcd,ehci_hcd
parport_pc 27992 1
shpchp 23205 0
intel_agp 8840 1 i915
intel_gtt 11863 3 i915,intel_agp
soundcore 4961 1 snd
processor 22529 0
lp 6652 0
floppy 48489 0
video 10367 1 i915
i2c_i801 6954 0
sg 21196 0
psmouse 50354 0
button 3882 1 i915
iTCO_wdt 8877 0
pci_hotplug 21691 1 shpchp
pcspkr 1367 0
parport 25787 3 ppdev,lp,parport_pc
output 1456 1 video
serio_raw 3638 0
dcdbas 4300 0
snd_page_alloc 6021 2 snd_intel8x0,snd_pcm
agpgart 22880 3 drm,intel_agp,intel_gtt
iTCO_vendor_support 1441 1 iTCO_wdt
i2c_core 16029 16 tuner_simple,mt352,saa7134_dvb,tda9887,tda8290,tea5767,tuner,saa7134,v4l2_common,videodev,i915,drm_kms_helper,drm,tveeprom,i2c_algo_bit,i2c_i801
ext4 306640 3
mbcache 4338 2 ext2,ext4
jbd2 59140 1 ext4
crc16 1061 1 ext4
sr_mod 13569 0
sd_mod 25488 7
cdrom 31666 1 sr_mod
ata_piix 18266 5
pata_acpi 2348 0
libata 151324 2 ata_piix,pata_acpi
scsi_mod 107414 4 sg,sr_mod,sd_mod,libata
Output of cat /proc/bus/input/devices (Arch):
I: Bus=0001 Vendor=1461 Product=2c00 Version=0001
N: Name="saa7134 IR (AVerMedia TV Hybrid"
P: Phys=pci-0000:01:05.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:1e.0/0000:01:05.0/rc/rc0/input6
U: Uniq=
H: Handlers=kbd event6
B: EV=100013
B: KEY=fc310 82140000 0 0 0 0 2148000 180 4001 9e0000 0 0 ffc
B: MSC=10
udev rule (Arch & Ubuntu) /etc/udev/rules.d/10-local.rules : the device node /dev/lirc is created correctly
KERNEL=="event*",SYSFS{vendor}=="0x1131",SYMLINK="lirc"
/etc/conf.d/lircd.conf (Arch):
#
# Parameters for lirc daemon
#
LIRC_DEVICE="/dev/lirc"
LIRC_DRIVER="devinput"
LIRC_EXTRAOPTS=""
LIRC_CONFIGFILE="/etc/lirc/lircd.conf"
/etc/lirc/hardware.conf (Arch): see only lirc_dev module here, can not include lirc_i2c as in Ubuntu as it no longer seems to exist
REMOTE="custom"
REMOTE_MODULES="lirc_dev"
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="/dev/lirc"
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
START_LIRCD="true"
START_LIRCMD=""
LOAD_MODULES="true"
LIRCMD_CONF=""
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
REMOTE_SOCKET=""
TRANSMITTER_SOCKET=""
/etc/lirc/hardware.conf (Ubuntu): here you can see the lirc_i2c module to be loaded which I am unable to load in Arch.
REMOTE="custom"
REMOTE_MODULES="lirc_dev lirc_i2c"
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="/dev/lirc"
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
START_LIRCD="true"
START_LIRCMD=""
LOAD_MODULES="true"
LIRCMD_CONF=""
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
REMOTE_SOCKET=""
TRANSMITTER_SOCKET=""
/etc/lirc/lircd.conf (Arch) - truncated : the big difference is the bits line and the actual codes themselves...
begin remote
name custom
bits 56
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 8
pre_data 0x0
gap 33325
toggle_bit_mask 0x0
begin codes
SOURCE 0x01017900000001 0x00000000000000
POWER 0x01007400000001 0x00000000000000
1 0x01000200000001 0x00000000000000
2 0x01000300000001 0x00000000000000
3 0x01000400000001 0x00000000000000
4 0x01000500000001 0x00000000000000
5 0x01000600000001 0x00000000000000
6 0x01000700000001 0x00000000000000
/etc/lirc/lircd.conf (Ubuntu) - truncated:
begin remote
name custom
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 135992
toggle_bit_mask 0x80010174
begin codes
1 0x0002
2 0x0003
3 0x0004
4 0x0005
5 0x0006
6 0x0007
Last edited by Padfoot (2011-03-05 21:50:33)
Offline
UPDATE:
Ok, so there appears to be way to many ir kernel modules loading at boot, so I have tried the following:
rmmod rc_avermedia ir_lirc_codec ir_sony_decoder ir_jvc_decoder ir_rc6_decoder ir_rc5_decoder ir_nec_decoder
followed by adding the following to /etc/modprobe.d/modprobe.conf
blacklist rc_avermedia
blacklist ir_lirc_codec
blacklist ir_sony_decoder
blacklist ir_jvc_decoder
blacklist ir_rc6_decoder
blacklist ir_rc5_decoder
blacklist ir_nec_decoder
enabling the following line in /etc/mkinitcpio.conf
FILES="/etc/modprobe.d/modprobe.conf"
and finally
mkinitcpio -p kernel26
Upon reboot, the modules are still loaded!
I have even tried adding the following to /etc/rc.conf
MODULES=(i2c_core lirc_i2c !rc_avermedia !ir_lirc_codec !ir_sony_decoder !ir_jvc_decoder !ir_rc6_decoder !ir_rc5_decoder !ir_nec_decoder)
Now the i2c_core and lirc_i2c modules have loaded (which I could not modprobe previously) yet the blacklisted modules still load.
To me, with so many ir modules loading, I am thinking there must be a conflict causing my remote not to work.
HELP!
Offline
Well, I have solved my issue - and I was right in the first post - it was something very simple!
The udev rule I used to map a consistent device node for my remote was not working. The symlink was created but not actually connected to the device.
I re-mapped lirc to use the event directly and my remote is now working.
Now to just get the consistent node working (as I sometimes have a mouse and keyboard attached and sometimes i don't so the event mapped to the remote does change).
Hmmmmmm.
Offline