Linux XBMCbuntu Snapstream Firefly Remote No Joy
#1
Followed these instructions:
http://wiki.xbmc.org/index.php?title=Snapstream_Firefly

No joy on getting my remote to work. These instructions worked flawlessly on the last XBMCLive install.

I made sure that the remote name matched in lircd.conf and Lircmap.xml

Any suggestions?
Reply
#2
sudo /etc/init.d/lirc restart
* Stopping remote control daemon(s): LIRC [fail]
* Loading LIRC modules [ OK ]
* Unable to load LIRC kernel modules. Verify your
* selected kernel modules in /etc/lirc/hardware.conf

Using the hardware.conf from guide above that worked fine in XBMCLive
Reply
#3
lirc_mceusb2 module is causing the problem.
Still not sure on how to fix it though.
Reply
#4
Old article but I'm going to try this when I get home:
http://ubuntuforums.org/showthread.php?t=873558

Not much input from this forum...
Reply
#5
ok
deleted hardware.conf and lircd.conf in /etc/lirc
ran sudo dpkg-reconfigure lirc and chose Snapstream Firefly as the remote
sudo /etc/init.d/lirc restart now works fine but buttons not doing anything within XBMC
running irw does not show anything when I push buttons.

Any help would be appreciated!
Reply
#6
I had the same problem and have updated the configs so it now works perfectly. The problem stems from the lirc_ device modules being removed from the kernel, so you now use the userspace driver named atilibusb.

Here is the process:
-Use the Lircmap from the wiki page.
-contents of /etc/lirc/hardware.conf: http://privatepaste.com/92b6feefee
-contents of /etc/lirc/lircd.conf: http://privatepaste.com/e51b7a4ae5
-change the S3 resume script from the wiki by removing the two lines referencing "lirc_atiusb" from the script since we now use the userspace driver.
-now after I got it all working, I found that the repeat delay seemed really low and any time i pressed a button it would register twice. so I added <remotedelay>5</remotedelay> to advancedsettings.xml and now it works prefectly.

I also managed to get wake from suspend using the remote working, which I could never get working on Windows. To do this, turn on wakeup for the appropriate USB bus via /proc/acpi/wakeup (more info here: http://wiki.xbmc.org/index.php?title=HOW...for_Ubuntu)

Then you also need to enable wakeup for the receiver via /sys/bus/usb/devices/. Here is how to do that:
unplug the RF receiver, plug it back in. check dmesg and you will see a message similar to the following:
kernel: [ 159.608095] usb 4-1: new low speed USB device number 4 using uhci_hcd
So you have the bus/port as 4-1.
Add your /proc/acpi/wakeup lines to /etc/rc.local along with
echo enabled > /sys/bus/usb/devices/4-1/power/wakeup
replacing 4-1 with your bus/port ID obtained from dmesg above.
Reply
#7
I did what you said but I still get nothing on the remote. I know he remote is there, I get bus 5-1 on desmg when I unplug and plug in.

Thanks for reply btw! I had pretty much given up on this thing for now.

Here is what I have:


xbmc@xbmc:/etc/lirc$ cat hardware.conf
REMOTE="ATI/NVidia/X10 RF Remote (userspace)"
REMOTE_MODULES=""
REMOTE_DRIVER="atilibusb"
REMOTE_DEVICE=""
REMOTE_SOCKET=""
#REMOTE_LIRCD_CONF="atiusb/lircd.conf.atilibusb"
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"

xbmc@xbmc:/etc/lirc$ cat lircd.conf
begin remote
name Snapstream
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
Play 0x7AA5
Pause 0x7EA9
Stop 0xFD28
Fwd 0xFB26
Rew 0x79A4
Left 0x729D
Right 0xF41F
Up 0x6F9A
Down 0xF722
OK 0x739E
CH+ 0xE00B
CH- 0x618C
EXIT 0x75A0
MENU 0xF11C
OPTION 0x042F
INFO 0x83AE
Next 0x7FAA
Prev 0x002B
MAXIMIZE 0x81AC
Firefly 0xD500
Rec 0xFC27
VOL+ 0x5E89
VOL- 0xDD08
MUTE 0x5F8A
CLOSE 0xD702
Video 0xDC07
Music 0xDB06
Photos 0x5A85
TV 0x5883
A 0x6E99
B 0xF01B
C 0x76A1
D 0xF823
0 0xEC17
1 0x628D
2 0xE30E
3 0x648F
4 0xE510
5 0x6691
6 0xE712
7 0x6893
8 0xE914
9 0x6A95
BACK 0x6B96
DVD 0xD904
Help 0x5681
Mouse 0x022D
ENT 0xED18
end codes
end remote

xbmc@xbmc:/etc/lirc$ cat /etc/pm/sleep.d/99lirc-resume.sh
#!/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
# XBMC, then Firefly, 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/pm/sleep.d/99lirc-resume.sh

case "$1" in
resume)
curl "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn&parameter=LIRC.Stop"
/etc/init.d/lirc restart
irw & sleep 1; killall irw
curl "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn&parameter=LIRC.Start"
echo "lirc_atiusb resume script completed" >>/tmp/script.log
;;
esac

xbmc@xbmc:/etc/lirc$ cat /usr/share/xbmc/system/Lircmap.xml |more
<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml
-->
<!--
-->
<!-- How to add remotes
-->
<!-- <remote device="name_Lirc_calls_the_remote">
-->
<!--
-->
<!-- For the commands the layout following layout is used
-->
<!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND>
-->
<!--
-->
<!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml
-->

