Remote wonder PLUS help building in support, need advice
#1
I am wondering if I can resurrect an old piece of hardware which is still awesome. Its the Remote Wonder Plus. its an x10 device.

Its had a mixed history of support that comes and goes. Here is some links to support its had in previous versions of Ubuntu and I am wondering if I can get help with a script that adds hardware support into LibreElec. I am just looking for help with kernel driver support that I will add to my own build process. Milhouse has helped me add support for other hardware and this is a new one I am looking for.

See:
https://ubuntuforums.org/showthread.php?t=1875938
http://www.spinics.net/lists/linux-input/msg28006.html

RW 1 & 2 support guide:
http://myspew.com/projects/use-the-ati-r...c-and-kodi

Hope I can get some interest and help here taking the changes in the spinics link above and apply them to the ati_x10 plugin mentioned in the last link then add the ati_x10 plugin to my own LibreElec build with the current kernel.
Reply
#2
The ati_remote.c file is still in the 4.7 kernel, "drivers/media/rc/ati_remote.c".

You could try adapting the patch from here, you'll also need to add the Kconfig and Makefile changes.

Once you've got your patches together, create a file in your filesystem (eg. "~/projects/keep/patches/remotewonder.txt") then add "=master remotewonder.txt" to ipatches.dat, Use "./checkpatches.sh -rp linux -k" to confirm the patch applies cleanly before building (you'll find the patched source code in "~/projects/.unpack/linux-4.7").

Or just buy a FLIRC.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#3
(2016-08-09, 21:23)Milhouse Wrote: The ati_remote.c file is still in the 4.7 kernel, "drivers/media/rc/ati_remote.c".

You could try adapting the patch from here, you'll also need to add the Kconfig and Makefile changes.

Once you've got your patches together, create a file in your filesystem (eg. "~/projects/keep/patches/remotewonder.txt") then add "=master remotewonder.txt" to ipatches.dat, Use "./checkpatches.sh -rp linux -k" to confirm the patch applies cleanly before building (you'll find the patched source code in "~/projects/.unpack/linux-4.7").

Or just buy a FLIRC.

THANKS Milhouse! I have wanted to use this old remote for so long you have no idea. Ok so that patch will work with the new kernel sweet. The kconfig and makefile changes is what I am going to struggle with. Ill see if I can figure that out and post back after a few attempts at this. THX
Reply
#4
Milhouse I found the makefile inside projects/LibreELEC.tv/ but not sure if I am doing this right.

So I add this line to the Makefile:
Code:
obj-$(CONFIG_INPUT_ATI_REMOTE_PLUS)        += ati_remote_plus.o

It looks like each of the Makefile points to a script but each of these scripts seems to be a part of the build process not a patch. So do I just take the ati_remote_plus.patch and put it in there? Or does it go into the projects/keep/patches/ directory would it go there, seems more logical?

As for the kconfig, I know that is kernel config is that in /projects/LibreELEC.tv/config/ and do I put the config INPUT_ATI_REMOTE_PLUS in there as a new file? OR do I add those lines to the arch.x86_64? and is this the correct location? I think its a new file right?

I tried to use the legacy_hardware.txt as a guide and I am trying to figure out if I'm on the right track. Also do I need to add the ati_remote_plus.c file into a directory or is it already part of the kernel or other drivers?

Thanks for your direction on this.
Reply
#5
You need to patch the Linux 4.7 source code.

Once you've got your patch for the Linux source code you then add a reference to your patch in ipatches.dat as I explained. This isn't the only way to add patches to LibreELEC but it will work for you.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#6
(2016-08-11, 02:47)Milhouse Wrote: You need to patch the Linux 4.7 source code.

Once you've got your patch for the Linux source code you then add a reference to your patch in ipatches.dat as I explained. This isn't the only way to add patches to LibreELEC but it will work for you.

So that's related to the ati_remote_plus.c file right? That's the kernel patch/driver? Anymore you can tell me? I'm not sure how to patch the source code, or update this patch. I think that's what you are getting at?
Reply
#7
I've just tried to apply the patch from the wiki and it's (unsurprisingly) useless, so forget it. Much of it has already been applied in later kernels, so you probably don't need it anyway (or the Kconfig/Makefile changes).

However, looking at the 4.7 kernel source, and the LE linux.x86_64.conf, it's apparent that this remote should already be enabled in your LE build since CONFIG_RC_ATI_REMOTE=m is already being set, and the ati_remote.ko kernel module is included in the build . In which case, there's nothing else you should need to do to get this driver working.

