From: Jarod W. <ja...@wi...> - 2011-01-31 19:59:36
|
On Jan 31, 2011, at 2:00 PM, Larry Lobster wrote: > >> Well, there are a few ways to go about this... >> >> 1) download upstream kernel source, edit drivers/media/rc/nuvoton-cir.c, and >> then compile kernel, install and boot the new kernel >> >> 2) get your distro kernel's source, unpack it, make the same edit, and with the >> matching linux-headers (or whatever its called on Ubuntu), compile just the bits >> under drivers/media/rc/ against the running kernel's headers, manually copy them >> into place, reboot >> >> 3) use linuxtv.org media_build infra to get a module tree that'll work with >> your currently running kernel, edit linux/drivers/media/rc/nuvoton-cir.c and >> then compile modules, install, reboot >> >> >> #3 should be fairly well documented here, its what I'd recommend: >> >> http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers >> > Ok, I have edited drivers/media/IR/nuvoton-cir.h and as a quick fix for > my box I redefined some constants: > /* Chip IDs found in CR_CHIP_ID_{HI,LO} */ > #define CHIP_ID_HIGH 0xa5 > #define CHIP_ID_LOW 0x13 > #define CHIP_ID_LOW2 0x13 > > After building and rebooting dmesg | grep uvoton shows this: > [ 5.103115] input: Nuvoton w836x7hg Infrared Remote Transceiver as > /devices/virtual/rc/rc0/input4 > [ 5.104241] rc0: Nuvoton w836x7hg Infrared Remote Transceiver as > /devices/virtual/rc/rc0 > [ 5.104253] nuvoton_cir: driver has been successfully loaded > [ 5.765267] rc rc0: lirc_dev: driver ir-lirc-codec (nuvoton-cir) > registered at minor = 0 > > Great! Cool, progress. > Ok, cat /proc/bus/input/devices returns > I: Bus=0019 Vendor=1050 Product=00a5 Version=0013 > N: Name="Nuvoton w836x7hg Infrared Remote Transceiver" > P: Phys= > S: Sysfs=/devices/virtual/rc/rc0/input4 > U: Uniq= > H: Handlers=kbd event4 > B: EV=100013 > B: KEY=fff 0 108fc326 217605100000000 0 700158000 419000100001 > 9e968000000000 10000000 > B: MSC=10 > > Now it could be time to paste my lirc-config: > > This is my /etc/lirc/hardware.conf: > REMOTE="Linux input layer (/dev/input/eventX)" > REMOTE_MODULES="" > REMOTE_DRIVER="devinput" > REMOTE_DEVICE="/dev/input/event4" > REMOTE_SOCKET="" > REMOTE_LIRCD_CONF="devinput/lircd.conf.devinput" > REMOTE_LIRCD_ARGS="" > TRANSMITTER="None" > TRANSMITTER_MODULES="" > TRANSMITTER_DRIVER="" > TRANSMITTER_DEVICE="" > TRANSMITTER_SOCKET="" > TRANSMITTER_LIRCD_CONF="" > TRANSMITTER_LIRCD_ARGS="" > START_LIRCD="true" > START_LIRCMD="" > LOAD_MODULES="" > LIRCMD_CONF="" > FORCE_NONINTERACTIVE_RECONFIGURATION="false" > > And my lircd.conf > include "/usr/share/lirc/remotes/devinput/lircd.conf.devinput" > > ps aux | grep lirc returns: > /usr/sbin/lircd --output=/var/run/lirc/lircd --driver=devinput > --device=/dev/input/event4 > > I tried "irw" and pushed some buttons on my remote control > .. and nothing happens :-( > > For sure there might be several reasons: First of all I would like to > make sure the configuration is correct. It looks sane, from what I can tell, but lets have you try something else first. Stop lircd and run mode2. Press some buttons on the remote and see if mode2 spits anything out (it should). You should also be able to run the driver in debug mode to get some additional data out of it via dmesg. Results from this testing ought to give us a better idea whether or not we're at least getting some data from the hardware. -- Jarod Wilson ja...@wi... |