Hi,
I need to patch the ati_remote module in order to use my ATI remote wonder plus ( or III as you wish ).
I made a patch :
Diff
diff U3 /tmp/test/ati_remote.c /tmp/test/ati_remote_plus.c
--- /tmp/test/ati_remote.c Fri Dec 16 09:48:13 2016
+++ /tmp/test/ati_remote_plus.c Fri Dec 16 09:48:02 2016
@@ -240,8 +240,10 @@
#define SEND_FLAG_COMPLETE 2
/* Device initialization strings */
-static char init1[] = { 0x01, 0x00, 0x20, 0x14 };
-static char init2[] = { 0x01, 0x00, 0x20, 0x14, 0x20, 0x20, 0x20 };
+static char init1[] = { 0x80, 0x05, 0x1b, 0x15, 0x14, 0x20, 0x24, 0x15 };
+static char init2[] = { 0x83, 0x03 };
+static char init3[] = { 0x84, 0xd7, 0x020 };
+
struct ati_remote {
struct input_dev *idev;
@@ -507,7 +509,7 @@
*/
/* Deal with strange looking inputs */
- if ( (urb->actual_length != 4) || (data[0] != 0x14) ||
+ if ( (urb->actual_length != 4) || (data[0] != 0x14 && data[0] != 0x15) ||
((data[3] & 0x0f) != 0x00) ) {
ati_remote_dump(&urb->dev->dev, data, urb->actual_length);
return;
@@ -827,8 +829,9 @@
ati_remote->out_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
/* send initialization strings */
- if ((ati_remote_sendpacket(ati_remote, 0x8004, init1)) ||
- (ati_remote_sendpacket(ati_remote, 0x8007, init2))) {
+ if ((ati_remote_sendpacket(ati_remote, 0x8008, init1)) ||
+ (ati_remote_sendpacket(ati_remote, 0x8002, init2)) ||
+ (ati_remote_sendpacket(ati_remote, 0x8003, init3))) {
dev_err(&ati_remote->interface->dev,
"Initializing ati_remote hardware failed.\n");
return -EIO;
Display More
I don't know how to use it with you cross-build system.
The ati_remote.c file is present in many place :
Quote
build.LibreELEC-S905.aarch64-7.0.3.010/linux-fb23764/drivers/media/rc/ati_remote.c
build.LibreELEC-S905.aarch64-7.0.3.010/media_build-526f51c/linux/drivers/media/rc/ati_remote.c
build.LibreELEC-S905.aarch64-7.0.3.010/qca9377-aml-8b729b7/AIO/drivers/backports/drivers/media/rc/ati_remote.c
Someone can help me to patch this module ?