However if the remote still isn't working, then there's a problem elsewhere.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#8
(2016-08-11, 06:55)Milhouse Wrote: I've just tried to apply the patch from the wiki and it's (unsurprisingly) useless, so forget it. Much of it has already been applied in later kernels, so you probably don't need it anyway (or the Kconfig/Makefile changes).

However, looking at the 4.7 kernel source, and the LE linux.x86_64.conf, it's apparent that this remote should already be enabled in your LE build since CONFIG_RC_ATI_REMOTE=m is already being set, and the ati_remote.ko kernel module is included in the build . In which case, there's nothing else you should need to do to get this driver working.

However if the remote still isn't working, then there's a problem elsewhere.

I will give it a try. It will likely work but not fully. The issue in the past was that the RW 1 and RW 2 worked fine. It was the 3 which used a slightly different frequency that could not be used with kodi. Ill see what I come up with. THX

UPDATE: It does not work at all. Nothing happens all buttons.
Reply
#9
Sorry, can't help you. Two out of three isn't bad.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#10
(2016-08-12, 23:53)Milhouse Wrote: Sorry, can't help you. Two out of three isn't bad.

But the patch you pointed me towards at the mythtv wiki shows how to make it work. Why wont that work? Can you explain what is missing? The RM1 and RM2 were not true x10 devices the 3 is full X10 that is the issue that was faced int he past. The remote is awesome as it works through walls and even floors in my house. While listening to music I can turn it up and switch tracks from rooms away, unlike my bluetooth that goes out just 1 room away.
Reply
#11
The patch is for kernel 2.6.31. You're building with kernel 4.7. The wiki patch no longer applies on top of 4.7.

I don't know what is missing, you'll need to ask on a site that supports your ATI hardware, or find someone with the hardware that has it working with a current kernel.

You should at least look to see if the module is loading using "lsmod | grep ati", and if "ati_remote" is not listed then try "modprobe ati_remote".

But beyond that I don't know as I don't have this hardware - you'll need to work this out for yourself, I'm afraid.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#12
Here is the modinfo output for the module, it gives the developer's name and email address, as well as parameters you can add - in particular a debug option. Eg
Code:
modprobe ati_remote debug=1


Code:
OfficeTest:~ # modinfo ati_remote
filename:       /lib/modules/4.7.0/kernel/drivers/media/rc/ati_remote.ko
license:        GPL
description:    ATI/X10 RF USB Remote Control
author:         Torrey Hoffman <[email protected]>
alias:          usb:v0BC7p0008d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0006d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0005d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0004d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0003d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0002d*dc*dsc*dp*ic*isc*ip*in*
depends:        rc-core
intree:         Y
vermagic:       4.7.0 SMP mod_unload
parm:           channel_mask:Bitmask of remote control channels to ignore (ulong
)
parm:           debug:Enable extra debug messages and information (int)
parm:           repeat_filter:Repeat filter time, default = 60 msec (int)
parm:           repeat_delay:Delay before sending repeats, default = 500 msec (i
nt)
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#13
(2016-08-14, 08:56)nickr Wrote: Here is the modinfo output for the module, it gives the developer's name and email address, as well as parameters you can add - in particular a debug option. Eg
Code:
modprobe ati_remote debug=1


Code:
OfficeTest:~ # modinfo ati_remote
filename:       /lib/modules/4.7.0/kernel/drivers/media/rc/ati_remote.ko
license:        GPL
description:    ATI/X10 RF USB Remote Control
author:         Torrey Hoffman <[email protected]>
alias:          usb:v0BC7p0008d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0006d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0005d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0004d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0003d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BC7p0002d*dc*dsc*dp*ic*isc*ip*in*
depends:        rc-core
intree:         Y
vermagic:       4.7.0 SMP mod_unload
parm:           channel_mask:Bitmask of remote control channels to ignore (ulong
)
parm:           debug:Enable extra debug messages and information (int)
parm:           repeat_filter:Repeat filter time, default = 60 msec (int)
parm:           repeat_delay:Delay before sending repeats, default = 500 msec (i
nt)

A couple of years ago I contacted torrey he got back to me with the following. I wonder if this old patch is any help?

Code:
If like me you have an ATI Remote Wonder in his "plus" version, you could not make it work properly with the "ati_remote" basic module.

So I'll explain in this tutorial how settled and set!

(I realize this tutorial Ubuntu 12.04.4-3.11.0-18-generic)

