Archive:Snapstream Firefly: Difference between revisions
>Outleradam No edit summary |
>Outleradam No edit summary |
||
Line 6: | Line 6: | ||
== Setting up the Snapstream Firefly == | == Setting up the Snapstream Firefly == | ||
The Snapstream Firefly is a X10 based remote control which uses [http://en.wikipedia.org/wiki/Radio_frequency RF] commands as opposed to [http://en.wikipedia.org/wiki/Infrared IR]. This guide assumes that you have installed [[XBMC_Live]] or have at least performed all steps outlined in one of the articles listed here [[Installing_XBMC_for_Linux]] and here [[HOW-TO_setup_Lirc_to_talk_to_XBMC]]. You will also need a [http://en.wikipedia.org/wiki/Ssh SFTP] client and a [http://en.wikipedia.org/wiki/Terminal_emulator terminal emulator] | The Snapstream Firefly is a X10 based remote control which uses [http://en.wikipedia.org/wiki/Radio_frequency RF] commands as opposed to [http://en.wikipedia.org/wiki/Infrared IR]. This guide assumes that you have installed [[XBMC_Live]] or have at least performed all steps outlined in one of the articles listed here [[Installing_XBMC_for_Linux]] and here [[HOW-TO_setup_Lirc_to_talk_to_XBMC]]. You will also need a [http://en.wikipedia.org/wiki/Ssh SFTP] client and a [http://en.wikipedia.org/wiki/Terminal_emulator terminal emulator] like [http://winscp.net/eng/index.php WinSCP] and [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty]. | ||
You will need [[root]] access for the following commands. | You will need [[root]] access for the following commands. | ||
Line 82: | Line 82: | ||
end remote | end remote | ||
For more information see [[Lirc_and_Lircmap.xml]] | |||
=== Integrating Firefly into XBMC === | === Integrating Firefly into XBMC === | ||
Line 137: | Line 138: | ||
=== S3 resume combo Close button fix === | === S3 resume combo Close button fix === | ||
The funny thing about this remote is; the only button which will allow it to resume the computer from | The funny thing about this remote is; the only button which will allow it to resume the computer from [http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Power_States S3] is the same button that puts the computer into standby. The same command is issued by the remote every time you press the close button and is retained in memory until issued to any output by lirc. Resuming from standby with the power button puts the computer back in standby or deactivates the remote. | ||
In order to issue the S3 resume command to the computer and restart the remote controller without issuing the command to put the computer back into sleep mode or standby you will need to add the following resume script. | In order to issue the S3 resume command to the computer and restart the remote controller without issuing the command to put the computer back into sleep mode or standby you will need to add the following resume script. | ||
Line 147: | Line 148: | ||
# This script uses curl. Install curl by "apt-get install curl" from a terminal. This script restarts any | # This script uses curl. Install curl by "apt-get install curl" from a terminal. This script restarts any | ||
# ATI USB compatable device, including the Snapstream Firefly. It accomplishes this by first restarting the | # ATI USB compatable device, including the Snapstream Firefly. It accomplishes this by first restarting the | ||
# ATIUSB device, then restarting LIRC | # ATIUSB device, then restarting LIRC. It then ports the resident memory command to IRW, waits 1 seccond and | ||
# the XBMC | # terminates the irw process. Finally, it sends a command back to XBMC to restart lirc input services. When | ||
# finished, it reports to /tmp/script.log. This script goes in /etc/acpi/resume.d | |||
case "$1" in | case "$1" in | ||
resume) | resume) | ||
sudo rmmod lirc_atiusb | sudo rmmod lirc_atiusb | ||
sudo modprobe lirc_atiusb | sudo modprobe lirc_atiusb |
Revision as of 04:57, 7 November 2009
Setting up the Snapstream Firefly
The Snapstream Firefly is a X10 based remote control which uses RF commands as opposed to IR. This guide assumes that you have installed XBMC_Live or have at least performed all steps outlined in one of the articles listed here Installing_XBMC_for_Linux and here HOW-TO_setup_Lirc_to_talk_to_XBMC. You will also need a SFTP client and a terminal emulator like WinSCP and Putty.
You will need root access for the following commands.
Setting up Lirc
First we will set up Lirc to work with the remote. lircd.conf specifies to Lirc how it should handle the remote device. We need to replace the current file with our Snapstream Firefly file.
- Log into the XBMC computer using your SFTP client.
- Replace the contents of /etc/lirc/lircd.conf in it's entirety with the following:
begin remote name Snapstream Firefly bits 16 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 8 pre_data 0x14 post_data_bits 16 post_data 0x0 gap 235978 toggle_bit_mask 0x80800000 begin codes maximize 0x81AC close 0xD702 1 0x628D 2 0xE30E 3 0x648F 4 0xE510 5 0x6691 6 0xE712 7 0x6893 8 0xE914 9 0x6A95 0 0xEC17 back 0x6B96 ent 0xED18 volup 0x5E89 voldown 0xDD08 mute 0x5F8A chup 0xE00B chdown 0x618C firefly 0xD500 info 0x83AE option 0x042F up 0x6F9A down 0xF722 left 0x729D right 0xF41F ok 0x739E menu 0xF11C exit 0x75A0 rec 0xFC27 play 0x7AA5 stop 0xFD28 rew 0x79A4 prev 0x002B pause 0x7EA9 ffwd 0xFB26 next 0x7FAA music 0xDB06 photo 0x5A85 dvd 0xD904 tv 0x5883 video 0xDC07 help 0x5681 mouse 0x022D a 0x6E99 b 0xF01B c 0x76A1 d 0xF823 end codes end remote
For more information see Lirc_and_Lircmap.xml
Integrating Firefly into XBMC
You will need to add the following information into the current lirc map for XBMC to interperate the commands given by lirc into productive commands.
- Using your SFTP client, modify /etc/share/xbmc/system/Lircmap.xml to add the following directly below <lircmap> and above <remote device="mceusb">:
<remote device="Snapstream"> <pause>pause</pause> <stop>stop</stop> <forward>forward</forward> <reverse>rewind</reverse> <left>left</left> <right>right</right> <up>up</up> <down>down</down> <select>ok</select> <pageplus>chup</pageplus> <pageminus>chdown</pageminus> <back>exit</back> <menu>menu</menu> <title>play</title> <info>info</info> <skipplus>next</skipplus> <skipminus>prev</skipminus> <display>maximize</display> <start>firefly</start> <record>rec</record> <volumeplus>volup</volumeplus> <volumeminus>voldown</volumeminus> <mute>mute</mute> <power>close</power> <myvideo>video</myvideo> <mymusic>music</mymusic> <mypictures>photos</mypictures> <mytv>tv</mytv> <one>1</one> <two>2</two> <three>3</three> <four>4</four> <five>5</five> <six>6</six> <seven>7</seven> <eight>8</eight> <nine>9</nine> <zero>0</zero> <mytv>a</mytv> <mymusic>b</mymusic> <mypictures>c</mypictures> <myvideo>d</myvideo> </remote>
S3 resume combo Close button fix
The funny thing about this remote is; the only button which will allow it to resume the computer from S3 is the same button that puts the computer into standby. The same command is issued by the remote every time you press the close button and is retained in memory until issued to any output by lirc. Resuming from standby with the power button puts the computer back in standby or deactivates the remote.
In order to issue the S3 resume command to the computer and restart the remote controller without issuing the command to put the computer back into sleep mode or standby you will need to add the following resume script.
- Using your SFTP client, create the file /etc/pm/resume.d/99lirc-resume.sh
- Modify the contents of /etc/pm/sleep.d/99lirc-resume.sh to contain the following:
#!/bin/sh # This script uses curl. Install curl by "apt-get install curl" from a terminal. This script restarts any # ATI USB compatable device, including the Snapstream Firefly. It accomplishes this by first restarting the # ATIUSB device, then restarting LIRC. It then ports the resident memory command to IRW, waits 1 seccond and # terminates the irw process. Finally, it sends a command back to XBMC to restart lirc input services. When # finished, it reports to /tmp/script.log. This script goes in /etc/acpi/resume.d case "$1" in resume) sudo rmmod lirc_atiusb sudo modprobe lirc_atiusb sudo /etc/init.d/lirc restart >/tmp/resumescript.log irw & sleep 1; killall irw >/tmp/resumescript.log sudo curl "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn¶meter=LIRC.Start" >/tmp/resumescript.log echo "lirc_atiusb resume script completed" >/tmp/script.log ;; esac
You will now need to make the new file executable.
- open your terminal, log in and type the following
sudo chmod +x /etc/pm/sleep.d/99lirc-resume.sh
You will now need to install curl to allow the resume script to send commands to the XBMC event server.
sudo apt-get install curl
- Restart the computer
Your remote will now function properly. For the full feel of a media center device, and quicker load times in XBMC, change Settings-System-Hardware-Shutdown fucntion from Shutdown to Suspend.