[Regression] Logitech BT mouse unusable after commit 532223c8ac57 (still in 6.1-rc8)
Message ID | 2262737.ElGaqSPkdT@kreacher |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp2876585wrr; Tue, 6 Dec 2022 07:10:31 -0800 (PST) X-Google-Smtp-Source: AA0mqf7VDivRUrh2nnNCUdphVtFHPInZLWWqv2hWzMhMv97OlzANQipeNPj9wnfpOyVDm9Cmh8Qx X-Received: by 2002:aa7:d911:0:b0:46b:c156:9945 with SMTP id a17-20020aa7d911000000b0046bc1569945mr24596386edr.350.1670339430849; Tue, 06 Dec 2022 07:10:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670339430; cv=none; d=google.com; s=arc-20160816; b=hyoLKZnh3Yhmw8bKsK55+O++1FppJ8G7Spr0I+08lVtSQfljMXWrE2vn52i94b9PlE ilcAAxp3aBtySP7dwCN6XDCjSQpQGUFPbcNQekjkpwKHuYiQZ2d6rjgmPRa9d255P4Cf Y5HttkeyySgc6UubL6HzgE9HuwfkEd4Www45UwE0aiLGVs4iy7b4BfRnnjm0o9jTkunx d9SeupSFa0HKeJTUvNJPzGpIZ/i5BrqZ9gG4+iQ1mrERI8TUidVrl96IbIGSkSGpnn7H 6/M56ijeT/6lFw3WvGdHgrwlT7Eb5rvpIBdAlcAqG3u6eSPpr3rHCOMnhtImWSb5czCq lZ1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=fhGDAmZiLg7911Y3Fb8fZ6uPfoZKp8rUJdmUYd1L+No=; b=vOSxuF5qCH3KVOFDlpY/cZp6ZKunmH+Nl3LrexZb1qt8ysMo7K/oVMcMS6rJYB+lqP OVXAMRZqSk0qU4m7TzBQQsmOoGN737h1pWgNR0MextdVK6IblZLw/gtU0FxhfrH+R96U 9wKiPuGof3qoqpkgrhyj8+kKkT3/PmKpeL/XLhJeHwawQ1pdI6ZZWqeYYFBN1j5tq4kF YexgZCGUl/R6KyznMK6nD2TLgTlZzRze+0idFb8Z9l9RJH0z5PA4S1+39gkDd6uuVDvf /AVxtMpGUev1klEUc4K2ElDGZua/iBwa6/b/todER3rEWuUdEs1sqWIbRmy46PESirZA I8xQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dz17-20020a0564021d5100b0046ae912ff2asi2359769edb.397.2022.12.06.07.09.45; Tue, 06 Dec 2022 07:10:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235204AbiLFPEv (ORCPT <rfc822;jaysivo@gmail.com> + 99 others); Tue, 6 Dec 2022 10:04:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231220AbiLFPE2 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 6 Dec 2022 10:04:28 -0500 Received: from cloudserver094114.home.pl (cloudserver094114.home.pl [79.96.170.134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E7932FC1B; Tue, 6 Dec 2022 06:58:16 -0800 (PST) Received: from localhost (127.0.0.1) (HELO v370.home.net.pl) by /usr/run/smtp (/usr/run/postfix/private/idea_relay_lmtp) via UNIX with SMTP (IdeaSmtpServer 5.1.0) id d31926fc1cae3eed; Tue, 6 Dec 2022 15:58:12 +0100 Received: from kreacher.localnet (unknown [213.134.163.187]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by v370.home.net.pl (Postfix) with ESMTPSA id D5840940A67; Tue, 6 Dec 2022 15:58:11 +0100 (CET) Authentication-Results: v370.home.net.pl; dmarc=none (p=none dis=none) header.from=rjwysocki.net Authentication-Results: v370.home.net.pl; spf=fail smtp.mailfrom=rjwysocki.net From: "Rafael J. Wysocki" <rjw@rjwysocki.net> To: Jiri Kosina <jikos@kernel.org>, Bastien Nocera <hadess@hadess.net> Cc: Filipe =?iso-8859-1?q?La=EDns?= <lains@riseup.net>, Benjamin Tissoires <benjamin.tissoires@redhat.com>, linux-input@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Thorsten Leemhuis <regressions@leemhuis.info> Subject: [Regression] Logitech BT mouse unusable after commit 532223c8ac57 (still in 6.1-rc8) Date: Tue, 06 Dec 2022 15:58:11 +0100 Message-ID: <2262737.ElGaqSPkdT@kreacher> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="UTF-8" X-CLIENT-IP: 213.134.163.187 X-CLIENT-HOSTNAME: 213.134.163.187 X-VADE-SPAMSTATE: clean X-VADE-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvhedrudeigdejtdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfjqffogffrnfdpggftiffpkfenuceurghilhhouhhtmecuudehtdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkggfgtgesthfuredttddtjeenucfhrhhomhepfdftrghfrggvlhculfdrucghhihsohgtkhhifdcuoehrjhifsehrjhifhihsohgtkhhirdhnvghtqeenucggtffrrghtthgvrhhnpeffffffkefgheehffelteeiveeffeevhfelteejvddvieejjeelvdeiheeuveeuffenucfkphepvddufedrudefgedrudeifedrudekjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvudefrddufeegrdduieefrddukeejpdhhvghlohepkhhrvggrtghhvghrrdhlohgtrghlnhgvthdpmhgrihhlfhhrohhmpedftfgrfhgrvghlucflrdcuhgihshhotghkihdfuceorhhjfiesrhhjfiihshhotghkihdrnhgvtheqpdhnsggprhgtphhtthhopeekpdhrtghpthhtohepjhhikhhosheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohephhgruggvshhssehhrgguvghsshdrnhgvthdprhgtphhtthhopehlrghinhhssehrihhsvghuphdrnhgvthdprhgtphhtthhopegsvghnjhgrmhhinhdrthhishhsohhirhgvshesrhgvughhrghtrdgtohhmpdhrtghpthhtoheplhhinhhugidqihhnphhuthesvhhgvghrrdhkvghr nhgvlhdrohhrghdprhgtphhtthhopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehrrghfrggvlheskhgvrhhnvghlrdhorhhgpdhrtghpthhtoheprhgvghhrvghsshhiohhnsheslhgvvghmhhhuihhsrdhinhhfoh X-DCC--Metrics: v370.home.net.pl 1024; Body=8 Fuz1=8 Fuz2=8 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751477838812178593?= X-GMAIL-MSGID: =?utf-8?q?1751477838812178593?= |
Series |
[Regression] Logitech BT mouse unusable after commit 532223c8ac57 (still in 6.1-rc8)
|
|
Commit Message
Rafael J. Wysocki
Dec. 6, 2022, 2:58 p.m. UTC
Bastien, Jiri, Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all the Logitech Bluetooth devices") caused my Logitech Bluetooth mouse to become unusable. Appended is the change I need to make it work again (note that adding the device ID to unhandled_hidpp_devices[] doesn't help, so there must be some significant enough difference in how the two cases are handled in the stack). Here's what I get in the log without the patch below: [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 36.710592] Bluetooth: HIDP socket layer initialized [ 36.724644] hid-generic 0005:046D:B016.0001: unknown main item tag 0x0 [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 [ 36.728036] input: Bluetooth Mouse M336/M337/M535 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 [ 36.728823] input: Bluetooth Mouse M336/M337/M535 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 [ 36.731550] hid-generic 0005:046D:B016.0001: input,hidraw0: BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on 9c:b6:d0:96:8e:c8 [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: unknown main item tag 0x0 [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: Device not connected and here's what I get with it: [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 43.642559] Bluetooth: HIDP socket layer initialized [ 43.652898] hid-generic 0005:046D:B016.0001: unknown main item tag 0x0 [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 [ 43.655025] input: Bluetooth Mouse M336/M337/M535 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 [ 43.655400] input: Bluetooth Mouse M336/M337/M535 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 [ 43.657521] hid-generic 0005:046D:B016.0001: input,hidraw0: BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on 9c:b6:d0:96:8e:c8 The only difference seems to be that in the former case the logitech-hidpp driver tries to bind to the device, but I guess that is expected. However, when the device ID is added to unhandled_hidpp_devices[], the messages look exactly like in the "good" case, but the mouse still doesn't work. Thanks, Rafael --- drivers/hid/hid-logitech-hidpp.c | 3 --- 1 file changed, 3 deletions(-)
Comments
On Tue, Dec 6, 2022 at 3:58 PM Rafael J. Wysocki <rjw@rjwysocki.net> wrote: > > Bastien, Jiri, > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all the Logitech > Bluetooth devices") caused my Logitech Bluetooth mouse to become unusable. > > Appended is the change I need to make it work again (note that adding the > device ID to unhandled_hidpp_devices[] doesn't help, so there must be some > significant enough difference in how the two cases are handled in the stack). > > Here's what I get in the log without the patch below: > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > [ 36.710592] Bluetooth: HIDP socket layer initialized > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown main item tag 0x0 > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > [ 36.731550] hid-generic 0005:046D:B016.0001: input,hidraw0: BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on 9c:b6:d0:96:8e:c8 > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: unknown main item tag 0x0 > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: Device not connected > > and here's what I get with it: > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > [ 43.642559] Bluetooth: HIDP socket layer initialized > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown main item tag 0x0 > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > [ 43.657521] hid-generic 0005:046D:B016.0001: input,hidraw0: BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on 9c:b6:d0:96:8e:c8 > > The only difference seems to be that in the former case the logitech-hidpp > driver tries to bind to the device, but I guess that is expected. However, > when the device ID is added to unhandled_hidpp_devices[], the messages look > exactly like in the "good" case, but the mouse still doesn't work. Here's what happens. - The logitech-hidpp driver is modular and is not present initially, so hid-generic probes first (successfully). - logitech-hidpp is loaded which causes the device to be reporobed due to __hid_bus_driver_added(). - Because the ->match() callback in hid-generic returns 0 for the device now, it is unbound from the device. - The probing of logitech-hidpp fails (due to an error in ->probe()). - The probing of hid-generic fails due to the failing ->match(). So in order for unhandled_hidpp_devices[] in logitech-hidpp to work with hid-generic, __check_hid_generic() needs to be amended with a change to run the ->match() callback of the "specific" driver being tried. I have a working patch for this that will be sent shortly. Thanks!
On Tue, 2022-12-06 at 15:58 +0100, Rafael J. Wysocki wrote: > Bastien, Jiri, > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all the > Logitech > Bluetooth devices") caused my Logitech Bluetooth mouse to become > unusable. > > Appended is the change I need to make it work again (note that adding > the > device ID to unhandled_hidpp_devices[] doesn't help, so there must be > some > significant enough difference in how the two cases are handled in the > stack). > > Here's what I get in the log without the patch below: > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > [ 36.710592] Bluetooth: HIDP socket layer initialized > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown main item tag > 0x0 > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse as > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 Consumer Control > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 Keyboard as > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > [ 36.731550] hid-generic 0005:046D:B016.0001: input,hidraw0: > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > 9c:b6:d0:96:8e:c8 > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: unknown > main item tag 0x0 > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: Device not > connected > > and here's what I get with it: > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > [ 43.642559] Bluetooth: HIDP socket layer initialized > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown main item tag > 0x0 > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse as > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 Consumer Control > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 Keyboard as > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > [ 43.657521] hid-generic 0005:046D:B016.0001: input,hidraw0: > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > 9c:b6:d0:96:8e:c8 > > The only difference seems to be that in the former case the logitech- > hidpp > driver tries to bind to the device, but I guess that is expected. There really shouldn't be that much difference between the 2 paths, except that hid-logitech-hidpp.c will check that the device supports HID++ in its report descriptors, and then start talking to it to check whether it's connected. Maybe the device doesn't support HID++? Can you try running src/tools/hidpp-list-features from https://github.com/cvuchener/hidpp on the hidraw device for the mouse? > However, > when the device ID is added to unhandled_hidpp_devices[], the > messages look > exactly like in the "good" case, but the mouse still doesn't work. Given that this should be called without ever talking to the device, that tells me that there might be a logic bug in the hid-core that uses ->probe. Benjamin?
On Wed, 2022-12-07 at 09:58 +0100, Rafael J. Wysocki wrote: > On Tue, Dec 6, 2022 at 3:58 PM Rafael J. Wysocki <rjw@rjwysocki.net> > wrote: > > > > Bastien, Jiri, > > > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all the > > Logitech > > Bluetooth devices") caused my Logitech Bluetooth mouse to become > > unusable. > > > > Appended is the change I need to make it work again (note that > > adding the > > device ID to unhandled_hidpp_devices[] doesn't help, so there must > > be some > > significant enough difference in how the two cases are handled in > > the stack). > > > > Here's what I get in the log without the patch below: > > > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > > [ 36.710592] Bluetooth: HIDP socket layer initialized > > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown main item > > tag 0x0 > > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse as > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 Consumer > > Control as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 Keyboard as > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > [ 36.731550] hid-generic 0005:046D:B016.0001: input,hidraw0: > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > 9c:b6:d0:96:8e:c8 > > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: unknown > > main item tag 0x0 > > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: Device > > not connected > > > > and here's what I get with it: > > > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > > [ 43.642559] Bluetooth: HIDP socket layer initialized > > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown main item > > tag 0x0 > > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse as > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 Consumer > > Control as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 Keyboard as > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > [ 43.657521] hid-generic 0005:046D:B016.0001: input,hidraw0: > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > 9c:b6:d0:96:8e:c8 > > > > The only difference seems to be that in the former case the > > logitech-hidpp > > driver tries to bind to the device, but I guess that is expected. > > However, > > when the device ID is added to unhandled_hidpp_devices[], the > > messages look > > exactly like in the "good" case, but the mouse still doesn't work. > > Here's what happens. > > - The logitech-hidpp driver is modular and is not present initially, > so hid-generic probes first (successfully). > > - logitech-hidpp is loaded which causes the device to be reporobed > due > to __hid_bus_driver_added(). > > - Because the ->match() callback in hid-generic returns 0 for the > device now, it is unbound from the device. > > - The probing of logitech-hidpp fails (due to an error in ->probe()). > > - The probing of hid-generic fails due to the failing ->match(). > > So in order for unhandled_hidpp_devices[] in logitech-hidpp to work > with hid-generic, __check_hid_generic() needs to be amended with a > change to run the ->match() callback of the "specific" driver being > tried. > > I have a working patch for this that will be sent shortly. I'm glad my belated questioning of the hid-generic fallback code was correct ;) My question about getting the output from the HID++ tool still stands though.
On Wednesday, December 7, 2022 10:04:43 AM CET Bastien Nocera wrote: > On Tue, 2022-12-06 at 15:58 +0100, Rafael J. Wysocki wrote: > > Bastien, Jiri, > > > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all the > > Logitech > > Bluetooth devices") caused my Logitech Bluetooth mouse to become > > unusable. > > > > Appended is the change I need to make it work again (note that adding > > the > > device ID to unhandled_hidpp_devices[] doesn't help, so there must be > > some > > significant enough difference in how the two cases are handled in the > > stack). > > > > Here's what I get in the log without the patch below: > > > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > > [ 36.710592] Bluetooth: HIDP socket layer initialized > > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown main item tag > > 0x0 > > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse as > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 Consumer Control > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 Keyboard as > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > [ 36.731550] hid-generic 0005:046D:B016.0001: input,hidraw0: > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > 9c:b6:d0:96:8e:c8 > > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: unknown > > main item tag 0x0 > > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: Device not > > connected > > > > and here's what I get with it: > > > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > > [ 43.642559] Bluetooth: HIDP socket layer initialized > > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown main item tag > > 0x0 > > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse as > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 Consumer Control > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 Keyboard as > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > [ 43.657521] hid-generic 0005:046D:B016.0001: input,hidraw0: > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > 9c:b6:d0:96:8e:c8 > > > > The only difference seems to be that in the former case the logitech- > > hidpp > > driver tries to bind to the device, but I guess that is expected. > > There really shouldn't be that much difference between the 2 paths, > except that hid-logitech-hidpp.c will check that the device supports > HID++ in its report descriptors, and then start talking to it to check > whether it's connected. > > Maybe the device doesn't support HID++? Quite possibly. > Can you try running src/tools/hidpp-list-features from > https://github.com/cvuchener/hidpp on the hidraw device for the mouse? OK, I'll do that. > > However, > > when the device ID is added to unhandled_hidpp_devices[], the > > messages look > > exactly like in the "good" case, but the mouse still doesn't work. > > Given that this should be called without ever talking to the device, > that tells me that there might be a logic bug in the hid-core that uses > ->probe. Benjamin? I've explained what happens in this message: https://lore.kernel.org/lkml/CAJZ5v0jBo-_XnN2m0jeVdeTi7kjr6C3OSzc1NEJgav0srD0JGQ@mail.gmail.com/ and I've just posted patches that fix the issue for me. Cheers!
On Wed, Dec 7, 2022 at 10:16 AM Rafael J. Wysocki <rjw@rjwysocki.net> wrote: > > On Wednesday, December 7, 2022 10:04:43 AM CET Bastien Nocera wrote: > > On Tue, 2022-12-06 at 15:58 +0100, Rafael J. Wysocki wrote: > > > Bastien, Jiri, > > > > > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all the > > > Logitech > > > Bluetooth devices") caused my Logitech Bluetooth mouse to become > > > unusable. > > > > > > Appended is the change I need to make it work again (note that adding > > > the > > > device ID to unhandled_hidpp_devices[] doesn't help, so there must be > > > some > > > significant enough difference in how the two cases are handled in the > > > stack). > > > > > > Here's what I get in the log without the patch below: > > > > > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > > > [ 36.710592] Bluetooth: HIDP socket layer initialized > > > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown main item tag > > > 0x0 > > > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse as > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 Consumer Control > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 Keyboard as > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > > [ 36.731550] hid-generic 0005:046D:B016.0001: input,hidraw0: > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > > 9c:b6:d0:96:8e:c8 > > > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: unknown > > > main item tag 0x0 > > > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: Device not > > > connected > > > > > > and here's what I get with it: > > > > > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 > > > [ 43.642559] Bluetooth: HIDP socket layer initialized > > > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown main item tag > > > 0x0 > > > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse as > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 Consumer Control > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 Keyboard as > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > > [ 43.657521] hid-generic 0005:046D:B016.0001: input,hidraw0: > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > > 9c:b6:d0:96:8e:c8 > > > > > > The only difference seems to be that in the former case the logitech- > > > hidpp > > > driver tries to bind to the device, but I guess that is expected. > > > > There really shouldn't be that much difference between the 2 paths, > > except that hid-logitech-hidpp.c will check that the device supports > > HID++ in its report descriptors, and then start talking to it to check > > whether it's connected. > > > > Maybe the device doesn't support HID++? > > Quite possibly. > > > Can you try running src/tools/hidpp-list-features from > > https://github.com/cvuchener/hidpp on the hidraw device for the mouse? > > OK, I'll do that. Well, I would if I had a binary. Otherwise, I have cmake 3.17 which apparently is too old, sorry.
On Wed, 2022-12-07 at 10:36 +0100, Rafael J. Wysocki wrote: > On Wed, Dec 7, 2022 at 10:16 AM Rafael J. Wysocki <rjw@rjwysocki.net> > wrote: > > > > On Wednesday, December 7, 2022 10:04:43 AM CET Bastien Nocera > > wrote: > > > On Tue, 2022-12-06 at 15:58 +0100, Rafael J. Wysocki wrote: > > > > Bastien, Jiri, > > > > > > > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all > > > > the > > > > Logitech > > > > Bluetooth devices") caused my Logitech Bluetooth mouse to > > > > become > > > > unusable. > > > > > > > > Appended is the change I need to make it work again (note that > > > > adding > > > > the > > > > device ID to unhandled_hidpp_devices[] doesn't help, so there > > > > must be > > > > some > > > > significant enough difference in how the two cases are handled > > > > in the > > > > stack). > > > > > > > > Here's what I get in the log without the patch below: > > > > > > > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) ver > > > > 1.2 > > > > [ 36.710592] Bluetooth: HIDP socket layer initialized > > > > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown main > > > > item tag > > > > 0x0 > > > > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse as > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > > > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 Consumer > > > > Control > > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > > > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 Keyboard > > > > as > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > > > [ 36.731550] hid-generic 0005:046D:B016.0001: input,hidraw0: > > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > > > 9c:b6:d0:96:8e:c8 > > > > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: > > > > unknown > > > > main item tag 0x0 > > > > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: > > > > Device not > > > > connected > > > > > > > > and here's what I get with it: > > > > > > > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) ver > > > > 1.2 > > > > [ 43.642559] Bluetooth: HIDP socket layer initialized > > > > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown main > > > > item tag > > > > 0x0 > > > > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse as > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > > > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 Consumer > > > > Control > > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > > > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 Keyboard > > > > as > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > > > [ 43.657521] hid-generic 0005:046D:B016.0001: input,hidraw0: > > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > > > 9c:b6:d0:96:8e:c8 > > > > > > > > The only difference seems to be that in the former case the > > > > logitech- > > > > hidpp > > > > driver tries to bind to the device, but I guess that is > > > > expected. > > > > > > There really shouldn't be that much difference between the 2 > > > paths, > > > except that hid-logitech-hidpp.c will check that the device > > > supports > > > HID++ in its report descriptors, and then start talking to it to > > > check > > > whether it's connected. > > > > > > Maybe the device doesn't support HID++? > > > > Quite possibly. > > > > > Can you try running src/tools/hidpp-list-features from > > > https://github.com/cvuchener/hidpp on the hidraw device for the > > > mouse? > > > > OK, I'll do that. > > Well, I would if I had a binary. > > Otherwise, I have cmake 3.17 which apparently is too old, sorry. Revert 308f240585380dd0af4d9f5bbec5eb01e103deca and it will just require 3.12. Or use Solaar from your distribution or one of the prebuilt packages (https://github.com/pwr-Solaar/Solaar/#prebuilt-packages): solaar -D /dev/hidrawX show
On Wed, Dec 7, 2022 at 10:59 AM Bastien Nocera <hadess@hadess.net> wrote: > > On Wed, 2022-12-07 at 10:36 +0100, Rafael J. Wysocki wrote: > > On Wed, Dec 7, 2022 at 10:16 AM Rafael J. Wysocki <rjw@rjwysocki.net> > > wrote: > > > > > > On Wednesday, December 7, 2022 10:04:43 AM CET Bastien Nocera > > > wrote: > > > > On Tue, 2022-12-06 at 15:58 +0100, Rafael J. Wysocki wrote: > > > > > Bastien, Jiri, > > > > > > > > > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all > > > > > the > > > > > Logitech > > > > > Bluetooth devices") caused my Logitech Bluetooth mouse to > > > > > become > > > > > unusable. > > > > > > > > > > Appended is the change I need to make it work again (note that > > > > > adding > > > > > the > > > > > device ID to unhandled_hidpp_devices[] doesn't help, so there > > > > > must be > > > > > some > > > > > significant enough difference in how the two cases are handled > > > > > in the > > > > > stack). > > > > > > > > > > Here's what I get in the log without the patch below: > > > > > > > > > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) ver > > > > > 1.2 > > > > > [ 36.710592] Bluetooth: HIDP socket layer initialized > > > > > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown main > > > > > item tag > > > > > 0x0 > > > > > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse as > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > > > > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 Consumer > > > > > Control > > > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > > > > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 Keyboard > > > > > as > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > > > > [ 36.731550] hid-generic 0005:046D:B016.0001: input,hidraw0: > > > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > > > > 9c:b6:d0:96:8e:c8 > > > > > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: > > > > > unknown > > > > > main item tag 0x0 > > > > > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: > > > > > Device not > > > > > connected > > > > > > > > > > and here's what I get with it: > > > > > > > > > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) ver > > > > > 1.2 > > > > > [ 43.642559] Bluetooth: HIDP socket layer initialized > > > > > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown main > > > > > item tag > > > > > 0x0 > > > > > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse as > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input14 > > > > > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 Consumer > > > > > Control > > > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input15 > > > > > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 Keyboard > > > > > as > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input18 > > > > > [ 43.657521] hid-generic 0005:046D:B016.0001: input,hidraw0: > > > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] on > > > > > 9c:b6:d0:96:8e:c8 > > > > > > > > > > The only difference seems to be that in the former case the > > > > > logitech- > > > > > hidpp > > > > > driver tries to bind to the device, but I guess that is > > > > > expected. > > > > > > > > There really shouldn't be that much difference between the 2 > > > > paths, > > > > except that hid-logitech-hidpp.c will check that the device > > > > supports > > > > HID++ in its report descriptors, and then start talking to it to > > > > check > > > > whether it's connected. > > > > > > > > Maybe the device doesn't support HID++? > > > > > > Quite possibly. > > > > > > > Can you try running src/tools/hidpp-list-features from > > > > https://github.com/cvuchener/hidpp on the hidraw device for the > > > > mouse? > > > > > > OK, I'll do that. > > > > Well, I would if I had a binary. > > > > Otherwise, I have cmake 3.17 which apparently is too old, sorry. > > Revert 308f240585380dd0af4d9f5bbec5eb01e103deca and it will just > require 3.12. OK It says: /dev/hidraw0 (device 0): Bluetooth Mouse M336/M337/M535 (046d:b016) HID++ 4.5 > Or use Solaar from your distribution or one of the prebuilt packages > (https://github.com/pwr-Solaar/Solaar/#prebuilt-packages): > solaar -D /dev/hidrawX show
On Wed, 2022-12-07 at 11:07 +0100, Rafael J. Wysocki wrote: > On Wed, Dec 7, 2022 at 10:59 AM Bastien Nocera <hadess@hadess.net> > wrote: > > > > On Wed, 2022-12-07 at 10:36 +0100, Rafael J. Wysocki wrote: > > > On Wed, Dec 7, 2022 at 10:16 AM Rafael J. Wysocki > > > <rjw@rjwysocki.net> > > > wrote: > > > > > > > > On Wednesday, December 7, 2022 10:04:43 AM CET Bastien Nocera > > > > wrote: > > > > > On Tue, 2022-12-06 at 15:58 +0100, Rafael J. Wysocki wrote: > > > > > > Bastien, Jiri, > > > > > > > > > > > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for > > > > > > all > > > > > > the > > > > > > Logitech > > > > > > Bluetooth devices") caused my Logitech Bluetooth mouse to > > > > > > become > > > > > > unusable. > > > > > > > > > > > > Appended is the change I need to make it work again (note > > > > > > that > > > > > > adding > > > > > > the > > > > > > device ID to unhandled_hidpp_devices[] doesn't help, so > > > > > > there > > > > > > must be > > > > > > some > > > > > > significant enough difference in how the two cases are > > > > > > handled > > > > > > in the > > > > > > stack). > > > > > > > > > > > > Here's what I get in the log without the patch below: > > > > > > > > > > > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) > > > > > > ver > > > > > > 1.2 > > > > > > [ 36.710592] Bluetooth: HIDP socket layer initialized > > > > > > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown > > > > > > main > > > > > > item tag > > > > > > 0x0 > > > > > > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse > > > > > > as > > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > 14 > > > > > > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 > > > > > > Consumer > > > > > > Control > > > > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > 15 > > > > > > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 > > > > > > Keyboard > > > > > > as > > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > 18 > > > > > > [ 36.731550] hid-generic 0005:046D:B016.0001: > > > > > > input,hidraw0: > > > > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] > > > > > > on > > > > > > 9c:b6:d0:96:8e:c8 > > > > > > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: > > > > > > unknown > > > > > > main item tag 0x0 > > > > > > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: > > > > > > Device not > > > > > > connected > > > > > > > > > > > > and here's what I get with it: > > > > > > > > > > > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) > > > > > > ver > > > > > > 1.2 > > > > > > [ 43.642559] Bluetooth: HIDP socket layer initialized > > > > > > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown > > > > > > main > > > > > > item tag > > > > > > 0x0 > > > > > > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse > > > > > > as > > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > 14 > > > > > > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 > > > > > > Consumer > > > > > > Control > > > > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > 15 > > > > > > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 > > > > > > Keyboard > > > > > > as > > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > 18 > > > > > > [ 43.657521] hid-generic 0005:046D:B016.0001: > > > > > > input,hidraw0: > > > > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] > > > > > > on > > > > > > 9c:b6:d0:96:8e:c8 > > > > > > > > > > > > The only difference seems to be that in the former case the > > > > > > logitech- > > > > > > hidpp > > > > > > driver tries to bind to the device, but I guess that is > > > > > > expected. > > > > > > > > > > There really shouldn't be that much difference between the 2 > > > > > paths, > > > > > except that hid-logitech-hidpp.c will check that the device > > > > > supports > > > > > HID++ in its report descriptors, and then start talking to it > > > > > to > > > > > check > > > > > whether it's connected. > > > > > > > > > > Maybe the device doesn't support HID++? > > > > > > > > Quite possibly. > > > > > > > > > Can you try running src/tools/hidpp-list-features from > > > > > https://github.com/cvuchener/hidpp on the hidraw device for > > > > > the > > > > > mouse? > > > > > > > > OK, I'll do that. > > > > > > Well, I would if I had a binary. > > > > > > Otherwise, I have cmake 3.17 which apparently is too old, sorry. > > > > Revert 308f240585380dd0af4d9f5bbec5eb01e103deca and it will just > > require 3.12. > > OK > > It says: > > /dev/hidraw0 (device 0): Bluetooth Mouse M336/M337/M535 (046d:b016) > HID++ 4.5 This is hidpp-list-devices, not hidpp-list-features. Which of the 3 models above is it? For comparison, this is what happens on my (newer Bluetooth LE/Bolt mouse): $ sudo ./_build/src/tools/hidpp-list-features /dev/hidraw5 Logitech Signature M650 Mouse (046d:b02a) is a HID++ 4.5 device Feature 0x01: [0x0001] Feature set Feature 0x02: [0x0003] Device FW version Feature 0x03: [0x0005] Device name Feature 0x04: [0x1d4b] Wireless device status Feature 0x05: [0x0020] Reset Feature 0x06: [0x0007] Device Friendly Name Feature 0x07: [0x1004] ? Feature 0x08: [0x1b04] Reprog controls v4 Feature 0x09: [0x1815] Hosts info Feature 0x0a: [0x2250] ? Feature 0x0b: [0x2130] Low-res wheel Feature 0x0c: [0x2201] Adjustable dpi Feature 0x0d: [0x00c3] ? Feature 0x0e: [0x1802] Device reset (hidden, internal) Feature 0x0f: [0x1803] ? (hidden, internal) Feature 0x10: [0x1806] Configurable device properties (hidden, internal) Feature 0x11: [0x1816] ? (hidden, internal) Feature 0x12: [0x1805] OOBState (hidden, internal) Feature 0x13: [0x1830] ? (hidden, internal) Feature 0x14: [0x1891] ? (hidden, internal) Feature 0x15: [0x18a1] ? (hidden, internal) Feature 0x16: [0x1e00] Enable hidden features (hidden) Feature 0x17: [0x1e02] ? (hidden, internal) Feature 0x18: [0x1e22] ? (hidden, internal) Feature 0x19: [0x1602] ? Feature 0x1a: [0x1eb0] ? (hidden, internal) Feature 0x1b: [0x1861] ? (hidden, internal) Feature 0x1c: [0x18b1] ? (hidden, internal) Feature 0x1d: [0x920a] ? (hidden, internal)
On Wed, Dec 7, 2022 at 11:51 AM Bastien Nocera <hadess@hadess.net> wrote: > > On Wed, 2022-12-07 at 11:07 +0100, Rafael J. Wysocki wrote: > > On Wed, Dec 7, 2022 at 10:59 AM Bastien Nocera <hadess@hadess.net> > > wrote: > > > > > > On Wed, 2022-12-07 at 10:36 +0100, Rafael J. Wysocki wrote: > > > > On Wed, Dec 7, 2022 at 10:16 AM Rafael J. Wysocki > > > > <rjw@rjwysocki.net> > > > > wrote: > > > > > > > > > > On Wednesday, December 7, 2022 10:04:43 AM CET Bastien Nocera > > > > > wrote: > > > > > > On Tue, 2022-12-06 at 15:58 +0100, Rafael J. Wysocki wrote: > > > > > > > Bastien, Jiri, > > > > > > > > > > > > > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for > > > > > > > all > > > > > > > the > > > > > > > Logitech > > > > > > > Bluetooth devices") caused my Logitech Bluetooth mouse to > > > > > > > become > > > > > > > unusable. > > > > > > > > > > > > > > Appended is the change I need to make it work again (note > > > > > > > that > > > > > > > adding > > > > > > > the > > > > > > > device ID to unhandled_hidpp_devices[] doesn't help, so > > > > > > > there > > > > > > > must be > > > > > > > some > > > > > > > significant enough difference in how the two cases are > > > > > > > handled > > > > > > > in the > > > > > > > stack). > > > > > > > > > > > > > > Here's what I get in the log without the patch below: > > > > > > > > > > > > > > [ 36.710574] Bluetooth: HIDP (Human Interface Emulation) > > > > > > > ver > > > > > > > 1.2 > > > > > > > [ 36.710592] Bluetooth: HIDP socket layer initialized > > > > > > > [ 36.724644] hid-generic 0005:046D:B016.0001: unknown > > > > > > > main > > > > > > > item tag > > > > > > > 0x0 > > > > > > > [ 36.725860] input: Bluetooth Mouse M336/M337/M535 Mouse > > > > > > > as > > > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > > 14 > > > > > > > [ 36.728036] input: Bluetooth Mouse M336/M337/M535 > > > > > > > Consumer > > > > > > > Control > > > > > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > > 15 > > > > > > > [ 36.728823] input: Bluetooth Mouse M336/M337/M535 > > > > > > > Keyboard > > > > > > > as > > > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > > 18 > > > > > > > [ 36.731550] hid-generic 0005:046D:B016.0001: > > > > > > > input,hidraw0: > > > > > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] > > > > > > > on > > > > > > > 9c:b6:d0:96:8e:c8 > > > > > > > [ 36.833039] logitech-hidpp-device 0005:046D:B016.0001: > > > > > > > unknown > > > > > > > main item tag 0x0 > > > > > > > [ 36.999064] logitech-hidpp-device 0005:046D:B016.0001: > > > > > > > Device not > > > > > > > connected > > > > > > > > > > > > > > and here's what I get with it: > > > > > > > > > > > > > > [ 43.642546] Bluetooth: HIDP (Human Interface Emulation) > > > > > > > ver > > > > > > > 1.2 > > > > > > > [ 43.642559] Bluetooth: HIDP socket layer initialized > > > > > > > [ 43.652898] hid-generic 0005:046D:B016.0001: unknown > > > > > > > main > > > > > > > item tag > > > > > > > 0x0 > > > > > > > [ 43.653833] input: Bluetooth Mouse M336/M337/M535 Mouse > > > > > > > as > > > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > > 14 > > > > > > > [ 43.655025] input: Bluetooth Mouse M336/M337/M535 > > > > > > > Consumer > > > > > > > Control > > > > > > > as /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > > 15 > > > > > > > [ 43.655400] input: Bluetooth Mouse M336/M337/M535 > > > > > > > Keyboard > > > > > > > as > > > > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-7/1- > > > > > > > 7:1.0/bluetooth/hci0/hci0:1/0005:046D:B016.0001/input/input > > > > > > > 18 > > > > > > > [ 43.657521] hid-generic 0005:046D:B016.0001: > > > > > > > input,hidraw0: > > > > > > > BLUETOOTH HID v12.03 Mouse [Bluetooth Mouse M336/M337/M535] > > > > > > > on > > > > > > > 9c:b6:d0:96:8e:c8 > > > > > > > > > > > > > > The only difference seems to be that in the former case the > > > > > > > logitech- > > > > > > > hidpp > > > > > > > driver tries to bind to the device, but I guess that is > > > > > > > expected. > > > > > > > > > > > > There really shouldn't be that much difference between the 2 > > > > > > paths, > > > > > > except that hid-logitech-hidpp.c will check that the device > > > > > > supports > > > > > > HID++ in its report descriptors, and then start talking to it > > > > > > to > > > > > > check > > > > > > whether it's connected. > > > > > > > > > > > > Maybe the device doesn't support HID++? > > > > > > > > > > Quite possibly. > > > > > > > > > > > Can you try running src/tools/hidpp-list-features from > > > > > > https://github.com/cvuchener/hidpp on the hidraw device for > > > > > > the > > > > > > mouse? > > > > > > > > > > OK, I'll do that. > > > > > > > > Well, I would if I had a binary. > > > > > > > > Otherwise, I have cmake 3.17 which apparently is too old, sorry. > > > > > > Revert 308f240585380dd0af4d9f5bbec5eb01e103deca and it will just > > > require 3.12. > > > > OK > > > > It says: > > > > /dev/hidraw0 (device 0): Bluetooth Mouse M336/M337/M535 (046d:b016) > > HID++ 4.5 > > This is hidpp-list-devices, not hidpp-list-features. Ah, sorry. > Which of the 3 models above is it? I have no idea. > For comparison, this is what happens on my (newer Bluetooth LE/Bolt > mouse): > $ sudo ./_build/src/tools/hidpp-list-features /dev/hidraw5 > Logitech Signature M650 Mouse (046d:b02a) is a HID++ 4.5 device > Feature 0x01: [0x0001] Feature set > Feature 0x02: [0x0003] Device FW version > Feature 0x03: [0x0005] Device name > Feature 0x04: [0x1d4b] Wireless device status > Feature 0x05: [0x0020] Reset > Feature 0x06: [0x0007] Device Friendly Name > Feature 0x07: [0x1004] ? > Feature 0x08: [0x1b04] Reprog controls v4 > Feature 0x09: [0x1815] Hosts info > Feature 0x0a: [0x2250] ? > Feature 0x0b: [0x2130] Low-res wheel > Feature 0x0c: [0x2201] Adjustable dpi > Feature 0x0d: [0x00c3] ? > Feature 0x0e: [0x1802] Device reset (hidden, internal) > Feature 0x0f: [0x1803] ? (hidden, internal) > Feature 0x10: [0x1806] Configurable device properties (hidden, > internal) > Feature 0x11: [0x1816] ? (hidden, internal) > Feature 0x12: [0x1805] OOBState (hidden, internal) > Feature 0x13: [0x1830] ? (hidden, internal) > Feature 0x14: [0x1891] ? (hidden, internal) > Feature 0x15: [0x18a1] ? (hidden, internal) > Feature 0x16: [0x1e00] Enable hidden features (hidden) > Feature 0x17: [0x1e02] ? (hidden, internal) > Feature 0x18: [0x1e22] ? (hidden, internal) > Feature 0x19: [0x1602] ? > Feature 0x1a: [0x1eb0] ? (hidden, internal) > Feature 0x1b: [0x1861] ? (hidden, internal) > Feature 0x1c: [0x18b1] ? (hidden, internal) > Feature 0x1d: [0x920a] ? (hidden, internal) # hidpp-list-features /dev/hidraw1 Bluetooth Mouse M336/M337/M535 (046d:b016) is a HID++ 4.5 device Feature 0x01: [0x0001] Feature set Feature 0x02: [0x0003] Device FW version Feature 0x03: [0x0005] Device name Feature 0x04: [0x0020] Reset Feature 0x05: [0x1e00] Enable hidden features (hidden) Feature 0x06: [0x1800] Generic Test (hidden, internal) Feature 0x07: [0x1000] Battery status Feature 0x08: [0x1b04] Reprog controls v4 Feature 0x09: [0x2100] Vertical scrolling Feature 0x0a: [0x2200] Mouse pointer Feature 0x0b: [0x2205] Pointer speed Feature 0x0c: [0x18b1] ? (hidden, internal) Feature 0x0d: [0x2121] Hi-res wheel Feature 0x0e: [0x1f03] ? (hidden, internal)
On Wed, 2022-12-07 at 12:07 +0100, Rafael J. Wysocki wrote: > # hidpp-list-features /dev/hidraw1 > Bluetooth Mouse M336/M337/M535 (046d:b016) is a HID++ 4.5 device > Feature 0x01: [0x0001] Feature set > Feature 0x02: [0x0003] Device FW version > Feature 0x03: [0x0005] Device name > Feature 0x04: [0x0020] Reset > Feature 0x05: [0x1e00] Enable hidden features (hidden) > Feature 0x06: [0x1800] Generic Test (hidden, internal) > Feature 0x07: [0x1000] Battery status > Feature 0x08: [0x1b04] Reprog controls v4 > Feature 0x09: [0x2100] Vertical scrolling > Feature 0x0a: [0x2200] Mouse pointer > Feature 0x0b: [0x2205] Pointer speed > Feature 0x0c: [0x18b1] ? (hidden, internal) > Feature 0x0d: [0x2121] Hi-res wheel > Feature 0x0e: [0x1f03] ? (hidden, internal) Would you be able to enable debugging for the hid subsystem to get some debug data when getting the version from the device fails? I can't see any problems in there that wouldn't also have impacted all the other Logitech Bluetooth devices listed in the support devices list. If the problem is a timeout, maybe we should lower the timeouts we currently have (5*HZ = 5 seconds, right?), so we can retry 5 times one second instead. Still, as I mentioned earlier, I can't reproduce the problem on another Bluetooth Classic device...
On Wed, Dec 7, 2022 at 6:19 PM Bastien Nocera <hadess@hadess.net> wrote: > > On Wed, 2022-12-07 at 12:07 +0100, Rafael J. Wysocki wrote: > > # hidpp-list-features /dev/hidraw1 > > Bluetooth Mouse M336/M337/M535 (046d:b016) is a HID++ 4.5 device > > Feature 0x01: [0x0001] Feature set > > Feature 0x02: [0x0003] Device FW version > > Feature 0x03: [0x0005] Device name > > Feature 0x04: [0x0020] Reset > > Feature 0x05: [0x1e00] Enable hidden features (hidden) > > Feature 0x06: [0x1800] Generic Test (hidden, internal) > > Feature 0x07: [0x1000] Battery status > > Feature 0x08: [0x1b04] Reprog controls v4 > > Feature 0x09: [0x2100] Vertical scrolling > > Feature 0x0a: [0x2200] Mouse pointer > > Feature 0x0b: [0x2205] Pointer speed > > Feature 0x0c: [0x18b1] ? (hidden, internal) > > Feature 0x0d: [0x2121] Hi-res wheel > > Feature 0x0e: [0x1f03] ? (hidden, internal) > > Would you be able to enable debugging for the hid subsystem to get some > debug data when getting the version from the device fails? I guess I could, but I think that the device is just quirky. At least the BT layer appears to think that it is connected. Anyway, what exactly do you need? > I can't see any problems in there that wouldn't also have impacted all > the other Logitech Bluetooth devices listed in the support devices > list. > > If the problem is a timeout, maybe we should lower the timeouts we > currently have (5*HZ = 5 seconds, right?), so we can retry 5 times one > second instead. No, it doesn't take 5 sec to get a response from it. It rather looks like __hidpp_send_report() returns an error. > > Still, as I mentioned earlier, I can't reproduce the problem on another > Bluetooth Classic device...
Linux regression tracking (Thorsten Leemhuis)
Dec. 8, 2022, 7:03 a.m. UTC |
#12
Addressed
Unaddressed
[Note: this mail contains only information for Linux kernel regression tracking. Mails like these contain '#forregzbot' in the subject to make then easy to spot and filter out. The author also tried to remove most or all individuals from the list of recipients to spare them the hassle.] On 06.12.22 15:58, Rafael J. Wysocki wrote: > > Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all the Logitech > Bluetooth devices") caused my Logitech Bluetooth mouse to become unusable. > [...] Thanks for the report. To be sure below issue doesn't fall through the cracks unnoticed, I'm adding it to regzbot, my Linux kernel regression tracking bot: #regzbot ^introduced 532223c8ac57 #regzbot title hid: Logitech BT mouse unusable #regzbot monitor: https://lore.kernel.org/all/20221207142433.1158329-1-benjamin.tissoires@redhat.com/ #regzbot ignore-activity Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) P.S.: As the Linux kernel's regression tracker I deal with a lot of reports and sometimes miss something important when writing mails like this. If that's the case here, don't hesitate to tell me in a public reply, it's in everyone's interest to set the public record straight.
On Wed, 2022-12-07 at 18:44 +0100, Rafael J. Wysocki wrote: > On Wed, Dec 7, 2022 at 6:19 PM Bastien Nocera <hadess@hadess.net> > wrote: > > > > On Wed, 2022-12-07 at 12:07 +0100, Rafael J. Wysocki wrote: > > > # hidpp-list-features /dev/hidraw1 > > > Bluetooth Mouse M336/M337/M535 (046d:b016) is a HID++ 4.5 device > > > Feature 0x01: [0x0001] Feature set > > > Feature 0x02: [0x0003] Device FW version > > > Feature 0x03: [0x0005] Device name > > > Feature 0x04: [0x0020] Reset > > > Feature 0x05: [0x1e00] Enable hidden features (hidden) > > > Feature 0x06: [0x1800] Generic Test (hidden, internal) > > > Feature 0x07: [0x1000] Battery status > > > Feature 0x08: [0x1b04] Reprog controls v4 > > > Feature 0x09: [0x2100] Vertical scrolling > > > Feature 0x0a: [0x2200] Mouse pointer > > > Feature 0x0b: [0x2205] Pointer speed > > > Feature 0x0c: [0x18b1] ? (hidden, internal) > > > Feature 0x0d: [0x2121] Hi-res wheel > > > Feature 0x0e: [0x1f03] ? (hidden, internal) > > > > Would you be able to enable debugging for the hid subsystem to get > > some > > debug data when getting the version from the device fails? > > I guess I could, but I think that the device is just quirky. > > At least the BT layer appears to think that it is connected. > > Anyway, what exactly do you need? > > > I can't see any problems in there that wouldn't also have impacted > > all > > the other Logitech Bluetooth devices listed in the support devices > > list. > > > > If the problem is a timeout, maybe we should lower the timeouts we > > currently have (5*HZ = 5 seconds, right?), so we can retry 5 times > > one > > second instead. > > No, it doesn't take 5 sec to get a response from it. It rather looks > like __hidpp_send_report() returns an error. Adding "debug" on the kernel command-line should be enough to get debug out of hidpp_send_message_sync(): https://stackoverflow.com/a/63682160 Either that or turn all the dbg_hid() into hid_err() if you're going to be compiling the kernel. We're mainly interested in the error code from the device, as that's what I'm guessing is caused the error to propagate. > > Still, as I mentioned earlier, I can't reproduce the problem on > > another > > Bluetooth Classic device...
Linux regression tracking (Thorsten Leemhuis)
Dec. 9, 2022, 6:34 a.m. UTC |
#14
Addressed
Unaddressed
On 08.12.22 08:03, Thorsten Leemhuis wrote: > [Note: this mail contains only information for Linux kernel regression > tracking. Mails like these contain '#forregzbot' in the subject to make > then easy to spot and filter out. The author also tried to remove most > or all individuals from the list of recipients to spare them the hassle.] > > On 06.12.22 15:58, Rafael J. Wysocki wrote: >> >> Commit 532223c8ac57 ("HID: logitech-hidpp: Enable HID++ for all the Logitech >> Bluetooth devices") caused my Logitech Bluetooth mouse to become unusable. >> [...] > > Thanks for the report. To be sure below issue doesn't fall through the > cracks unnoticed, I'm adding it to regzbot, my Linux kernel regression > tracking bot: > > #regzbot ^introduced 532223c8ac57 > #regzbot title hid: Logitech BT mouse unusable > #regzbot monitor: > https://lore.kernel.org/all/20221207142433.1158329-1-benjamin.tissoires@redhat.com/ > #regzbot ignore-activity #regzbot fix: a9d9e46c755a1
On Thu, 2022-12-08 at 16:20 +0100, Bastien Nocera wrote: > On Wed, 2022-12-07 at 18:44 +0100, Rafael J. Wysocki wrote: > > On Wed, Dec 7, 2022 at 6:19 PM Bastien Nocera <hadess@hadess.net> > > wrote: > > > > > > On Wed, 2022-12-07 at 12:07 +0100, Rafael J. Wysocki wrote: > > > > # hidpp-list-features /dev/hidraw1 > > > > Bluetooth Mouse M336/M337/M535 (046d:b016) is a HID++ 4.5 > > > > device > > > > Feature 0x01: [0x0001] Feature set > > > > Feature 0x02: [0x0003] Device FW version > > > > Feature 0x03: [0x0005] Device name > > > > Feature 0x04: [0x0020] Reset > > > > Feature 0x05: [0x1e00] Enable hidden features (hidden) > > > > Feature 0x06: [0x1800] Generic Test (hidden, internal) > > > > Feature 0x07: [0x1000] Battery status > > > > Feature 0x08: [0x1b04] Reprog controls v4 > > > > Feature 0x09: [0x2100] Vertical scrolling > > > > Feature 0x0a: [0x2200] Mouse pointer > > > > Feature 0x0b: [0x2205] Pointer speed > > > > Feature 0x0c: [0x18b1] ? (hidden, internal) > > > > Feature 0x0d: [0x2121] Hi-res wheel > > > > Feature 0x0e: [0x1f03] ? (hidden, internal) > > > > > > Would you be able to enable debugging for the hid subsystem to > > > get > > > some > > > debug data when getting the version from the device fails? > > > > I guess I could, but I think that the device is just quirky. > > > > At least the BT layer appears to think that it is connected. > > > > Anyway, what exactly do you need? > > > > > I can't see any problems in there that wouldn't also have > > > impacted > > > all > > > the other Logitech Bluetooth devices listed in the support > > > devices > > > list. > > > > > > If the problem is a timeout, maybe we should lower the timeouts > > > we > > > currently have (5*HZ = 5 seconds, right?), so we can retry 5 > > > times > > > one > > > second instead. > > > > No, it doesn't take 5 sec to get a response from it. It rather > > looks > > like __hidpp_send_report() returns an error. > > Adding "debug" on the kernel command-line should be enough to get > debug > out of hidpp_send_message_sync(): > https://stackoverflow.com/a/63682160 > > Either that or turn all the dbg_hid() into hid_err() if you're going > to > be compiling the kernel. > > We're mainly interested in the error code from the device, as that's > what I'm guessing is caused the error to propagate. Can you also check whether you had: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?id=8b7e58409b1813c58eea542d9f3b8db35b4ac1f7 in your git tree? Would be great to know whether that commit helps at all. Cheers > > > Still, as I mentioned earlier, I can't reproduce the problem on > > > another > > > Bluetooth Classic device... >
On Tue, Dec 13, 2022 at 5:14 PM Bastien Nocera <hadess@hadess.net> wrote: > > On Thu, 2022-12-08 at 16:20 +0100, Bastien Nocera wrote: > > On Wed, 2022-12-07 at 18:44 +0100, Rafael J. Wysocki wrote: > > > On Wed, Dec 7, 2022 at 6:19 PM Bastien Nocera <hadess@hadess.net> > > > wrote: > > > > > > > > On Wed, 2022-12-07 at 12:07 +0100, Rafael J. Wysocki wrote: > > > > > # hidpp-list-features /dev/hidraw1 > > > > > Bluetooth Mouse M336/M337/M535 (046d:b016) is a HID++ 4.5 > > > > > device > > > > > Feature 0x01: [0x0001] Feature set > > > > > Feature 0x02: [0x0003] Device FW version > > > > > Feature 0x03: [0x0005] Device name > > > > > Feature 0x04: [0x0020] Reset > > > > > Feature 0x05: [0x1e00] Enable hidden features (hidden) > > > > > Feature 0x06: [0x1800] Generic Test (hidden, internal) > > > > > Feature 0x07: [0x1000] Battery status > > > > > Feature 0x08: [0x1b04] Reprog controls v4 > > > > > Feature 0x09: [0x2100] Vertical scrolling > > > > > Feature 0x0a: [0x2200] Mouse pointer > > > > > Feature 0x0b: [0x2205] Pointer speed > > > > > Feature 0x0c: [0x18b1] ? (hidden, internal) > > > > > Feature 0x0d: [0x2121] Hi-res wheel > > > > > Feature 0x0e: [0x1f03] ? (hidden, internal) > > > > > > > > Would you be able to enable debugging for the hid subsystem to > > > > get > > > > some > > > > debug data when getting the version from the device fails? > > > > > > I guess I could, but I think that the device is just quirky. > > > > > > At least the BT layer appears to think that it is connected. > > > > > > Anyway, what exactly do you need? > > > > > > > I can't see any problems in there that wouldn't also have > > > > impacted > > > > all > > > > the other Logitech Bluetooth devices listed in the support > > > > devices > > > > list. > > > > > > > > If the problem is a timeout, maybe we should lower the timeouts > > > > we > > > > currently have (5*HZ = 5 seconds, right?), so we can retry 5 > > > > times > > > > one > > > > second instead. > > > > > > No, it doesn't take 5 sec to get a response from it. It rather > > > looks > > > like __hidpp_send_report() returns an error. > > > > Adding "debug" on the kernel command-line should be enough to get > > debug > > out of hidpp_send_message_sync(): > > https://stackoverflow.com/a/63682160 > > > > Either that or turn all the dbg_hid() into hid_err() if you're going > > to > > be compiling the kernel. > > > > We're mainly interested in the error code from the device, as that's > > what I'm guessing is caused the error to propagate. > > Can you also check whether you had: > https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?id=8b7e58409b1813c58eea542d9f3b8db35b4ac1f7 > in your git tree? > > Would be great to know whether that commit helps at all. No, it's not present in the kernels I've tested so far.
Index: linux-pm/drivers/hid/hid-logitech-hidpp.c =================================================================== --- linux-pm.orig/drivers/hid/hid-logitech-hidpp.c +++ linux-pm/drivers/hid/hid-logitech-hidpp.c @@ -4367,9 +4367,6 @@ static const struct hid_device_id hidpp_ { /* MX5500 keyboard over Bluetooth */ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH, 0xb30b), .driver_data = HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS }, - - { /* And try to enable HID++ for all the Logitech Bluetooth devices */ - HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_ANY, USB_VENDOR_ID_LOGITECH, HID_ANY_ID) }, {} };