I spent waaay too much time today troubleshooting my ATI Remote Wonder II with a KnoppMyth remote frontend, but I DID manage to make it work. I've included my "/home/mythtv/.mythtv/lircrc", "/etc/lirc/lirc.conf" and "/etc/lirc/hardware.conf" files for posterity.
All friggin' day, man. Most of my woes were my lack of understanding of the ways of LIRC and USB.
Here's what I did to make this thing work:
1) fresh install of R5D1 on a remote frontend. Chose "atiusb" as my remote. Please note: I'm not sure if any of this writeup is correct or accurate or even in keeping with traditional Linux expectations. All I know is that it worked for me.
Criticism is most welcome!!!
2) move "/lib/modules/2.6.17-chw-8/kernel/drivers/usb/input/ati_remote2.ko" and "/lib/modules/2.6.17-chw-8/kernel/drivers/usb/input/ati_remote.ko" to "~/mythtv".
-reason: these modules were stepping on the lirc_atiusb driver, hogging the Remote Wonder II. The Remote Wonder II would "work" in X with rudimentary usefullness: inside of KM frontend up and down, right and left cursor worked. The mouse worked outside of KM frontend. LIRC, however, refused to work at all.
This is going to be a long post. Sorry, Cecil!
3) Once the modules in 2) above were out of the way, I could get LIRC to respond via irw and manually starting LIRC, but LIRC would not start at boot. To resolve this, I added "/etc/init.d/lirc start" to the bottom of "/etc/init.d/bootmisc.sh". Once I did that, LIRC would work, but not at boot because of my wireless USB keyboard and mouse. Unplugging them allowed LIRC to start at boot, and lo and behold, the Remote Wonder II began to respond.
4) Next, I edited "/home/mythtv/.mythtv/lircrc", "/etc/lirc/lirc.conf" files to suit my system. These files are still a bit incomplete, and the alert KnoppMyth hack will note that I use VLC as my MythVideo player; however they provide what I was looking for in a working RF remote.
/home/mythtv/.mythtv/lircrc:
Code:
# ~/.mythtv/lircrc
#
# MythTV native LIRC config file for
# the ATI-Remote Wonder II
# using lirc_atiusb driver
#
begin
#Jumppoint for Program Guide created in Mythweb
prog = mythtv
button = TV
config = !
end
begin
#Jumppoint for DVD playback created in Mythweb
prog = mythtv
button = DVD
config = @
end
begin
prog = mythtv
#Jumppoint for MythWeater created in Mythweb
button = WEB
config = #
end
begin
prog = mythtv
#Jumppoint for MythVideo created in Mythweb
button = list
config = $
end
begin
prog = mythtv
#Jumppoint for MythWeater created in Mythweb
button = HAND
config = %
end
begin
prog = mythtv
button = 1
config = 1
repeat = 5
end
begin
prog = mythtv
button = 2
config = 2
repeat = 5
end
begin
prog = mythtv
button = 3
config = 3
repeat = 5
end
begin
prog = mythtv
button = 4
config = 4
repeat = 5
end
begin
prog = mythtv
button = 5
config = 5
repeat = 5
end
begin
prog = mythtv
button = 6
config = 6
repeat = 5
end
begin
prog = mythtv
button = 7
config = 7
repeat = 5
end
begin
prog = mythtv
button = 8
config = 8
repeat = 5
end
begin
prog = mythtv
button = 9
config = 9
repeat = 5
end
begin
prog = mythtv
button = 0
config = 0
repeat = 5
end
begin
prog = mythtv
button = MOUSE_UP
config = Up
end
begin
prog = mythtv
button = MOUSE_DOWN
config = Down
end
begin
prog = mythtv
button = MOUSE_LEFT
config = Left
end
begin
prog = mythtv
button = MOUSE_RIGHT
config = Right
end
begin
prog = mythtv
button = MOUSE_RIGHT_BTN
config = Esc
end
begin
prog = mythtv
# Enter button
button = MOUSE_LEFT_BTN
config = Return
end
begin
prog = mythtv
button = POWER
config = Esc
end
begin
prog = mythtv
# Enter button
button = OK
config = Return
end
begin
prog = mythtv
button = ARROW_UP
config = Up
end
begin
prog = mythtv
button = ARROW_DOWN
config = Down
end
begin
prog = mythtv
button = ARROW_LEFT
config = Left
end
begin
prog = mythtv
button = ARROW_RIGHT
config = Right
end
begin
prog = mythtv
button = D
config = Y
end
begin
prog = mythtv
button = CH_UP
config = Page Up
end
begin
prog = mythtv
button = CH_DOWN
config = Page Down
end
begin
prog = mythtv
button = VOL_DOWN
repeat = 3
config = [
end
begin
prog = mythtv
button = VOL_UP
repeat = 3
config = ]
end
begin
prog = mythtv
button = MUTE
config = F9
end
begin
# Mute for MythMusic
prog = mythtv
button = MUTE
config = |
end
begin
prog = mythtv
button = check
config = S
end
begin
prog = mythtv
# Enter button
button = SETUP
config = Return
end
begin
prog = mythtv
button = A
config = S
end
begin
prog = mythtv
button = info
config = I
end
begin
prog = mythtv
# Channel Guide
button = C
config = S
end
begin
prog = mythtv
# Change focus for PiP (to change channel in the other window)
button = MAXIMIZE
config = B
end
begin
prog = mythtv
# Toggle PiP on/off
button = TV_ON_DEMAND
config = V
end
begin
prog = mythtv
button = BACK
config = <
end
begin
prog = mythtv
button = NEXT
config = >
end
begin
prog = mythtv
button = BACK
config = Left
end
begin
prog = mythtv
button = NEXT
config = Right
end
begin
prog = mythtv
button = REC
config = R
end
begin
prog = mythtv
button = STOP
config = Esc
end
begin
prog = mythtv
button = PLAY
config = P
end
begin
prog = mythtv
button = PAUSE
config = P
end
#Page Up/Down
begin
prog = mythtv
button = E
config = Esc
end
begin
prog = mythtv
button = F
config = PgDown
end
begin
prog = mythtv
button = E
# Use for backwards commercial skip
config = Q
end
begin
prog = mythtv
button = F
# Use for forward commercial skip
config = Z
end
#Mplayer
begin
prog = mplayer
button = PLAY
config = pause
end
begin
prog = mplayer
button = PAUSE
config = pause
end
begin
prog = mplayer
button = STOP
config = quit
end
begin
prog = mplayer
button = POWER
config = quit
end
begin
prog = mplayer
button = D
config = quit
end
begin
prog = mplayer
button = MOUSE_RIGHT_BTN
config = quit
end
begin
prog = mplayer
button = MUTE
config = mute
end
begin
prog = mplayer
button = E
repeat = 6
config = seek -10
end
begin
prog = mplayer
button = F
repeat = 6
config = seek 10
end
begin
prog = mplayer
button = BACK
repeat = 6
config = seek -70
end
begin
prog = mplayer
button = NEXT
repeat = 6
config = seek 70
end
begin
prog = mplayer
button = VOL_DOWN
repeat = 6
config = volume -1
end
begin
prog = mplayer
button = VOL_UP
repeat = 6
config = volume 1
end
#Xine
begin
prog = xine
button = PLAY
config = Play
end
begin
prog = xine
button = PAUSE
config = PAUSE
end
begin
prog = xine
button = STOP
config = Stop
end
begin
prog = xine
button = POWER
config = Quit
end
begin
prog = xine
button = D
config = quit
end
begin
prog = xine
button = MOUSE_RIGHT_BTN
config = quit
end
begin
prog = xine
button = ARROW_UP
repeat = 4
config = EventUp
end
begin
prog = xine
button = ARROW_DOWN
repeat = 4
config = EventDown
end
begin
prog = xine
button = ARROW_LEFT
repeat = 4
config = EventLeft
end
begin
prog = xine
button = ARROW_RIGHT
repeat = 4
config = EventRight
end
begin
prog = xine
button = OK
repeat = 0
config = EventSelect
end
begin
prog = xine
button = MOUSE_UP
repeat = 4
config = EventUp
end
begin
prog = xine
button = MOUSE_DOWN
repeat = 4
config = EventDown
end
begin
prog = xine
button = MOUSE_LEFT
repeat = 4
config = EventLeft
end
begin
prog = xine
button = MOUSE_RIGHT
repeat = 4
config = EventRight
end
begin
prog = xine
button = MOUSE_LEFT_BTN
repeat = 0
config = EventSelect
end
begin
prog = xine
button = DVD_ROOTMENU
repeat = 0
config = Menu
end
#vol down
begin
prog = xine
button = VOL_DOWN
repeat = 1
config = Volume-
end
#vol up
begin
prog = xine
button = VOL_UP
repeat = 1
config = Volume+
end
begin
prog = xine
button = TV_ON_DEMAND
repeat = 1
config = ZoomIn
end
begin
prog = xine
button = MAXIMIZE
repeat = 1
config = ZoomOut
end
#skip chapter forward
begin
prog = xine
button = NEXT
repeat = 1
config = EventNext
end
#skip chapter backward
begin
prog = xine
button = BACK
repeat = 1
config = EventPrior
end
begin
prog = xine
button = F
repeat = 2
config = SeekRelative+45
end
begin
prog = xine
button = E
repeat = 2
config = SeekRelative-45
end
# VLC
begin
prog = vlc
button = Ok
config = key-nav-activate
end
begin
prog = vlc
button = ARROW_UP
config = key-nav-up
end
begin
prog = vlc
button = ARROW_DOWN
config = key-nav-down
end
begin
prog = vlc
button = ARROW_RIGHT
config = key-nav-right
end
begin
prog = vlc
button = ARROW_LEFT
config = key-nav-left
end
begin
prog = vlc
button = PAUSE
config = key-pause
end
begin
prog = vlc
button = STOP
config = key-quit
end
# Use this target if you have a combined play/pause button
begin
prog = vlc
button = PLAY
config = key-play-pause
repeat = 0
end
begin
prog = vlc
button = E
config = key-quit
end
begin
prog = vlc
button = Channel+
config = key-next
repeat = 0
end
begin
prog = vlc
button = Channel-
config = key-prev
repeat = 0
end
begin
prog = vlc
button = Red
config = key-slower
end
begin
prog = vlc
button = Green
config = key-faster
end
begin
prog = vlc
button = rewind
config = key-jump-10sec
repeat = 1
end
begin
prog = vlc
button = ffwd
config = key-jump+10sec
repeat = 1
end
begin
prog = vlc
button = Chan-Stop
config = key-jump-1min
end
begin
prog = vlc
button = Chan+Play
config = key-jump+1min
end
#Audio controls
begin
prog = vlc
button = VOL_DOWN
config = key-vol-down
repeat = 1
end
begin
prog = vlc
button = VOL_UP
config = key-vol-up
repeat = 1
end
begin
prog = vlc
button = SOMEBUTTON
config = key-audio-track
end
begin
prog = vlc
button = Mute
config = key-vol-mute
end
/etc/lirc/lirc.conf
Code:
#
# brand: ATI Remote Wonder II
# aka: ATI Sapphire Remote Bob II USB
# model no. of remote control: 5000024400
#
begin remote
name ATI-RemoteWonderII
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 8
pre_data 0x0
post_data_bits 16
post_data 0x0
gap 299851
toggle_bit 0
begin codes
aux1 0x023F
aux2 0x023F
aux3 0x023F
aux4 0x023F
mouse_left_btn 0x02A9
mouse_right_btn 0x02AA
a 0x0278
b 0x0279
power 0x020C
dvd 0x0238
tv 0x0239
help 0x02BE
pc 0x023F
resize 0x02D5
hand 0x02D0
ati 0x028E
vol_up 0x0210
vol_down 0x0211
mute 0x020D
ch_up 0x0220
ch_down 0x0221
mouse_cursor_up 0x01FF
mouse_cursor_down 0x02FF
mouse_cursor_left 0x20FF
mouse_cursor_right 0x10FF
mouse_cursor_upleft 0x21FF
mouse_cursor_upright 0x11FF
mouse_cursor_downleft 0x22FF
mouse_cursor_downright 0x12FF
1 0x0201
2 0x0202
3 0x0203
4 0x0204
5 0x0205
6 0x0206
7 0x0207
8 0x0208
9 0x0209
0 0x0200
list 0x0254
check 0x0282
info 0x02F9
timer 0x0296
arrow_up 0x0258
arrow_left 0x025A
arrow_right 0x025B
arrow_down 0x0259
ok 0x025C
c 0x027A
d 0x027B
play 0x022C
e 0x027C
f 0x027D
rewind 0x0229
rec 0x0237
stop 0x0231
pause 0x0230
ffwd 0x0228
end codes
end remote
/etc/lirc/hardware.conf
Code:
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS=""
#Don't start lircmd even if there seems to be a good config file
START_LIRCMD=false
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/lirc"
MODULES="lirc_dev lirc_atiusb"
I did all of this for lack of anything better to do with my Sunday. And the fact that I had a RWII laying in my junk box and no remote for my frontend.
I hope that this helps someone trying to do this same thing with their RWII.
Again, criticism is welcome. I figure there has to be an easier way to do this...isn't there?
-sTv
note: I forgot to mention that I edited JumpPoints and Keybindings via MythWeb for this particular application. Added "!" to the LiveTV JumpPoint, "$" to the MythVideo JumpPoint and "%" to the MythWeather JumpPoint. I also changed some Keybindings: removed "C" from ToggleInputs in TV Playback, and reversed Jumpffwd and Jumprwnd keys (PgUp and PgDown).
I'll edit this post as I go back through my notes/skull cavity...