<lircmap>
<remote device="Snapstream">
<Play>Play</Play>
<pause>Pause</pause>
<stop>Stop</stop>
<forward>Fwd</forward>
<reverse>Rew</reverse>
<left>Left</left>
<right>Right</right>
<up>Up</up>
<down>Down</down>
<select>OK</select>
<pageplus>CH+</pageplus>
<pageminus>CH-</pageminus>
<back>MENU</back>
<menu>EXIT</menu>
<title>OPTION</title>
info.pngINFO
<skipplus>Next</skipplus>
<skipminus>Prev</skipminus>
<display>MAXIMIZE</display>
<start>Firefly</start>
<record>Rec</record>
<volumeplus>VOL+</volumeplus>
<volumeminus>VOL-</volumeminus>
<mute>MUTE</mute>
<power>CLOSE</power>
<myvideo>Video</myvideo>
<mymusic>Music</mymusic>
<mypictures>Photos</mypictures>
<mytv>TV</mytv>
<mytv>A</mytv>
<myvideo>B</myvideo>
<mymusic>C</mymusic>
<mypictures>D</mypictures>
<zero>0</zero>
<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>
<enter>ENT</enter>
<back>BACK</back>
</remote>
<remote device="mceusb">

Reply
#8
Are there any errors in syslog when starting lirc? And I guess you are not seeing anything in irw when pressing remote buttons too?

If there's no errors and nothing in irw, one thing to check is your remote channel. The lircd.conf will only pick up remote channel 1. You can set the remote channel by holding down the firefly button until the light blinks and then stays solid. Then press 1, and hit the firefly button again to save it. It will blink the light once confirming the channel # set.
Reply
#9
Again thank you for reply!

irw shows nothing
after doing sudo etc/init.d/lirc restart syslog shows following:

Apr 22 01:43:58 xbmc lircd-0.9.0[1682]: caught signal
Apr 22 01:43:58 xbmc lircd-0.9.0[1727]: lircd(atilibusb) ready, using /var/run/lirc/lircd
Apr 22 01:43:58 xbmc lircd-0.9.0[1727]: accepted new client on /var/run/lirc/lircd

Set channel to 1 using your instructions. One question on that, do I keep the firefly button pressed down when I am pressing 1 to set the channel or do I depress the firefly button after light turns solid, hit 1, then firefly button again?

Imagine it would have been on 1, worked fine in XBMC Live. Could change every time power is lost and re-applied I guess.

Considering getting another remote... Sad
Reply
#10
I installed XBMC on top of Arch Linux, so I'm not sure if this is going to be useful, but several months ago I had a similar problem. I reinstalled after having to change the harddrive out and my Firefly wouldn't work at all with the same config that it had been using. Turns out the problem wasn't just the modules being removed from the kernel, lirc was also trying to load extra ones that were causing conflicts (or something I don't remember the specifics). In the end what fixed it was blacklisting the extra modules. This is the Arch config for doing that, not sure where you would try in XBMCLive.



Code:
#
# /etc/modprobe.d/modprobe.conf (for v2.6 kernels)
#
blacklist lirc_atiusb
blacklist lirc_dev
blacklist ati_remote
Reply
#11
Update: My Firefly remote had stopped working as well after a full system update and upgrade to Eden. Turns out when pacman upgraded it renamed modprobe.conf so those modules weren't blocked anymore. Re blacklisting them and rebooting got the remote working fine again.

Hope that helps.
Reply
#12
Thanks for the reply!

I put

blacklist lirc_atiusb
blacklist lirc_dev
blacklist ati_remote

into

/etc/modprobe.d/blacklist.conf

Still no go. I think I'm going to do a complete re-install. Perhaps I gummed something up along the line of trying to get this working. Worth a shot.

Will report back.
Reply
#13
Hmm, I don't know then. My configuration files are different, but I assumed that was because I was using a different setup. I'll try posting them later. No access right now.
Reply
#14
(2012-05-19, 03:25)Baka no Kami Wrote: Hmm, I don't know then. My configuration files are different, but I assumed that was because I was using a different setup. I'll try posting them later. No access right now.

I am going to try getting my Firefly working on Eden & am curious if you are using a custom remote.xml or keymap.xml. If so, would you mind sharing? Thanks.
Reply
#15
No problem. Here's all my Firefly configs. Oh, and this is for the regular 45-ish button Firefly too, not the smaller 30-something button one.

/etc/lirc/hardware.conf
http://pastebin.com/Q60UDQSy

These codes are different from what's on the wiki, and honestly I can't even remember where I got them from, but they work for me.
/etc/lirc/lircd.conf
http://pastebin.com/qN4W3jz0

/home/[user]/.xbmc/userdata/Lircmap.xml
http://pastebin.com/shvaa1ih

The remote delay was used to fix the double button press problem. For the curious, my movies are all on a network drive and all the HD movies have an SD version in a subdir to make streaming easier when I'm away from home. The exclude setting prevents XBMC from scanning those directories so I don't end up with duplicates in the library.
/home/[user]/.xbmc/userdata/advancedsettings.xml
http://pastebin.com/ww34bJCN

Nothing in remote.xml is required. It's just if you want to change the default behavior. I stuck all those empty sections in it so if I wanted to change something later I wouldn't have to go look up the name.
/home/[user]/.xbmc/userdata/keymaps/remote.xml
http://pastebin.com/05kYQU8Y
Reply

Logout Mark Read Team Forum Stats Members Help
XBMCbuntu Snapstream Firefly Remote No Joy0