View previous topic :: View next topic |
Author |
Message |
MaBu-Gentoo n00b
Joined: 28 Sep 2005 Posts: 22 Location: Slovenia
|
Posted: Sun Aug 27, 2006 11:11 pm Post subject: [HOWTO]Remote of Leadtek Winfast TV 2000 XP expert working |
|
|
I have tried this with my Leadtek Winfast TV 2000 XP Expert
Code: | 02:07.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
Subsystem: LeadTek Research Inc. Unknown device 6611
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at eb000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [44] Vital Product Data
Capabilities: [4c] Power Management version 2
|
Name of the remote control is Y04G0004, if it works on others tell me.
Strangely when I had ony module for my TV card compiled numbers and enter button worked like I was typing on a keyboard, and stayed working after I mapped the keys.
This should probably work for all remote controls, that outputs keypresses in /dev/input/eventX
This is only for TV 200 XP Expert:
1. Compile cx88 as module.
Code: |
Device Drivers --->
Multimedia Devices -->
<M> Video For Linux
and in Video Capture Adapters
choose Conexant 2388x (bt878 successor) support
|
This is for all:
2. Compile evdev support
If you don't have Event interface support compiled do this:
Code: |
Device Drivers -->
Input device support -->
<M> Event interface (This can be module or compiled in)
|
Compile new kernel.
If you only compiled modules, you can modprobe it, if you compiled anything in kernel you must reboot.
This is for all:
3. Compile Lirc with devinput support
in /etc/make.conf
add this line:
LIRC_DEVICES="devinput"
Emerge lirc. I added udev use flag too, because I use udev.
When Lirc is compiling, we can see which event do we have to use.
First modprobe evdev for event interface and cx8800 and cx88xx if they aren't already loaded.
Check if the support for your remote has been loaded by v4l by running "cat /proc/bus/input/devices". The output is the list of input devices your system has (usually the keyboard, a mouse, and if your remote is working, the remote). Search for a line that start with "N:" (the name of the input device) and contains the name of your v4l board or the driver for that board. Like this: Code: | I: Bus=0001 Vendor=107d Product=6611 Version=0001
N: Name="cx88 IR (Leadtek Winfast 2000XP"
P: Phys=pci-0000:02:07.0/ir0
S: Sysfs=/class/input/input2
H: Handlers=kbd event2
B: EV=100003
B: KEY=8fc204 140000 0 0 0 0 0 90 40004001 1e0000 4400 100000 10000ffc
|
Our Event is event2. If you do cat /dev/input/event2 and press some keys you should see some garbage in the terminal.
If you're lucky when you start lircd -n -H dev/input -d /dev/input/event2 and irw in another window, you should see SOmethink like that
Code: |
0000000080010074 00 POWER /tmp/lirca.conf
|
When you press the power button.
If you don't (and I didn't ) and see a lot of
Code: | lircd-0.8.0[2053]: devinput_rec
lircd-0.8.0[2053]: time 1156716209.929967 type 1 code 116 value 1
lircd-0.8.0[2053]: code 80010074
lircd-0.8.0[2053]: devinput_decode |
in terminal where you started lirc read more. Stop Lirc. (Ctrl C)
Type irrecord -H dev/input -d /dev/input/event2 /tmp/my-remote
First When this text is shown "Press RETURN to continue." Press enter to continue. When this text is shown "Hold down an arbitrary button" Press some button on remote many times. For each press a dot will sbe shown. You must keep pressing button that many times that these is shown: Code: | Found gap length: 259687
Now enter the names for the buttons.
Please enter the name for the next button (press <ENTER> to finish recording)
|
Write 1 and press Enter
Code: | Now hold down button "1" | is shown. Now press the button one. Repeat these procedure with writing the name of the button and pressing it as long that all the buttons are mapped. But be aware that not all are working. I don't know why. When you are finished just press enter where yu should written the name and wait 10 seconds. IF you were succesfull this is shown: Code: | irrecord: no data for 10 secs, aborting
No toggle bit found.
min_repeat=0
Successfully written config file.
|
Now start Lirc again lircd -n -H dev/input -d /dev/input/event2 /tmp/my-remote start irw in another terminal. Now buttons should be mapped. mv /tmp/my-remote to the /etc/lircd.conf and write LIRC_OPTS="-H dev/input -d /dev/input/event2" to the /etc/conf.d/lircd. Delete previous LIRC_OPTS line. Now stop Lirc and you can start it with /etc/init.d/lircd start. YOu can recompile programs with lirc useflag.
This whole lircd file:
Code: |
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.0(devinput) on Mon Aug 28 12:08:54 2006
#
# contributed by Marko Burjek
#
# brand: Cool Command
# model no. of remote control: Y04G0004
# devices being controlled by this remote: Winfast TV 2000 XP Expert
#
begin remote
name CoolComandY04G00004
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 259737
toggle_bit 0
begin codes
1 0x0002
2 0x0003
3 0x0004
4 0x0005
5 0x0006
6 0x0007
7 0x0008
8 0x0009
9 0x000A
0 0x000B
. 0x0034
POWER 0x0074
RED 0x018E
GREEN 0x018F
YELLOW 0x0190
BLUE 0x0191
CC 0x0172
MUTE 0x0071
SLEEP 0x008E
FULLSCREEN 0x0174
CH_UP 0x0192
CH_DOWN 0x0193
VOL_UP 0x0073
VOL_DOWN 0x0072
ENTER 0x001C
VIDEO 0x0189
REC 0x00A7
PLAY/PAUSE 0x00A4
PREV 0x009E
NEXT 0x0197
STOP 0x0080
end codes
end remote
|
But strangely in /usr/src/linux/drivers/media/common/ir-keymaps.c in IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
for my card keymaps are different:
Code: |
[ 0x05 ] = KEY_1,
[ 0x00 ] = KEY_POWER,
|
Some buttons do not make lirc events and in dsmesg are logged as uknown key, but strangely they exists in /usr/src/linux/drivers/media/common/ir-keymaps.c .
[EDIT] Added whle lircd.conf file
Some things borrowed from V4l Wiki _________________ [IMG]http://img101.imageshack.us/img101/2447/gentoo27li.gif[/IMG] |
|
Back to top |
|
|
|
|
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
|
|