lkml.org 
[lkml]   [2021]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] HID: logitech-dj: add support for the new lightspeed connection iteration
    Date
    From: Filipe Laíns <lains@riseup.net>

    This new connection type is the new iteration of the Lightspeed
    connection and will probably be used in some of the newer gaming
    devices. It is currently use in the G Pro X Superlight.

    This patch should be backported to older versions, as currently the
    driver will panic when seing the unsupported connection. This isn't
    an issue when using the receiver that came with the device, as Logitech
    has been using different PIDs when they change the connection type, but
    is an issue when using a generic receiver (well, generic Lightspeed
    receiver), which is the case of the one in the Powerplay mat. Currently,
    the only generic Ligthspeed receiver we support, and the only one that
    exists AFAIK, is ther Powerplay.

    As it stands, the driver will panic when seeing a G Pro X Superlight
    connected to the Powerplay receiver and won't send any input events to
    userspace! The kernel will warn about this so the issue should be easy
    to identify, but it is still very worrying how hard it will fail :(

    [915977.398471] logitech-djreceiver 0003:046D:C53A.0107: unusable device of type UNKNOWN (0x0f) connected on slot 1

    Signed-off-by: Filipe Laíns <lains@riseup.net>
    ---
    drivers/hid/hid-logitech-dj.c | 7 ++++++-
    1 file changed, 6 insertions(+), 1 deletion(-)

    diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c
    index 45e7e0bdd382..1401ee2067ca 100644
    --- a/drivers/hid/hid-logitech-dj.c
    +++ b/drivers/hid/hid-logitech-dj.c
    @@ -994,7 +994,12 @@ static void logi_hidpp_recv_queue_notif(struct hid_device *hdev,
    workitem.reports_supported |= STD_KEYBOARD;
    break;
    case 0x0d:
    - device_type = "eQUAD Lightspeed 1_1";
    + device_type = "eQUAD Lightspeed 1.1";
    + logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem);
    + workitem.reports_supported |= STD_KEYBOARD;
    + break;
    + case 0x0f:
    + device_type = "eQUAD Lightspeed 1.2";
    logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem);
    workitem.reports_supported |= STD_KEYBOARD;
    break;
    --
    2.30.0
    \
     
     \ /
      Last update: 2021-01-23 19:05    [W:3.969 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site