Started by connecting the receiver and then ATI typing this command:

Code:

lsusb


That should be displayed

Code:

0bc7: 0004 X10 Wireless Technology, Inc. X10 Receiver


The receiver and therefore well detected by Linux!

1 Module Creation and autoloading

We'll have to compile a new module containing the bases "ati_remote" but integrating our new remote.

To begin creating a folder "atiplus" or you want:

Code:

sudo mkdir atiplus


Returned to the folder with:

Code:

cd / atiplus


Then creates a new file in which you copied the source code of the new module:

Code:

sudo gedit ati_remote_plus.c


Link the source code for the new modules: pastebin.com/eP1wiGtT

(The source code for the new module from this source: www.spinics.net/lists/linux-input/msg28006.html )

I purposely changed the new source code to disable the "mouse" on the remote control that generated "freeze" at rehearsals!

Then you need to create a final "Makefile" file:

Code:

sudo gedit Makefile


We copy in there:

Code:

obj-m: = ati_remote_plus.o
KDIR: = / lib / modules / $ (shell uname r) / build
PWD: = $ (shell pwd)

all:
$ (MAKE) $ C (KDIR) M = $ (PWD) modules

clean:
$ (MAKE) $ C (KDIR) M = $ (PWD) clean


Is saved and you type:

Code:

make


Now that the module and compiled, we will have the loaded at startup.

We start by creating a folder to receive the module:

Code:

sudo mkdir p / lib / modules / $ (uname r) / kernel / drivers / ati_remote_plus


The module is copied to the folder:

Code:

ati_remote_plus.ko cp / lib / modules / $ (uname r) / kernel / drivers / ati_remote_plus /


Then we will edit the "modules" file that launches the modules ... niark niark :

Code:

sudo gedit / etc / modules


Then you add in the wake of the modules:

Code:

ati_remote_plus


We update the list of modules:

Code:

sudo depmod


Last steps to prevent the loading of the module ati_remote "basic".

We'll have to add the module to the blacklist, so you edit this file:

Code:

sudo gedit /etc/modprobe.d/blacklist.conf


Add all at the top of the list:
Code:

# Replaced by ati_remote_plus
ati_remote blacklist


From there you can restart the computer, start the "ati_remote" module will not be loaded and the module "ati_remote_plus" we have compiled shortly before the replacement.

2-detection and configuration of the remote

We'll installed ir-keytable to test and set our remote:

Code:

sudo apt-get install ir-keytable


Once finished installing type:

Code:

ir-keytable


You should see a few details this:

Code:

Found / sys / class / rc / rc0 / (/ dev / input / event3) with:
Driver ati_remote, table rc-ati-x10
Supported protocols: other
Enabled protocols:
Extra capabilities: <access denied>


ir-keytable does detect our remote!

To test the remote control type:

Code:

keytable ir-t d / dev / input / event3

[Color = red

Warning replace your well !! input [/ color]

Press the buttons you should see entries appear this way:

Code:

1396193942.353173: event key down: KEY_3 (0x0004)
1396193942.353173: event sync
1396193942.353186: event key up: KEY_3 (0x0004)
1396193942.353186: event sync


We will now configure the buttons.

To do this we will create two configuration files:

Code:

sudo gedit / lib / udev / rc_keymaps / ati_x10


Copy / paste:

Code:

# Table ati_x10 type: OTHER
0x000A KEY_MUTE
0x0025 KEY_PLAY
0x0029 KEY_PAUSE
0x0028 KEY_STOP
0x001d KEY_LEFT
0x001F KEY_RIGHT
0x001a KEY_UP
0x0022 KEY_DOWN
0x001E KEY_KPENTER
0x0021 KEY_BACK
0x001b KEY_I


Code:

sudo gedit / etc / rc_keymaps / ati_x10


You copy into it the same as in the previous file!

These are but settings but you can safely change the assignments as you like!

Finally we will ensure that our config file is automatically loaded:

Code:

sudo gedit /etc/rc_maps.cfg


Copy it in the front line:

Code:

* Rc-ati-x10 / lib / udev / rc_keymaps / ati_x10


Just above:
Code:

* Rc-twinhan1027 / lib / udev / rc_keymaps / twinhan_vp1027_dvbs


Voila! it's over!

OR THIS TOPIC: http://forum.kodi.tv/showthread.php?tid=57628
Reply

Logout Mark Read Team Forum Stats Members Help
Remote wonder PLUS help building in support, need advice0