Hi,
ich habe bereits mit yavdr 0.6.1 und dem Standard-Kernel 3.13 die Zotac Fernbedienung mit einem Kernel-Patch zum laufen gebracht.
Ich habe jetzt bei meiner frischen yavdr Installation den Kernel 4.4 installiert.
Leider funktioniert nun das ausführen des Patches nichts mehr:
Fehler:
Code
- patching file drivers/hid/hid-core.c
- Hunk #1 FAILED at 1681.
- 1 out of 1 hunk FAILED -- saving rejects to file drivers/hid/hid-core.c.rej
- patching file drivers/hid/hid-ids.h
- Hunk #1 succeeded at 791 (offset 128 lines).
- patching file drivers/hid/hid-spinelplus.c
- patching file drivers/hid/Kconfig
- Hunk #1 succeeded at 732 with fuzz 1 (offset 130 lines).
- patching file drivers/hid/Makefile
- Hunk #1 succeeded at 86 (offset -15 lines).
Hier der Patch:
Diff
- diff -Naur linux-3.9/drivers/hid/hid-core.c linux-3.9.patch/drivers/hid/hid-core.c
- --- linux-3.9/drivers/hid/hid-core.c 2013-04-29 02:36:01.000000000 +0200
- +++ linux-3.9.patch/drivers/hid/hid-core.c 2013-04-29 17:08:40.528324010 +0200
- @@ -1681,6 +1681,9 @@
- { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },
- { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
- { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
- + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_1) },
- + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_2) },
- + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_3) },
- { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_KEYBOARD) },
- #if IS_ENABLED(CONFIG_HID_ROCCAT)
- { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONE) },
- diff -Naur linux-3.9/drivers/hid/hid-ids.h linux-3.9.patch/drivers/hid/hid-ids.h
- --- linux-3.9/drivers/hid/hid-ids.h 2013-04-29 02:36:01.000000000 +0200
- +++ linux-3.9.patch/drivers/hid/hid-ids.h 2013-04-29 17:08:40.537323981 +0200
- @@ -663,6 +663,9 @@
- #define USB_VENDOR_ID_PHILIPS 0x0471
- #define USB_DEVICE_ID_PHILIPS_IEEE802154_DONGLE 0x0617
- +#define USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_1 0x206c
- +#define USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_2 0x20cc
- +#define USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_3 0x0613
- #define USB_VENDOR_ID_PI_ENGINEERING 0x05f3
- #define USB_DEVICE_ID_PI_ENGINEERING_VEC_USB_FOOTPEDAL 0xff
- diff -Naur linux-3.9/drivers/hid/hid-spinelplus.c linux-3.9.patch/drivers/hid/hid-spinelplus.c
- --- linux-3.9/drivers/hid/hid-spinelplus.c 1970-01-01 01:00:00.000000000 +0100
- +++ linux-3.9.patch/drivers/hid/hid-spinelplus.c 2013-04-29 17:08:40.537323981 +0200
- @@ -0,0 +1,104 @@
- +/*
- + * HID driver for "PHILIPS MCE USB IR Receiver- Spinel plus" remotes
- + *
- + * Copyright (c) 2010 Panagiotis Skintzos
- + *
- + * Renamed to Spinel, cleanup and modified to also support
- + * Spinel Plus 0471:20CC by Stephan Raue 2012.
- + */
- +
- +/*
- + * This program is free software; you can redistribute it and/or modify it
- + * under the terms of the GNU General Public License as published by the Free
- + * Software Foundation; either version 2 of the License, or (at your option)
- + * any later version.
- + */
- +
- +#include <linux/device.h>
- +#include <linux/input.h>
- +#include <linux/hid.h>
- +#include <linux/module.h>
- +
- +#include "hid-ids.h"
- +
- +#define spinelplus_map_key(c) set_bit(EV_REP, hi->input->evbit); \
- + hid_map_usage_clear(hi, usage, bit, max, EV_KEY, (c))
- +
- +static int spinelplus_input_mapping(struct hid_device *hdev,
- + struct hid_input *hi, struct hid_field *field, struct hid_usage *usage,
- + unsigned long **bit, int *max)
- +{
- + switch (usage->hid) {
- + case 0xffbc000d: spinelplus_map_key(KEY_MEDIA); break;
- + case 0xffbc0024: spinelplus_map_key(KEY_MEDIA); break;
- + case 0xffbc0027: spinelplus_map_key(KEY_ZOOM); break;
- + case 0xffbc0033: spinelplus_map_key(KEY_HOME); break;
- + case 0xffbc0035: spinelplus_map_key(KEY_CAMERA); break;
- + case 0xffbc0036: spinelplus_map_key(KEY_EPG); break;
- + case 0xffbc0037: spinelplus_map_key(KEY_DVD); break;
- + case 0xffbc0038: spinelplus_map_key(KEY_HOME); break;
- + case 0xffbc0039: spinelplus_map_key(KEY_MP3); break;
- + case 0xffbc003a: spinelplus_map_key(KEY_VIDEO); break;
- + case 0xffbc005a: spinelplus_map_key(KEY_TEXT); break;
- + case 0xffbc005b: spinelplus_map_key(KEY_RED); break;
- + case 0xffbc005c: spinelplus_map_key(KEY_GREEN); break;
- + case 0xffbc005d: spinelplus_map_key(KEY_YELLOW); break;
- + case 0xffbc005e: spinelplus_map_key(KEY_BLUE); break;
- + default:
- + return 0;
- + }
- + return 1;
- +}
- +
- +static int spinelplus_probe(struct hid_device *hdev,
- + const struct hid_device_id *id)
- +{
- + int ret;
- + /* Connect only to hid input (not hiddev & hidraw)*/
- + unsigned int cmask = HID_CONNECT_HIDINPUT;
- +
- + ret = hid_parse(hdev);
- + if (ret) {
- + dev_err(&hdev->dev, "parse failed\n");
- + goto err_free;
- + }
- +
- + ret = hid_hw_start(hdev, cmask);
- + if (ret) {
- + dev_err(&hdev->dev, "hw start failed\n");
- + goto err_free;
- + }
- +
- + return 0;
- +err_free:
- + return ret;
- +}
- +
- +static const struct hid_device_id spinelplus_devices[] = {
- + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS,USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_1) },
- + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS,USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_2) },
- + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS,USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_3) },
- + { }
- +};
- +MODULE_DEVICE_TABLE(hid, spinelplus_devices);
- +
- +static struct hid_driver spinelplus_driver = {
- + .name = "SpinelPlus",
- + .id_table = spinelplus_devices,
- + .input_mapping = spinelplus_input_mapping,
- + .probe = spinelplus_probe,
- +};
- +
- +static int __init spinelplus_init(void)
- +{
- + return hid_register_driver(&spinelplus_driver);
- +}
- +
- +static void __exit spinelplus_exit(void)
- +{
- + hid_unregister_driver(&spinelplus_driver);
- +}
- +
- +module_init(spinelplus_init);
- +module_exit(spinelplus_exit);
- +MODULE_LICENSE("GPL");
- diff -Naur linux-3.9/drivers/hid/Kconfig linux-3.9.patch/drivers/hid/Kconfig
- --- linux-3.9/drivers/hid/Kconfig 2013-04-29 02:36:01.000000000 +0200
- +++ linux-3.9.patch/drivers/hid/Kconfig 2013-04-29 17:08:40.538323977 +0200
- @@ -602,6 +602,12 @@
- ---help---
- Support for Steelseries SRW-S1 steering wheel
- +config HID_SPINELPLUS
- + tristate "Spinel Plus remote control"
- + depends on USB_HID
- + ---help---
- + Say Y here if you have a Spinel Plus (0471:206c/20cc/0613) remote
- +
- config HID_SUNPLUS
- tristate "Sunplus wireless desktop"
- depends on USB_HID
- diff -Naur linux-3.9/drivers/hid/Makefile linux-3.9.patch/drivers/hid/Makefile
- --- linux-3.9/drivers/hid/Makefile 2013-04-29 02:36:01.000000000 +0200
- +++ linux-3.9.patch/drivers/hid/Makefile 2013-04-29 17:09:26.744173841 +0200
- @@ -101,6 +101,7 @@
- obj-$(CONFIG_HID_SMARTJOYPLUS) += hid-sjoy.o
- obj-$(CONFIG_HID_SONY) += hid-sony.o
- obj-$(CONFIG_HID_SPEEDLINK) += hid-speedlink.o
- +obj-$(CONFIG_HID_SPINELPLUS) += hid-spinelplus.o
- obj-$(CONFIG_HID_STEELSERIES) += hid-steelseries.o
- obj-$(CONFIG_HID_SUNPLUS) += hid-sunplus.o
- obj-$(CONFIG_HID_GREENASIA) += hid-gaff.o
Kann mir da bitte jemand behilflich sein die Fernbedienung zum laufen zu bringen?
EDIT: LÖSUNG