2014-09-25, 21:09
Have you actually tried building the module that ned linked to ? , because I've just built it against my kernel (3.13.0-36-generic) and it built with no errors.
(2014-09-25, 18:57)drivesoslow Wrote: You could try this patch for 3.1
http://lxr.free-electrons.com/source/dri...te.c?v=3.1
(2014-09-25, 22:22)nickr Wrote:(2014-09-25, 18:57)drivesoslow Wrote: You could try this patch for 3.1
http://lxr.free-electrons.com/source/dri...te.c?v=3.1
That is NOT a patch, it is the full driver code.
The driver appears to be in the kernel on openelec. Can you try openelec and see if it works? You don't need to touch your hard drive, install it to a usb stick and trial it.
In fact the driver is in the 3.16 linux kernel.
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!
(2014-09-26, 00:50)nickr Wrote: OK I understand better now what we are doing. What version of openelec are you using?
wget http://paste.fedoraproject.org/136625/41169317/raw/ -O packages/linux/patches/3.16.3/linux-063-ati_remote_plus.patch
PROJECT=Generic ARCH=x86_64 ./scripts/clean linux
PROJECT=Generic ARCH=x86_64 make release
(2014-09-26, 03:09)lrusak Wrote: I made a patch here, http://paste.fedoraproject.org/136625/41169317/raw/
It compiles but I'm not sure if it works because I had to comment out one line because of a change to the rc-core in 3.16.
If you haven't already just make a fresh compile of the OpenELEC github repo. Then, do the following steps after it has successfully built OpenELEC once.
Code:wget http://paste.fedoraproject.org/136625/41169317/raw/ -O packages/linux/patches/3.16.3/linux-063-ati_remote_plus.patch
then
then,Code:PROJECT=Generic ARCH=x86_64 ./scripts/clean linux
Then when it builds the kernel it will prompt you about a config change. press "m". You can get around this if you modify the kernel config in projects/Generic/linux/linux.x86_64.conf but this is outside the scope of this.Code:PROJECT=Generic ARCH=x86_64 make release
I assume you need the rc_keytables part as well, but this would require a seperate patch on the v4l-utils package.
(2014-09-26, 04:44)madhits Wrote: Irusak YOU ROCK.. THANK YOU SO MUCH! I will try to test this as soon as possible. Darn I've go to much to do for this trip but all I wanna do is try to test this out.
I'm sure figuring out IR-keytables wont be to hard, I hope..
(2014-09-26, 05:12)lrusak Wrote:(2014-09-26, 04:44)madhits Wrote: Irusak YOU ROCK.. THANK YOU SO MUCH! I will try to test this as soon as possible. Darn I've go to much to do for this trip but all I wanna do is try to test this out.
I'm sure figuring out IR-keytables wont be to hard, I hope..
Try it before you get too excited. Just because it compiles doesn't mean it will work.
Also, this way you can disable the ati_remote kernel module and just leave the ati_remote_plus kernel module enabled. This makes it so you don't have to blacklist ati_remote but it's not hard to do so.
I can help you out more with this, but I'm not going to hold your hand
(2014-09-26, 16:22)madhits Wrote: Well I appreciate it. I wont be back until oct 9th or 10th. Once I get back I plan to poor some time into this to see how to get this working. Anyway I can make these changes on an existing openelec install? Otherwise I have to reinstall my current setup. There has to be a way to add this to openelec isnt there?
(2014-09-26, 03:09)lrusak Wrote: I made a patch here, http://paste.fedoraproject.org/136625/41169317/raw/
It compiles but I'm not sure if it works because I had to comment out one line because of a change to the rc-core in 3.16.
If you haven't already just make a fresh compile of the OpenELEC github repo. Then, do the following steps after it has successfully built OpenELEC once.
Code:wget http://paste.fedoraproject.org/136625/41169317/raw/ -O packages/linux/patches/3.16.3/linux-063-ati_remote_plus.patch
then
then,Code:PROJECT=Generic ARCH=x86_64 ./scripts/clean linux
Then when it builds the kernel it will prompt you about a config change. press "m". You can get around this if you modify the kernel config in projects/Generic/linux/linux.x86_64.conf but this is outside the scope of this.Code:PROJECT=Generic ARCH=x86_64 make release
I assume you need the rc_keytables part as well, but this would require a seperate patch on the v4l-utils package.