Messages in this thread Patch in this message | | | Subject | Re: [BUG] Kernel log flooded by message "logitech-djreceiver 0003:046D:C53A.000C: logi_dj_hidpp_event: invalid device index:7" | From | Filipe Laíns <> | Date | Mon, 10 Feb 2020 12:38:32 +0000 |
| |
On Mon, 2020-02-10 at 13:21 +0500, Mikhail Gavrilov wrote: > Kernel log flooded by message > logitech-djreceiver 0003:046D:C53A.000C: logi_dj_hidpp_event: invalid > device index:7 > This happens when the mouse is idle. > And it started since I begin using the mouse pad with Power Play > technology. > > > Kernel ver: 5.6 pre RC > -- > Best Regards, > Mike Gavrilov.
Hello Mike,
Yes, the Powerplay mat exports a static HID++ 2.0 device with index 7 to configure the led on the mat. The current code expects devices to have a maximum index of 6, which is the maximum index of pairable devices.
I already submitted a patch adding support for the Logitech G Powerplay mat but it wasn't been upstreamed it. I will attach it in case you want to try it.
Cheers, Filipe Laíns
--- Author: Filipe Laíns <lains@archlinux.org> Date: Sun Jan 12 20:15:41 2020 +0000
HID: logitech-dj: add support for the static device in the Powerplay mat/receiver
The Logitech G Powerplay has a lightspeed receiver with a static HID++ device with ID 7 attached to it to. It is used to configure the led on the mat. For this reason I increased the max number of devices.
Signed-off-by: Filipe Laíns <lains@archlinux.org>
diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c index bb50d6e7745b..79294b873057 100644 --- a/drivers/hid/hid-logitech-dj.c +++ b/drivers/hid/hid-logitech-dj.c @@ -16,11 +16,11 @@ #include <asm/unaligned.h> #include "hid-ids.h"
-#define DJ_MAX_PAIRED_DEVICES 6 +#define DJ_MAX_PAIRED_DEVICES 7 #define DJ_MAX_NUMBER_NOTIFS 8 #define DJ_RECEIVER_INDEX 0 #define DJ_DEVICE_INDEX_MIN 1 -#define DJ_DEVICE_INDEX_MAX 6 +#define DJ_DEVICE_INDEX_MAX 7
#define DJREPORT_SHORT_LENGTH 15 #define DJREPORT_LONG_LENGTH 32 @@ -980,6 +980,11 @@ static void logi_hidpp_recv_queue_notif(struct hid_device *hdev, break; }
+ /* custom receiver device (eg. powerplay) */ + if (hidpp_report->device_index == 7) { + workitem.reports_supported |= HIDPP; + } + if (workitem.type == WORKITEM_TYPE_EMPTY) { hid_warn(hdev, "unusable device of type %s (0x%02x) connected on slot %d",[unhandled content-type:application/pgp-signature] | |