David Batson Posted October 18, 2009 Report Share Posted October 18, 2009 (edited) I have spent some hours working to get my Cyberlink Remote Control functional in Mandriva 2009.1. I have Googled half the internet in the process. I now have a measure of success with VLC. Still a couple of issues and unanswered questions, but I hope to get them sorted. I decided to document my progress to date before I forgot what I did. Here is what my remote looks like: http://www.altechco.com/images/cyber.jpg In the beginning, I was trying to install a tarball someone wrote at http://linux.thaj.net63.net/cyberlinkusb/ [cyberlinkusb-20081207.tar.bz2] to get this Cyberlink Remote to work. After a couple of hiccups I got the tarball installed successfully only to discover later it was superfluous since the driver has been incorporated into the kernel. http://www.xbmc.org/forum/showpost.php?p=302112&postcount=28 Regarding this remote control: some buttons are seen as regular keypresses (such as the Number buttons and Enter). Other buttons are special (such as Play and FastForward), and these are the problem ones. I am sure there are a couple of superfluous files and steps that got entered here. Eventually I should be able ferret them out. ------------------- First, install LIRC. Here is a list of my installed LIRC related rpms. python-lirc-0.0.5-2mdv2009.1 vlc-plugin-lirc-1.0.1-1mdv2009.1 liblirc0-0.8.5-0.20090320.1mdv2009.1 lirc-remotes-0.8.3-0.20080704.3mdv2009.0 pulseaudio-module-lirc-0.9.15-2.0.6mdv2009.1 lirc-kernel-desktop586-latest-0.8.5-1.20090817.0.20090320.1mdv2009.1 xmms-lirc-1.4-7mdv2009.0 lirc-0.8.5-0.20090320.1mdv2009.1 lirc-kernel-2.6.29.6-desktop586-2mnb-0.8.5-0.20090320.1mdv2009.1 dkms-minimal-2.0.19-15mdv2009.1 setserial-2.17-14mdv2009.1 kernel-desktop586-2.6.29.6-2mnb-1-1mnb2 x11-proto-devel-7.4-16mdv2009.1 I created the file /etc/udev/rules.d/10-lirc.rules with the following content. KERNEL=="lirc[0-9]*", NAME="lirc/%n", GROUP=="disk", MODE=="0666" KERNEL=="lirc0", SYMLINK=="lirc" Next, for a Cyberlink Remote Control enter the following content in: /etc/lircd.conf I also entered it in the following file because it was there: /etc/lirc/lircd.conf begin remote name CYBERLINK bits 32 eps 30 aeps 100 one 0 0 zero 0 0 gap 135995 toggle_bit_mask 0x0 begin codes Back 0x8001009E Pause 0x80010077 VolumeDown 0x80010072 VolumeUp 0x80010073 Record 0x800100a7 Guide 0x80010082 Mute 0x80010071 ChannelUp 0x80010192 ChannelDown 0x80010193 Play 0x800100CF SkipFoward 0x800100A3 SkipBack 0x800100A5 Stop 0x800100A6 Menu 0x8001008B Fwdwind 0x800100D0 Rewind 0x800100A8 end codes end remote For a different brand of remote, you may be able to find the appropriate information to copy to these files from a subdirectory of /usr/share/lirc-remotes Or else look here: http://lirc.sourceforge.net/remotes/'>http://lirc.sourceforge.net/remotes/ To find the appropriate scan codes, enter the following in terminal and look at what is displayed with each keypress. Note that your event# could be different. # hexdump /dev/input/event8 Here is an example. For keypress Play, I get the following output... [root@localhost dkb]# hexdump /dev/input/event80000000 7d1e 4ada 5887 000e 0004 0004 00b0 000c 0000010 7d1e 4ada 58a1 000e 0001 00cf 0001 0000 0000020 7d1e 4ada 58a8 000e 0001 00cf 0000 0000 0000030 7d1e 4ada 58b1 000e 0000 0000 0000 0000 I highlighted the relevant section in red. This button press would go in the files below (i.e.:Play 0x800100CF) /etc/lircd.conf /etc/lirc/lircd.conf If you have trouble getting the hexdump, try the following in terminal as root... # /etc/init.d/lircd stop # lircd -d /dev/input/event8 {lircd -d device [read from given device]} Now press the special keys such as Volume Up, Volume Down, Mute, etc. When done pressing each of the special keys, then enter the following in terminal as root... # /etc/init.d/lircd start Now the hexdump will hopefully work. Fixed it for me. I now have an on screen display of the volume level. The volume control and mute buttons of the remote seems to work with most apps. You can run $ irw in terminal to see your keypresses after they are configured. Next edit /etc/sysconf/lircd as appropriate. The important lines for the Cyberlink Remote seem to be... DRIVER="devinput" DEVICE=/dev/input/event8 Reference: http://cjo20.net/remote.htm'>http://cjo20.net/remote.htm To find the appropriate /dev/input/event#, enter the following in terminal: grep -l 'TopSeed' /sys/class/input/input*/name | tail -n1 Take the number from the output after input: /sys/class/input/input8/name In my case it was 8, so the DEVICE=/dev/input/event8 Note that your event# could be different. Alternatively to get the event# you can try $ cat /proc/bus/input/devices in a terminal. TopSeed Tech Corp. USB IR Combo Device is my Cyberlink Remote Control Notice the event8 entry below. I don't know if this entry was after I created /etc/sysconf/lircd or not. Here is the relevant part my output from $ cat /proc/bus/input/devices I: Bus=0003 Vendor=0766 Product=0204 Version=0100 N: Name="TopSeed Tech Corp. USB IR Combo Device " P: Phys=usb-0000:00:1d.1-1/input1 S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.1/input/input14 U: Uniq= H: Handlers=kbd mouse2 event8 B: EV=17 B: KEY=fc112 20d0c00 0 0 70000 0 18000 21f8 d001d804 9e0040 0 0 0 B: REL=103 B: MSC=10 Here is my /etc/sysconf/lircd file. This is the critical file to get irw and lirc to work. When this file is set up properly, you will get output from all of the keypresses on your remote. # Customized settings for lirc daemon # The hardware driver to use, run: # lircd --driver=? for a list DRIVER="devinput" # Hardware driver module to load [found Module name in MCC > Hardware > Browse and configure hardware > Keyboard > USB IR Combo Device] #HWMOD=usbhid # The device node that communicates with the IR device. # if you are using lirc_serial, set DEVICE to /dev/ttyS[0-9] # where 0-9 is the serial port your IR receiver is plugged # with devfs enabled DEVICE=/dev/input/event8 #DEVICE=/dev/lirc/serial # without devfs #DEVICE=/dev/lirc # Serial port for the receiver (for serial driver) # COM1 (/dev/ttyS0) #COM_PORT=/dev/ttyS0 #DRIVER_OPTS="irq=4 io=0x3f8" # COM2 (/dev/ttyS1) #COM_PORT=/dev/ttyS1 #DRIVER_OPTS="irq=3 io=0x2f8" # COM3 (/dev/ttyS2) #COM_PORT=/dev/ttyS2 #DRIVER_OPTS="irq=4 io=0x3e8 # COM4 (/dev/ttyS3) #COM_PORT=/dev/ttyS3 #DRIVER_OPTS="irq=3 io=0x2e8" You may need to reboot for changes to take effect. Alternatively you can try # /etc/init.d/lircd restart in terminal. Finally, I had to create the files /etc/lircrc and /home/~/.lircrc with the following content (relevant for VLC). There is a file: /usr/share/doc/vlc/lirc/example.lircrc that is helpful. Enter vlc --help in a terminal window to find the appropriate hotkeys for vlc. begin remote = CYBERLINK prog = vlc button = Mute config = key-vol-mute end begin remote = CYBERLINK prog = vlc button = SkipBack config = key-prev end begin remote = CYBERLINK prog = vlc button = SkipForward config = key-next end begin remote = CYBERLINK prog = vlc button = Pause config = key-play-pause end begin remote = CYBERLINK prog = vlc button = Menu config = key-nav-activate end begin prog = vlc button = Back config = Escape end begin remote = CYBERLINK prog = vlc button = Rewind config = key-slower end begin remote = CYBERLINK prog = vlc button = Fwdwind config = key-faster end begin remote = CYBERLINK prog = vlc button = Play config = key-play end begin remote = CYBERLINK prog = vlc button = VolumeDown config = key-vol-down end begin remote = CYBERLINK prog = vlc button = Stop config = key-stop end begin remote = CYBERLINK prog = vlc button = VolumeUp config = key-vol-up end begin prog = vlc button = ChannelUp config = key-toggle-fullscreen end Currently I have the following buttons working in VLC Volume Up Volume Down Mute Play Pause Speed Up Slow Down Stop Previous Full Screen (toggle) This button doesn't work in VLC for some reason that I haven't figured out yet. Next Useful links: http://www.g-loaded.eu/2006/01/10/how-to-configure-and-use-lirc/ https://mandrivausers.org/index.php?/topic/28910-howto-mandriva-linux-2006-lirc/ http://cjo20.net/remote.htm http://www.minimyth.org/document-howto-lirc_devinput.html http://www.xbmc.org/forum/showthread.php?t=39433 http://wiki.videolan.org/How_to_Use_Lirc http://lirc.sourceforge.net/remotes/ http://blog.mricon.com/2008/04/setting-up-apple-remote-control-with-f9.html http://pulseaudio.org/wiki/Modules#module-lirc EDIT: I forgot. To get VLC to use the remote, start VLC with the following command: vlc --extraintf lirc EDIT2: I am making edits to this post as I discover new things. Edited January 2, 2010 by David Batson Quote Link to comment Share on other sites More sharing options...
David Batson Posted October 20, 2009 Author Report Share Posted October 20, 2009 (edited) I have the Cyberlink Remote Control working in Fedora 12. I have the following lirc related rpm's installed. totem-lirc-2.28.4-1.fc12.i686 python-lirc-0.0.5-10.i686 pulseaudio-module-lirc-0.9.21-1.fc12.i686 xmms-lirc-1.4-14.i686 lirc-remotes-0.8.6-1.fc12.i686 lirc-libs-0.8.6-1.fc12.i686 lirc-0.8.6-1.fc12.i686 lirc-doc-0.8.6-1.fc12.i686 rhythmbox-lirc-0.12.6-2.fc12.i686 I created the file /etc/udev/rules.d/lirc.rules with the following content. KERNEL=="lirc[0-9]*", NAME="lirc/%n" I added the following content to the file /etc/lirc/lircd.conf begin remote name CYBERLINK bits 32 eps 30 aeps 100 one 0 0 zero 0 0 gap 135995 toggle_bit_mask 0x0 begin codes KEY_EXIT 0x80010066 KEY_DVD 0x8001018E KEY_FULLSCREEN 0x80010191 KEY_RECORD 0x800100A7 KEY_SHUFFLE 0x80010188 KEY_MEDIA_REPEAT 0x8001016B KEY_EJECTCD 0x80010173 KEY_BACK 0x8001009E KEY_FULLSCREEN 0x80010082 KEY_MENU 0x8001008B KEY_VOLUMEUP 0x80010073 KEY_VOLUMEDOWN 0x80010072 KEY_MUTE 0x80010071 KEY_ZOOMIN 0x80010192 KEY_ZOOMOUT 0x80010193 KEY_PLAY 0x800100CF KEY_REWIND 0x800100A8 KEY_PAUSE 0x80010077 KEY_FASTFORWARD 0x800100D0 KEY_PREVIOUS 0x800100A5 KEY_STOP 0x800100A6 KEY_NEXT 0x800100A3 end codes end remote Here is the content of /etc/sysconfig/lirc (it is different than the Mandriva version). # Note: in addition to these parameters, you need to have working -*- sh -*- # configuration file for lircd (and lircmd if enabled). # Options to lircd(8). Typically, this will be empty, as which driver to use # should be specified using the LIRC_DRIVER variable below. LIRCD_OPTIONS="" # The infrared receiver (and/or transmitter) driver to be used by lircd(8), # similar to passing "-H driver" to lircd(8). # Run "/usr/sbin/lircd -H help" to get a listing of supported drivers. LIRC_DRIVER="devinput" # Which lirc device will be used by lircd(8). # This is the same as passing "-d device" to lircd. # An empty value will use the default /dev/lirc0 device. LIRC_DEVICE="/dev/input/event8" # If "yes", the init script will try to start lircmd(8) too. ENABLE_LIRCMD="no" # Options to lircmd(8). LIRCMD_OPTIONS="" For the files /etc/lircrc and /home/~/.lircrc I have the following content for Totem Movie Player, Rhythmbox Music Player, and VLC Media Player. See /usr/lib/totem/plugins/lirc/totem_lirc_default for lirc settings to use with Totem Movie Player. See /usr/lib/rhythmbox/plugins/rblirc/rhythmbox_lirc_default for lirc settings to use with Rhythmbox Music Player. Run vlc --help in terminal as regular user to see "Hot keys" that can be used with lirc. # edit the "button =" part for each entry according to your remote, and stick # this stuff in ~/.lircrc begin prog = Totem remote = CYBERLINK button = KEY_PLAY repeat = 1 config = play end begin prog = Totem remote = CYBERLINK button = KEY_PAUSE repeat = 0 config = pause end begin prog = Totem remote = CYBERLINK button = KEY_STOP repeat = 0 config = stop end # For seek_forward and seek_backward you can # append ":20" to seek 20 seconds in the # aforementioned direction # # Eg. seek_forward:60 -> seek forward 60 seconds # seek_backward:5 -> seek backwards 5 seconds begin prog = Totem remote = CYBERLINK button = KEY_FASTFORWARD repeat = 1 config = seek_forward end #FIXME (duplicate function) #begin # prog = Totem # remote = CYBERLINK # button = KEY_FORWARD # repeat = 1 # config = seek_forward #end begin prog = Totem remote = CYBERLINK button = KEY_REWIND repeat = 1 config = seek_backward end # Info/EPG Key begin prog = Totem remote = CYBERLINK button = KEY_FULLSCREEN repeat = 1 config = fullscreen end begin prog = Totem remote = CYBERLINK button = KEY_VOLUMEUP repeat = 1 config = volume_up end begin prog = Totem remote = CYBERLINK button = KEY_VOLUMEDOWN repeat = 1 config = volume_down end begin prog = Totem remote = CYBERLINK button = KEY_NEXT repeat = 1 config = next end begin prog = Totem remote = CYBERLINK button = KEY_PREVIOUS repeat = 1 config = previous end # Top Left *HOME* Key begin prog = Totem remote = CYBERLINK button = KEY_EXIT repeat = 1 config = quit end #FIXME #begin # prog = Totem # remote = CYBERLINK # button = UP # repeat = 1 # config = up #end #FIXME #begin # prog = Totem # remote = CYBERLINK # button = DOWN # repeat = 1 # config = down #end #FIXME #begin # prog = Totem # remote = CYBERLINK # button = LEFT # repeat = 1 # config = left #end #FIXME #begin # prog = Totem # remote = CYBERLINK # button = RIGHT # repeat = 1 # config = right #end #FIXME #begin # prog = Totem # remote = CYBERLINK # button = KEY_SELECT # repeat = 1 # config = select #end #FIXME #begin # prog = Totem # remote = CYBERLINK # button = KEY_OK # repeat = 1 # config = select #end begin prog = Totem remote = CYBERLINK button = KEY_MENU repeat = 1 config = menu end #FIXME (non-existent key on remote) #begin # prog = Totem # remote = CYBERLINK # button = KEY_PLAYPAUSE # repeat = 1 # config = play_pause #end #FIXME #begin # prog = Totem # remote = CYBERLINK # button = KEY_SELECT # repeat = 1 # config = select #end # Angle Key begin prog = Totem remote = CYBERLINK button = KEY_EJECTCD repeat = 1 config = eject end # DVD/VCD Key begin prog = Totem remote = CYBERLINK button = KEY_DVD repeat = 1 config = play_dvd end begin prog = Totem remote = CYBERLINK button = KEY_MUTE repeat = 1 config = mute end # SAP Key begin prog = Totem remote = CYBERLINK button = KEY_SHUFFLE repeat = 1 config = setting_shuffle end # Last CH Key begin prog = Totem remote = CYBERLINK button = KEY_MEDIA_REPEAT repeat = 1 config = setting_repeat end # Channel Up Key begin prog = Totem remote = CYBERLINK button = KEY_ZOOMIN repeat = 1 config = zoom_up end # Channel Down Key begin prog = Totem remote = CYBERLINK button = KEY_ZOOMOUT repeat = 1 config = zoom_down end # edit the "button =" part for each entry according to your remote, and stick # this stuff in ~/.lircrc begin prog = Rhythmbox remote = CYBERLINK button = KEY_PLAY repeat = 1 config = play end begin prog = Rhythmbox remote = CYBERLINK button = KEY_PAUSE repeat = 0 config = pause end #FIXME (non-existent key on remote) #begin # prog = Rhythmbox # remote = CYBERLINK # button = KEY_PLAYPAUSE # repeat = 1 # config = playpause #end begin prog = Rhythmbox remote = CYBERLINK button = KEY_STOP repeat = 1 config = stop end # SAP Key begin prog = Rhythmbox remote = CYBERLINK button = KEY_SHUFFLE repeat = 1 config = shuffle end # Last CH Key begin prog = Rhythmbox remote = CYBERLINK button = KEY_MEDIA_REPEAT repeat = 1 config = repeat end begin prog = Rhythmbox remote = CYBERLINK button = KEY_NEXT repeat = 1 config = next end begin prog = Rhythmbox remote = CYBERLINK button = KEY_PREVIOUS repeat = 1 config = previous end begin prog = Rhythmbox remote = CYBERLINK button = KEY_FASTFORWARD repeat = 1 config = seek_forward end begin prog = Rhythmbox remote = CYBERLINK button = KEY_REWIND repeat = 1 config = seek_backward end begin prog = Rhythmbox remote = CYBERLINK button = KEY_VOLUMEUP repeat = 1 config = volume_up end begin prog = Rhythmbox remote = CYBERLINK button = KEY_VOLUMEDOWN repeat = 1 config = volume_down end begin prog = Rhythmbox remote = CYBERLINK button = KEY_MUTE repeat = 1 config = mute end # Top Left HOME Key begin prog = Rhythmbox remote = CYBERLINK button = KEY_EXIT repeat = 1 config = quit end begin remote = CYBERLINK prog = vlc button = KEY_EXIT config = key-quit end begin remote = CYBERLINK prog = vlc button = KEY_MUTE config = key-vol-mute end begin remote = CYBERLINK prog = vlc button = KEY_PREVIOUS config = key-jump-medium end begin remote = CYBERLINK prog = vlc button = KEY_NEXT config = key-jump+medium end begin remote = CYBERLINK prog = vlc button = KEY_PAUSE config = key-play-pause end begin remote = CYBERLINK prog = vlc button = KEY_REWIND config = key-slower end begin remote = CYBERLINK prog = vlc button = KEY_FASTFORWARD config = key-faster end begin remote = CYBERLINK prog = vlc button = KEY_PLAY config = key-play end begin remote = CYBERLINK prog = vlc button = KEY_VOLUMEDOWN config = key-vol-down end begin remote = CYBERLINK prog = vlc button = KEY_STOP config = key-stop end begin remote = CYBERLINK prog = vlc button = KEY_VOLUMEUP config = key-vol-up end begin remote = CYBERLINK prog = vlc button = KEY_FULLSCREEN config = key-toggle-fullscreen end To restart lirc in Fedora 12 use the following command in terminal as root (which is different than the one for Mandriva). /etc/init.d/lirc restart When Totem Movie Player is running, the following buttons work. Play Pause Stop Seek Forward Seek Backward Fullscreen (Info EPG key) Volume Up Volume Down Mute Next Previous Quit (Home key) Menu (DVD Menu key) Shuffle (SAP key) Repeat (Last CH key) Zoom In (Channel Up key) Zoom Out (Channel Down key) When Rhythmbox Music Player is running, the following buttons work. Quit (Home key) Shuffle (SAP key) Repeat (Last CH key) Volume Up Volume Down Mute Play Pause Stop Previous Next When VLC Media Player is running, the following buttons work. To get VLC to use the remote, start VLC with the following command: vlc --extraintf lirc Quit (Home key) Fullscreen (Info EPG key) Volume Up Volume Down Mute Play Pause Stop Slower Faster Step Backwards 1 minute Step Forwards 1 minute In Totem Movie Player the arrow buttons and OK button perform some actions. Left arrow is seek backwards, right arrow is seek forwards, up arrow is volume up, down arrow is volume down, and OK is select. In Totem Movie Player the arrow keys should work when at the DVD menu to navigate and select the menu choices, but I only get this to work occasionally. I have a bug report filed on this: https://bugzilla.redhat.com/show_bug.cgi?id=550427'>https://bugzilla.redhat.com/show_bug.cgi?id=550427 Note that using the Gnome Infrared Remote Control applet (System > Preferences > Infrared Remote Control) will stop the Cyberlink Remote Control from working and overwrite the following files. This is because the Cyberlink Remote is not in it's database. Probably works great if your remote is listed. /etc/sysconfig/lirc /etc/lircd.conf.gnome /etc/lircrc FYI, there is a lirc startup script file at /etc/init.d/lirc For Totem Movie Player to use lirc, in Totem you need to go to Edit > Plugins and activate the ‘Infrared Remote Control’ plugin. Likewise for Rhythmbox music player. If you open Totem Movie Player or Rhythmbox Music Player and lirc is not running, the box to use the lirc plugin (Infrared Remote Control or LIRC) will automatically become unchecked. If irw works in terminal, but lirc is not working in Totem Movie Player or Rhythmbox Music Player, verify that the box for Infrared Remote Control or LIRC is checked for that applications plugins (Edit > Plugins). EDIT: If you have a problem with making selections in DVD menus, update gstreamer-plugins-good to gstreamer-plugins-good-0.10.17-4.fc12 https://bugzilla.redhat.com/show_bug.cgi?id=550427 EDIT 2: Added info to enable VLC to use lirc. Changed files /etc/lircrc and /home/~/.lircrc above. Edited April 24, 2010 by David Batson Quote Link to comment Share on other sites More sharing options...
David Batson Posted December 2, 2009 Author Report Share Posted December 2, 2009 (edited) Here is what I did to get lirc working in Mandriva 2010. I installed the following lirc rpms (not all are necessary)... lirc-remotes-0.8.3-0.20080704.4mdv2010.0 liblirc0-0.8.6-2mdv2010.0 pulseaudio-module-lirc-0.9.19-7mdv2010.0 python-lirc-0.0.5-3mdv2010.0 lirc-0.8.6-2mdv2010.0 xmms-lirc-1.4-7mdv2009.0 vlc-plugin-lirc-1.0.2-1mdv2010.0 I installed the following vlc rpms (not all are necessary)... vlc-plugin-flac-1.0.2-1mdv2010.0 vlc-plugin-twolame-1.0.2-1mdv2010.0 vlc-1.0.2-1mdv2010.0 vlc-plugin-ggi-1.0.2-1mdv2010.0 vlc-plugin-xosd-1.0.2-1mdv2010.0 vlc-plugin-ogg-1.0.2-1mdv2010.0 vlc-plugin-dv-1.0.2-1mdv2010.0 mozilla-plugin-vlc-1.0.2-1mdv2010.0 vlc-plugin-pulse-1.0.2-1mdv2010.0 vlc-plugin-mpc-1.0.2-1mdv2010.0 vlc-plugin-schroedinger-1.0.2-1mdv2010.0 vlc-plugin-mod-1.0.2-1mdv2010.0 vlc-plugin-a52-1.0.2-1mdv2010.0 vlc-plugin-theora-1.0.2-1mdv2010.0 vlc-plugin-libnotify-1.0.2-1mdv2010.0 libvlc2-1.0.2-1mdv2010.0 vlc-plugin-opengl-1.0.2-1mdv2010.0 vlc-plugin-fluidsynth-1.0.2-1mdv2010.0 vlc-plugin-lirc-1.0.2-1mdv2010.0 vlc-plugin-dvdnav-1.0.2-1mdv2010.0 The file /etc/udev/rules.d/lirc.rules already existed, and did not need to be modified. KERNEL=="lirc[0-9]*", NAME="lirc/%n" The relevant part of cat /proc/bus/input/devices from terminal yielded the following output (notice the event9 entry)... I: Bus=0003 Vendor=0766 Product=0204 Version=0100 N: Name="TopSeed Tech Corp. USB IR Combo Device " P: Phys=usb-0000:00:1d.1-1/input0 S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0/input/input8 U: Uniq= H: Handlers=kbd event8 B: EV=120013 B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe B: MSC=10 B: LED=1f I: Bus=0003 Vendor=0766 Product=0204 Version=0100 N: Name="TopSeed Tech Corp. USB IR Combo Device " P: Phys=usb-0000:00:1d.1-1/input1 S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.1/input/input9 U: Uniq= H: Handlers=kbd mouse1 event9 B: EV=17 B: KEY=fc112 20d0c00 0 0 70000 0 18000 21f8 d001d804 9e0040 0 0 0 B: REL=103 B: MSC=10 I edited /etc/sysconf/lircd as follows... # Customized settings for lirc daemon # The hardware driver to use, run lircd --driver=? for a list DRIVER="devinput" # Hardware driver module to load HWMOD="" # The device node that communicates with the IR device. # if you are using lirc_serial, set DEVICE to /dev/ttyS[0-9] # where 0-9 is the serial port your IR receiver is plugged # with devfs enabled DEVICE=/dev/input/event9 #DEVICE=/dev/lirc/serial # without devfs #DEVICE=/dev/lirc # Serial port for the receiver (for serial driver) # COM1 (/dev/ttyS0) #COM_PORT=/dev/ttyS0 #DRIVER_OPTS="irq=4 io=0x3f8" # COM2 (/dev/ttyS1) #COM_PORT=/dev/ttyS1 #DRIVER_OPTS="irq=3 io=0x2f8" # COM3 (/dev/ttyS2) #COM_PORT=/dev/ttyS2 #DRIVER_OPTS="irq=4 io=0x3e8 # COM4 (/dev/ttyS3) #COM_PORT=/dev/ttyS3 #DRIVER_OPTS="irq=3 io=0x2e8" I edited the existing file /etc/lirc/lircd as follows... # # This is a placeholder for your configuration file. # See /usr/share/lirc-remotes for some examples. # You might need to install lirc-remotes package. # begin remote name CYBERLINK bits 32 eps 30 aeps 100 one 0 0 zero 0 0 gap 135995 toggle_bit_mask 0x0 begin codes Quit 0x80010066 Back 0x8001009E Pause 0x80010077 VolumeDown 0x80010072 VolumeUp 0x80010073 Record 0x800100a7 Fullscreen 0x80010082 Mute 0x80010071 ChannelUp 0x80010192 ChannelDown 0x80010193 Play 0x800100CF SkipForward 0x800100A3 SkipBack 0x800100A5 Stop 0x800100A6 Menu 0x8001008B Fwdwind 0x800100D0 Rewind 0x800100A8 end codes end remote Note: I changed to using the InfoEPG button to toggle fullscreen to be consistant with my Fedora install. I used the following content in the file /etc/lircrc as root... And the same content in the file /home/~/.lircrc as a regular user... begin remote = CYBERLINK prog = vlc button = Quit config = key-quit end begin remote = CYBERLINK prog = vlc button = Mute config = key-vol-mute end begin remote = CYBERLINK prog = vlc button = SkipBack config = key-prev end begin remote = CYBERLINK prog = vlc button = SkipForward config = key-next end begin remote = CYBERLINK prog = vlc button = Pause config = key-play-pause end begin remote = CYBERLINK prog = vlc button = Rewind config = key-slower end begin remote = CYBERLINK prog = vlc button = Fwdwind config = key-faster end begin remote = CYBERLINK prog = vlc button = Play config = key-play end begin remote = CYBERLINK prog = vlc button = VolumeDown config = key-vol-down end begin remote = CYBERLINK prog = vlc button = Stop config = key-stop end begin remote = CYBERLINK prog = vlc button = VolumeUp config = key-vol-up end begin remote = CYBERLINK prog = vlc button = Fullscreen config = key-toggle-fullscreen end I ran the following command from terminal as root... /etc/init.d/lircd restart Now test that lirc is working properly by running irw in terminal and checking the output of all the Cyberlink remote keys. If keys such as Channel Up and Channel Down do not produce output, you likely need to change the event# DEVICE=/dev/input/event9 line in /etc/sysconf/lircd. Run /etc/init.d/lircd restart after each change to make sure the changes are registered. You can also run hexdump /dev/input/event9 (or whichever event# is relevant to your system) to test that you are using the correct /dev/input/event#. Each keypress of the remote when hexdump is running should give an output. For vlc to use lirc by default, right-click on the Mandriva Star in the bottom left corner and choose Menu Editor. Navigate to Sound & Video > VLC media player, and edit the Command box to read as follows: vlc --extraintf lirc %U Finally, watch out for *typos*. They got me a couple of times. EDIT: Added a Quit VLC keypress by adding a Quit key definition in file /etc/lirc/lircd (edited above) And by adding a quit section (edited above) at the beginning of... The file /etc/lircrc as root... And the same content in the file /home/~/.lircrc as a regular user... Edited March 7, 2010 by David Batson Quote Link to comment Share on other sites More sharing options...
David Batson Posted January 2, 2010 Author Report Share Posted January 2, 2010 I made a number of edits to post #2 for getting LIRC working in Fedora 12. LIRC has somewhat more functionality now with Totem Movie Player and Rhythmbox Music Player. The following two files were the source for much of the updated information. See /usr/lib/totem/plugins/lirc/totem_lirc_default for lirc settings to use with Totem Movie Player. See /usr/lib/rhythmbox/plugins/rblirc/rhythmbox_lirc_default for lirc settings to use with Rhythmbox Music Player. Quote Link to comment Share on other sites More sharing options...
David Batson Posted January 4, 2010 Author Report Share Posted January 4, 2010 (edited) Through searches, trial and error I discovered how to make lirc discover the current event# for the Cyberlink Remote Control. This event# can change if you plug in the USB dongle after boot up or if you change which USB devices are plugged in when you boot. I edited the /etc/sysconf/lirc file (FEDORA) with the following changes. Namely... I added the line: EV="/dev/input/event"$( grep -l 'TopSeed' /sys/class/input/input*/name | tail -n1 | cut -c 23 ) I changed the line: LIRCD_OPTIONS="" to LIRCD_OPTIONS="-d $EV" I commented out the line LIRC_DEVICE=name="/dev/input/event8" with the # as follows: # LIRC_DEVICE=name="/dev/input/event8" Here is the complete file /etc/sysconf/lirc # Note: in addition to these parameters, you need to have working -*- sh -*- # configuration file for lircd (and lircmd if enabled). EV="/dev/input/event"$( grep -l 'TopSeed' /sys/class/input/input*/name | tail -n1 | cut -c 23 ) # Options to lircd(8). Typically, this will be empty, as which driver to use # should be specified using the LIRC_DRIVER variable below. LIRCD_OPTIONS="-d $EV" # The infrared receiver (and/or transmitter) driver to be used by lircd(8), # similar to passing "-H driver" to lircd(8). # Run "/usr/sbin/lircd -H help" to get a listing of supported drivers. LIRC_DRIVER="devinput" # Which lirc device will be used by lircd(8). # This is the same as passing "-d device" to lircd. # An empty value will use the default /dev/lirc0 device. # LIRC_DEVICE=name="/dev/input/event8" # If "yes", the init script will try to start lircmd(8) too. ENABLE_LIRCMD="no" # Options to lircmd(8). LIRCMD_OPTIONS="" EDIT: Turns out that Mandriva handles this a little differently. I edited the /etc/sysconf/lircd file (MANDRIVA) with the following changes. Namely... I commented out the line DEVICE=/dev/input/event9 with the # as follows: #DEVICE=/dev/input/event9 I added the line: DEVICE="/dev/input/event"$( grep -l 'TopSeed' /sys/class/input/input*/name | tail -n1 | cut -c 23 ) Here is the complete file /etc/sysconf/lircd # Customized settings for lirc daemon # The hardware driver to use, run lircd --driver=? for a list DRIVER="devinput" # Hardware driver module to load HWMOD="" # The device node that communicates with the IR device. # if you are using lirc_serial, set DEVICE to /dev/ttyS[0-9] # where 0-9 is the serial port your IR receiver is plugged # with devfs enabled #DEVICE=/dev/input/event9 DEVICE="/dev/input/event"$( grep -l 'TopSeed' /sys/class/input/input*/name | tail -n1 | cut -c 23 ) #DEVICE=/dev/lirc/serial # without devfs #DEVICE=/dev/lirc # Serial port for the receiver (for serial driver) # COM1 (/dev/ttyS0) #COM_PORT=/dev/ttyS0 #DRIVER_OPTS="irq=4 io=0x3f8" # COM2 (/dev/ttyS1) #COM_PORT=/dev/ttyS1 #DRIVER_OPTS="irq=3 io=0x2f8" # COM3 (/dev/ttyS2) #COM_PORT=/dev/ttyS2 #DRIVER_OPTS="irq=4 io=0x3e8 # COM4 (/dev/ttyS3) #COM_PORT=/dev/ttyS3 #DRIVER_OPTS="irq=3 io=0x2e8" If plugging in the device after boot up, restart lirc. Now in terminal as root run /etc/init.d/lirc restart for the device to be properly detected (FEDORA). Now in terminal as root run /etc/init.d/lircd restart for the device to be properly detected (MANDRIVA) The following two guides are what helped me accomplish this, but I still did have to work some things out on my own. http://cjo20.net/remote.htm http://en.gentoo-wiki.com/wiki/LIRC FWIW, I found this file that supposedly has all the possible remote buttons listed. http://lirc.sourceforge.net/remotes/devinput/lircd.conf.devinput Here is a useful command to see if LIRC sees /dev/input/event# properly: ps -ef | grep -i lirc [root@localhost ~]# ps -ef | grep -i lirc root 8705 1 0 18:56 ? 00:00:00 lircd --driver=devinput --device=/dev/input/event9 Edited January 5, 2010 by David Batson Quote Link to comment Share on other sites More sharing options...
David Batson Posted April 17, 2010 Author Report Share Posted April 17, 2010 (edited) Edited post #2 above to include what is necessary to get VLC media player to work with lirc in Fedora 12. To get VLC to use the remote, start VLC with the following command: vlc --extraintf lirc It is worth repeating what I wrote in post #1 (edited for Fedora below). I had to do this in Fedora 12 after not using lirc for awhile. Likely an update caused the problem. If you have trouble getting the hexdump, try the following in terminal as root... # /etc/init.d/lirc stop # lircd -d /dev/input/event8 {lircd -d device [read from given device]} Now press the special keys such as Volume Up, Volume Down, Mute, etc. When done pressing each of the special keys, then enter the following in terminal as root... # /etc/init.d/lirc start Now the hexdump will hopefully work. Fixed it for me. EDIT: To edit the Fedora Gnome menu for VLC, install alacarte. After installing alacarte, go to > System > Preferences > 'Main Menu' and edit the entry for VLC Media Player by double-clicking on it, then set VLC to start with the following command: vlc --extraintf lirc %U Edited April 17, 2010 by David Batson Quote Link to comment Share on other sites More sharing options...
David Batson Posted June 28, 2010 Author Report Share Posted June 28, 2010 For Fedora 13 I had to run the following command to get LIRC to start at boot up. # chkconfig lirc on See the following bug report for additional information. According to that, I could have used /usr/share/lirc-remotes/devinput/lircd.conf.devinput to configure my remote. I have not tried this yet. https://bugzilla.redhat.com/show_bug.cgi?id=600725#c5 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.