Issue metadata
Sign in to add a comment
|
Logitech T650 Wireless Trackpad does not support multi-finger gestures on chell
Reported by
robby.n....@gmail.com,
Jun 7 2016
|
||||||||||||||||||||||
Issue descriptionChrome Version: 50.0.2661.103 (64-bit) Chrome OS Version: 7978.74.0 (Official Build) stable-channel chell Chrome OS Platform: HP Chromebook 13 G1 Network info: N/A Please specify Cr-* of the system to which this bug/feature applies (add the label below). Steps To Reproduce: (1) Plug in Logitech Unifying Reciever (2) Use Logitech Unifying App to Pair T650 Trackpad (3) Complete Set Up Expected Result: This device has worked just as expected (as in exactly like the built in trackpad on the device) on every Chromebook, Chromebox and Chromebase I've tried it with, and that is close to all of them. Normally the trackpad behaves exactly like the built in trackpad in relation to multi-finger gestures and clicks. Actual Result: On this Chromebook only (I have a few other devices I've tried it with just moments ago) the multi-finger gestures don't work. 2-finger clicks do nothing, two-finger scrolls don't follow "Australian Scrolling" although it is enabled. Three-finger gestures don't work except 3 fingers upward, and that opens the search box (just like hitting the Windows key on other Windows devices). How frequently does this problem reproduce? Always What is the impact to the user, and is there a workaround? If so, what is it? No workaround. I'm just not using it and using a regular mouse instead. Please provide any additional information below. Attach a screen shot or log if possible.
,
Jun 10 2016
@robby - can you please file a feedback report while the touchpad is connected and just after trying some muti-finger gestures? alt+shift+i. Then reply this bug so we can link the two.
,
Jun 10 2016
This is unfortunately working as intended unless someone wants to step up and get it working again. We were carrying forward patches for this device but they stopped applying cleanly.
,
Jul 6 2016
,
Jul 8 2016
Can you point to the the patches you were carrying forward?
,
Jul 8 2016
I don't want to miss a patch, but I can say that it's the patches that provide the files in drivers/hid that start with 'hid-logitech'. You can use kernel 3.10 as a reference: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.10/drivers/hid/ I was pulling them forward, but then I ran into some issues with the most recent kernel versions and didn't see a clear way to resolve them, but I also didn't put too much effort in b/c we have a lot of other more urgent things. If you can get these working, I would love to take them into our tree. Even better would be to get them upstream so that we don't need to keep doing this each release.
,
Jul 8 2016
Thanks. I do love this trackpad so want to keep it working. I'll see what I can do (no promises on time).
,
Jul 8 2016
The device works correctly on my Fedora 24 machine, running kernel 4.6.3. Does Chromium OS need anything special outside of the standard /dev/input/event ABS_MT_* events? Because it's working there. So maybe things are already upstream? I will try a 4.4 kernel virtual machine. chell appears to be kernel 3.18, which may just not have support. Indeed, I found it: commit 586bdc4e4f15fec37dc37167d6f314ea94aa14d1 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 13:18:33 2014 -0400 HID: logitech-hidpp: Add Wireless Touchpad T650 support All the bits are now in place to add the support of the Touchpad T650. The creation/population of the input device is delayed until the device is ready. The T650 uses the special HID++ reporting protocol, so activate this on connect. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> $ git tag --contains 586bdc4e4f15fec37dc37167d6f314ea94aa14d1 v3.19-rc1 ... Missed it by that much. After testing 4.4, the next strategy would be to try to backport.
,
Jul 8 2016
,
Jul 8 2016
Seems to work fine in amd64-generic. So 4.4 looks good. Just need to backport :)
,
Jul 8 2016
agoode, will you take a look at doing the backporting?
,
Jul 8 2016
Yup. 3.18 for sure. Any others needed?
,
Jul 8 2016
Looks like 3.14 has it, so 3.18 would be the only one, I think. Thanks so much! Once you get this in let me know. It's low risk so if you want it going to stable channel sooner we can look into cherry-picking it.
,
Jul 14 2016
agoode, I haven't seen any code reviews from you. Any chance of uploading the backport to 3.18? Thanks!
,
Jul 15 2016
Working on this now. First I am building a 3.18 amd64-generic image, then I will do the backports.
,
Jul 15 2016
There are something like 20 patches to backport. What's the best way to do it? Probably want most of these: https://github.com/torvalds/linux/commits/v4.4/drivers/hid/hid-logitech-hidpp.c I'm looking at https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/kernel-faq#TOC-How-do-I-backport-an-upstream-patch- I looks like I'd manually cherry-pick, but that seems tedious.
,
Jul 15 2016
you should be able to add linus' tree as a remote, rebase the patches, and then (with some git fu i don't have) add a prefix to each subject (I think UPSTREAM, but could be wrong. you can git log to see). Then upload them all without any formatting changes and we should be able to do the review pretty quickly.
,
Jul 15 2016
~/chromiumos/src/third_party/kernel/v4.4/drivers/hid ((2111d26...)) $ git log --reverse v3.18.. --pretty=format:"%h" hid-logitech-hidpp.c hid-logitech-dj.c > ~/chromiumos/src/third_party/kernel/v3.18/z.txt
,
Jul 15 2016
That makes the list of relevant commits, but there are 2 merges in there that are causing problems.
,
Jul 15 2016
Making progress. I should have something soon.
,
Jul 15 2016
I've just about got it working. There are 30 commits. Should I squash them or make 30 reviews?
,
Jul 15 2016
Nice! You want to avoid editing the commits you rebase onto 3.18. So, do not squash. If you absolutely need to edit a commit, that could be okay, but we'll need to review it more carefully. basically, we want to make it easy for future people to keep backporting more things. Thanks for your efforts here!
,
Jul 16 2016
Still haven't gotten it working. The trackpad doesn't match against the driver. Possibly some generic HID logic I need to alter. I will also have to redo the ~30 commits to make sure I have the correct UPSTREAM vs BACKPORT labels. But first I want to get it working.
,
Jul 16 2016
Found the missing patch. It's working now. I'll get the patches ready.
,
Jul 18 2016
Just +2ed almost all the patches. Very minor comments on the other two. Big thanks for doing this! It's rare when users complain and then deliver a fix themselves. Of course, not all users are chromium committers, heh :)
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/d72109101aeafcecaebef9f33c8e41bea44fe11c commit d72109101aeafcecaebef9f33c8e41bea44fe11c Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:26 2014 UPSTREAM: HID: logitech-dj: merge header file into the source There is no point in keeping the header in a separate file, nobody but hid-logitech-dj should have access to its content. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 8cb3746a6ee28c7b4d061689e13b8e5be80b14cc) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: Ia5ece79f064b7ac6ea4ddabadd956aa9c0381d66 Reviewed-on: https://chromium-review.googlesource.com/361102 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/d72109101aeafcecaebef9f33c8e41bea44fe11c/drivers/hid/hid-logitech-dj.c [delete] https://crrev.com/0f01bd9b1454182ac6a542c740f7c560d4373b22/drivers/hid/hid-logitech-dj.h
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0f01bd9b1454182ac6a542c740f7c560d4373b22 commit 0f01bd9b1454182ac6a542c740f7c560d4373b22 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:25 2014 UPSTREAM: HID: logitech-dj: rely on hid groups to separate receivers from dj devices Several benefits here: - we can drop the macro is_dj_device: I never been really conviced by this macro as we could fall into a null pointer anytime. Anyway time showed that this never happened. - we can simplify the hid driver logitech-djdevice, and make it aware of any new receiver VID/PID. - we can use the Wireless PID of the DJ device as the product id of the hid device, this way the sysfs will differentiate between different DJ devices. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tisssoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit d610274b0301e5ef35811fa736036d022f707564) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I09104b4edc43e8c584df4bef38e4271a9f187f9f Reviewed-on: https://chromium-review.googlesource.com/361101 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/0f01bd9b1454182ac6a542c740f7c560d4373b22/drivers/hid/hid-logitech-dj.c [modify] https://crrev.com/0f01bd9b1454182ac6a542c740f7c560d4373b22/drivers/hid/hid-logitech-dj.h [modify] https://crrev.com/0f01bd9b1454182ac6a542c740f7c560d4373b22/include/linux/hid.h
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0919e1869c74115aecd482aca90a8757626b27ee commit 0919e1869c74115aecd482aca90a8757626b27ee Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:24 2014 UPSTREAM: HID: core: do not scan reports if the group is already set This allows the transport layer (I have in mind hid-logitech-dj and uhid) to set the group before it is added to the hid bus. This way, it can bypass the hid_scan_report() call, and choose in advance which driver will handle the newly created hid device. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tisssoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 9578f41aeaee5010384f4f8484da1566e2ce4901) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: If10718822e70a00143127ea0207ff747683328d3 Reviewed-on: https://chromium-review.googlesource.com/361100 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/0919e1869c74115aecd482aca90a8757626b27ee/drivers/hid/hid-core.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/7097ca19061ad27bb4bff060b6c618d6fa22711d commit 7097ca19061ad27bb4bff060b6c618d6fa22711d Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Thu Sep 03 13:08:29 2015 BACKPORT: HID: logitech-hidpp: split HIDPP_QUIRK_DELAYED_INIT in two HIDPP_QUIRK_DELAYED_INIT means two things currently: - we want to delay the initialization process - we do not want hid to create an input device based on the report descriptor. This should actually be 2 different quirks so we can have special connect events while still having HID creating the input for us. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 580a7e82f08c38837dbe08374d649329d3de698b) Signed-off-by: Adam Goode <agoode@chromium.org> Conflicts: drivers/hid/hid-logitech-hidpp.c Change-Id: I24bc4dba98e0c76c8ed45133ffdc8b54a060b97f Reviewed-on: https://chromium-review.googlesource.com/361128 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/7097ca19061ad27bb4bff060b6c618d6fa22711d/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/435ebc82bbda5f803ae0c65907477dd5ad1ca742 commit 435ebc82bbda5f803ae0c65907477dd5ad1ca742 Author: Julia Lawall <Julia.Lawall@lip6.fr> Date: Sun Apr 05 12:06:29 2015 UPSTREAM: HID: logitech-hidpp: fix error return code Return a negative error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> BUG= chromium:617976 TEST=build Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit b832da56024b33e6c7f06f766c59d90e4f377a9b) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I3a9c67217958394d5168efdb2b0a71ff6711176e Reviewed-on: https://chromium-review.googlesource.com/361127 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/435ebc82bbda5f803ae0c65907477dd5ad1ca742/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4b3fab216a1290a581e753583df35fcfdf2bd028 commit 4b3fab216a1290a581e753583df35fcfdf2bd028 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Thu Mar 26 16:41:57 2015 UPSTREAM: HID: logitech-hidpp: add a module parameter to keep firmware gestures The Logitech T650 used to report 3 fingers swipes to the up as a press on the Super key. When we switched the touchpad to the raw mode, we also disable such firmware gesture and some users may rely on it. Unfortunately, 3 finger swipes are still not supported in most of the Linux environments, which means that we disabled a feature of the touchpad. Allow users to revert the raw reporting mode and keep going with the firmware gestures by providing a new module parameter. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 9188dbaed68a4b23dc96eba165265c08caa7dc2a) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I547a7c9da954cd56620be3cef25e6010dcec1145 Reviewed-on: https://chromium-review.googlesource.com/361126 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/4b3fab216a1290a581e753583df35fcfdf2bd028/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/7cb3275fe82719e829e2944d5157d4e65042dce0 commit 7cb3275fe82719e829e2944d5157d4e65042dce0 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Thu Jan 08 19:37:12 2015 UPSTREAM: HID: logitech-hidpp: store the name of the device in struct hidpp If a disconnect occurs while getting the actual name of the device (which can take several HID transactions), the name of the device will be the hid name, provided by the Unifying Receiver. This means that in some cases, the user space will see a different name that what it usually sees when there is no disconnect. We should store the name of the device in the struct hidpp. That way, if a disconnect occurs while we are accessing the name, hidpp_connect_event() can fail, and the input node is not created. The input node will be created only if we have a connection which lasts long enough to retrieve all the requested information: name, protocol, and specific configuration. BUG= chromium:617976 TEST=build Reviewed-by: Peter Wu <peter@lekensteyn.nl> Tested-by: Peter Wu <peter@lekensteyn.nl> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 005b3f574a0a53f476a62da5c861c1c9bf8177b7) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: Ia29a1485156d4e01134a1dda60a0ecd286109cc1 Reviewed-on: https://chromium-review.googlesource.com/361125 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/7cb3275fe82719e829e2944d5157d4e65042dce0/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b4c1fcb4e650be8f3fe7ee0ae11055b35fc630b9 commit b4c1fcb4e650be8f3fe7ee0ae11055b35fc630b9 Author: Peter Wu <peter@lekensteyn.nl> Date: Tue Dec 16 00:50:16 2014 UPSTREAM: HID: logitech-hidpp: avoid unintended fall-through Add a return to avoid a fall-through. Introduced in commit 57ac86cf52e903d9e3e0f12b34c814cce6b65550 ("HID: logitech-hidpp: add support of the first Logitech Wireless Touchpad"). BUG= chromium:617976 TEST=build Signed-off-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 8abd820503e4befb28d0722f8712bdbec57e63a8) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I8b5e2041974cfde9b17f4a8dc4452d00301dd792 Reviewed-on: https://chromium-review.googlesource.com/361124 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/b4c1fcb4e650be8f3fe7ee0ae11055b35fc630b9/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c9a3135bb5f46db72f5f8de805a7aa77b460c3fd commit c9a3135bb5f46db72f5f8de805a7aa77b460c3fd Author: Peter Wu <peter@lekensteyn.nl> Date: Tue Dec 16 00:50:14 2014 UPSTREAM: HID: logitech-hidpp: detect HID++ 2.0 errors too Devices speaking HID++ 2.0 report a different error code (0xff). Detect these errors too to avoid 5 second delays when the device reports an error. Caught by... well, a bug in the QEMU emulation of this receiver. Renamed fap to rap for HID++ 1.0 errors because it is more logical, it has no functional difference. BUG= chromium:617976 TEST=build Signed-off-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit f677bb150c2f7b96ebcd377cd722e9d2649e9400) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I08191e0a69ef64f8fa6d5d1dff356ed495645ca8 Reviewed-on: https://chromium-review.googlesource.com/361123 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/c9a3135bb5f46db72f5f8de805a7aa77b460c3fd/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/177ace5d322d1b681405bba9751f1bdef6fdcbe5 commit 177ace5d322d1b681405bba9751f1bdef6fdcbe5 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Thu Dec 11 22:39:59 2014 UPSTREAM: HID: logitech-hidpp: prefix the name with "Logitech" Current names are reported as "K750", "M705", and it can be misleading for the users when they look at their input device list. Prefixing the names with "Logitech " makes things better. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit b1ac9487c824a212f3b5bb80df5ac578243b0e21) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: If4735165b4b032c7e3bfe904f39a30e0d210c1e6 Reviewed-on: https://chromium-review.googlesource.com/361122 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/177ace5d322d1b681405bba9751f1bdef6fdcbe5/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c00c49641924541e0acd4aac3e22cc65584b0d9e commit c00c49641924541e0acd4aac3e22cc65584b0d9e Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Dec 16 22:06:01 2014 UPSTREAM: HID: logitech-hidpp: bail out if wtp_connect fails If wtp_connect() fails, that means most of the time that the device has been disconnected. Subsequent attempts to contact the device will fail too, so it's simpler to bail out earlier. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit bf159447537ed234afb569f91f5fd8c54ffa4c36) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: Iace3f90e151041dcb4ea18595be35d89914c0081 Reviewed-on: https://chromium-review.googlesource.com/361121 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/c00c49641924541e0acd4aac3e22cc65584b0d9e/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f8830301dbceb17c099209b8cf67d606586ad695 commit f8830301dbceb17c099209b8cf67d606586ad695 Author: Peter Wu <peter@lekensteyn.nl> Date: Tue Dec 16 23:23:51 2014 UPSTREAM: HID: logitech-hidpp: separate HID++ from WTP processing Previously wtp_raw_event would be called through hidpp_raw_hidpp_event (for the touchpad report) and hidpp_raw_event (for the mouse report). This patch removes one calling surface, making a clearer distinction between "generic HID++ processing" (matching internal reports) and device-specific event processing. BUG= chromium:617976 TEST=build Suggested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit e529fea919872c6568bbda7873c64ac5d807ee83) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: Ic50626b15dd71d70553de65d6b27c4d50cb84bb8 Reviewed-on: https://chromium-review.googlesource.com/361120 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/f8830301dbceb17c099209b8cf67d606586ad695/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/241fdcae48648baa3bc28bb68353e85045dea987 commit 241fdcae48648baa3bc28bb68353e85045dea987 Author: Peter Wu <peter@lekensteyn.nl> Date: Tue Dec 16 15:55:22 2014 UPSTREAM: HID: logitech-hidpp: check WTP report length Malicious USB devices can send bogus reports smaller than the expected buffer size. Ensure that the length for WTP reports is valid to avoid reading out of bounds. BUG= chromium:617976 TEST=build Signed-off-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 0b3f6569a560aa68c9c50cae0e1bc401f7ee699f) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I6ab4d28e70b02e63c86c1e87089a2df374816e9c Reviewed-on: https://chromium-review.googlesource.com/361119 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/241fdcae48648baa3bc28bb68353e85045dea987/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/3581fa76a8cd225d2079cac8ba979cf08a0bef5b commit 3581fa76a8cd225d2079cac8ba979cf08a0bef5b Author: Peter Wu <peter@lekensteyn.nl> Date: Tue Dec 16 15:55:21 2014 UPSTREAM: HID: logitech-dj: check report length Malicious USB devices can send bogus reports smaller than the expected buffer size. Ensure that the length is valid to avoid reading out of bounds. BUG= chromium:617976 TEST=build Signed-off-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit f254ae938ea479739572790a4e9b0ca86d16249f) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I7d30af3d19f579a91483d6efe2bda5cf25d5e6d4 Reviewed-on: https://chromium-review.googlesource.com/361118 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/3581fa76a8cd225d2079cac8ba979cf08a0bef5b/drivers/hid/hid-logitech-dj.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/78184a5413f217908440130b8905426858dcc70c commit 78184a5413f217908440130b8905426858dcc70c Author: Peter Wu <peter@lekensteyn.nl> Date: Thu Dec 11 12:51:20 2014 UPSTREAM: HID: logitech-hidpp: disable io in probe error path Balance a hid_device_io_start() call with hid_device_io_stop() in the error path. This avoids processing of HID reports when the probe fails which possibly leads to invalid memory access in hid_device_probe() as report_enum->report_id_hash might already be freed via hid_close_report(). hid_set_drvdata() is called before wtp_allocate, be consistent and clear drvdata too on the error path of wtp_allocate. BUG= chromium:617976 TEST=build Signed-off-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit f486d9dbcc8bc2fc14aac0bf6e24637485107496) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: If4069b002e2cf8bcbf2a03a6862aa2b1f57fd6d6 Reviewed-on: https://chromium-review.googlesource.com/361117 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/78184a5413f217908440130b8905426858dcc70c/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/58ef517286e70d174dd8a29fb5aada2ec995c598 commit 58ef517286e70d174dd8a29fb5aada2ec995c598 Author: Peter Wu <peter@lekensteyn.nl> Date: Thu Dec 11 12:51:19 2014 UPSTREAM: HID: logitech-hidpp: add boundary check for name retrieval The HID response has a limited size. Do not trust the value returned by hardware, check that it really fits in the message. BUG= chromium:617976 TEST=build Signed-off-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 3a034a7a7d61c30809255c1fc27d47d52c8c1bb6) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I238afd89c667dc58ce9ca0607da536e573220fe4 Reviewed-on: https://chromium-review.googlesource.com/361116 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/58ef517286e70d174dd8a29fb5aada2ec995c598/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a082e53abe98f59d698f4999340e0754e1d1973f commit a082e53abe98f59d698f4999340e0754e1d1973f Author: Peter Wu <peter@lekensteyn.nl> Date: Thu Dec 11 12:51:18 2014 UPSTREAM: HID: logitech-hidpp: check name retrieval return code hidpp_devicenametype_get_device_name() may return a negative value on protocol errors (for example, when the device is powered off). Explicitly check this condition to avoid a long-running loop. (0 cannot be returned as __name_length - index > 0, but check for it anyway as it would otherwise result in an infinite loop.) BUG= chromium:617976 TEST=build Signed-off-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 1430ee73b566a30bc210501d1e0e99c519707f1e) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: Ib8f18a58e2395683fbc38564046633b98443dc9d Reviewed-on: https://chromium-review.googlesource.com/361115 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/a082e53abe98f59d698f4999340e0754e1d1973f/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/7c563c91609bbfe5931f6a93c93412c8ded324b3 commit 7c563c91609bbfe5931f6a93c93412c8ded324b3 Author: Peter Wu <peter@lekensteyn.nl> Date: Thu Dec 11 12:51:17 2014 UPSTREAM: HID: logitech-hidpp: do not return the name length We do not make any use of the actual name length get through hidpp_get_device_name(). Original patch by Benjamin Tissoires, this patch also replaces a (now) unnecessary goto by return NULL. BUG= chromium:617976 TEST=build Signed-off-by: Peter Wu <peter@lekensteyn.nl> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 02cc097e62d51bf6e5cb4209ca90d9bf68e358b5) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I6d6b5485baeed4b21a1ea781c851db281fbded0e Reviewed-on: https://chromium-review.googlesource.com/361114 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/7c563c91609bbfe5931f6a93c93412c8ded324b3/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/672263f14cb03e2bc3b9df55891190ef08adaf14 commit 672263f14cb03e2bc3b9df55891190ef08adaf14 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Mon Nov 03 21:09:59 2014 UPSTREAM: HID: logitech-hidpp: 2 fixes in hidpp_root_get_protocol_version() - remove the constant '1' - when the device is not connected, the protocol error HIDPP_ERROR_RESOURCE_ERROR is raised. We should not warn the user about it because it is somewhat expected as an answer when we check if the device is connected. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 552f12eb68440a0328dc9929066f6d0321a75874) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I785d9c09c3f821fb7c8a494f64cba36b05c831d1 Reviewed-on: https://chromium-review.googlesource.com/361113 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/672263f14cb03e2bc3b9df55891190ef08adaf14/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f69d65d28082c8dd9103f5c2b64b7bd63ac340d8 commit f69d65d28082c8dd9103f5c2b64b7bd63ac340d8 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Mon Nov 03 21:09:58 2014 UPSTREAM: HID: logitech-hidpp: fix negated returns Reported by Dan Carpenter: drivers/hid/hid-logitech-hidpp.c:359 hidpp_root_get_protocol_version() warn: should this return really be negated? drivers/hid/hid-logitech-hidpp.c:398 hidpp_devicenametype_get_count() warn: should this return really be negated? drivers/hid/hid-logitech-hidpp.c:417 hidpp_devicenametype_get_device_name() warn: should this return really be negated? drivers/hid/hid-logitech-hidpp.c:524 hidpp_touchpad_get_raw_info() warn: should this return really be negated? The problem lies in hidpp_send_message_sync() which can return 2 types of errors depending of their sign. Adding a comment there to clarify what is happening. To solve that, print an error in case of a protocol problem, and raise -EPROTO instead. BUG= chromium:617976 TEST=build Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 8c9952b26b2be25311706082598e5e176eb92748) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I581ed4651ab01d0bc9323b5532613ca30f8c7e01 Reviewed-on: https://chromium-review.googlesource.com/361112 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/f69d65d28082c8dd9103f5c2b64b7bd63ac340d8/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/de48f9a69004e9f9da9cdf7905bdee316b4056d2 commit de48f9a69004e9f9da9cdf7905bdee316b4056d2 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Fri Oct 31 09:14:39 2014 UPSTREAM: HID: logitech-hidpp: leaks and NULL dereferences Shift the allocation down a few lines to avoid a memory leak and also add a check for allocation failure. BUG= chromium:617976 TEST=build Fixes: 2f31c5252910 ('HID: Introduce hidpp, a module to handle Logitech hid++ devices') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 3e7830ceb94cd06c05832a0d53cf324db3792418) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I6a1eb7615bc5913b6a40f6c2e6530a5d537a09f7 Reviewed-on: https://chromium-review.googlesource.com/361111 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/de48f9a69004e9f9da9cdf7905bdee316b4056d2/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b1ad965dfc1e654e04afb1bf1d810c3a52a54548 commit b1ad965dfc1e654e04afb1bf1d810c3a52a54548 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:34 2014 UPSTREAM: HID: logitech-hidpp: add support of the first Logitech Wireless Touchpad This touchpad differs from the T650 in several ways: - the resolution is not correctly returned by the device - it presents physical buttons, so the button flag in the raw touch report is not filled. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 57ac86cf52e903d9e3e0f12b34c814cce6b65550) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: Id83f7f9da860aa3b158c9ee28e5bc4d7309d2518 Reviewed-on: https://chromium-review.googlesource.com/361110 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/b1ad965dfc1e654e04afb1bf1d810c3a52a54548/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/cec491a230022f989f2f02c623cb91c86eef6bf4 commit cec491a230022f989f2f02c623cb91c86eef6bf4 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:33 2014 UPSTREAM: HID: logitech-hidpp: Add Wireless Touchpad T650 support All the bits are now in place to add the support of the Touchpad T650. The creation/population of the input device is delayed until the device is ready. The T650 uses the special HID++ reporting protocol, so activate this on connect. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 586bdc4e4f15fec37dc37167d6f314ea94aa14d1) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I1fe774c571b2d7a26b1e8f7f40d6c44b31d7fac9 Reviewed-on: https://chromium-review.googlesource.com/361109 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/cec491a230022f989f2f02c623cb91c86eef6bf4/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/18412df49d5edd80cc77f2522bd0ada01ed462d2 commit 18412df49d5edd80cc77f2522bd0ada01ed462d2 Author: Dmitry Torokhov <dmitry.torokhov@gmail.com> Date: Tue Sep 29 22:52:59 2015 BACKPORT: HID: hid-input: allow input_configured callback return errors When configuring input device via input_configured callback we may encounter errors (for example input_mt_init_slots() may fail). Instead of continuing with half-initialized input device let's allow driver indicate failures. Note: this patch was previously backported in c4b132d43e2acfa9def4b7f66fa8ef0325c5ef05 but did not include the now-present hidpp changes. BUG= chromium:617976 TEST=build Signed-off-by: Jaikumar Ganesh <jaikumarg@android.com> Signed-off-by: Arve Hjnnevg <arve@android.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Acked-by: Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com> Acked-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit b2c68a2f1bab3e3d3bf4ab2b5fcd94cd37f61b41) Signed-off-by: Adam Goode <agoode@chromium.org> Conflicts: drivers/hid/hid-lenovo.c drivers/hid/hid-multitouch.c drivers/hid/hid-rmi.c drivers/hid/hid-uclogic.c Change-Id: Ic86131588f6144380461d6451626a13071888f49 Reviewed-on: https://chromium-review.googlesource.com/361129 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Dmitry Torokhov <dtor@chromium.org> [modify] https://crrev.com/18412df49d5edd80cc77f2522bd0ada01ed462d2/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bf7e5db99781e61ce7885fa9cdeb322481796659 commit bf7e5db99781e61ce7885fa9cdeb322481796659 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:32 2014 UPSTREAM: HID: logitech-hidpp: late bind the input device on wireless connection Now that the receiver forwards the connect/disconnect events, we can know when the device is available to communicate with us. When it is ready, we can for instance retrieve its full name, which guarantee that we always have the same name for the DJ device (the DJ name is somewhat shorter than the HID++ name). This mechanism is mandatory for the touchpads line, which has the min/max information stored in the device. This information can only be retrieved when the device is connected. So we can not populate the input device until we are sure that the device is connected. This patch creates a new input device for such devices. However, this input is not bound to hid directly, so the various drivers which wants to use it are required to process completely the incoming reports in .raw_event(). Note that the patch in itself just adds the bits for the next ones, and this feature is disabled by default. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit c39e3d5fc9dd3e16c6f59dd94d827540040de66d) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: Iaa3536259a107e6bd216a8bd2a8e076fb8cab95d Reviewed-on: https://chromium-review.googlesource.com/361108 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/bf7e5db99781e61ce7885fa9cdeb322481796659/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/38b25096c1c721f84e469cc7f798b2130566f85e commit 38b25096c1c721f84e469cc7f798b2130566f85e Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:31 2014 UPSTREAM: HID: logitech-dj: enable notifications on connect/disconnect The receiver can send HID++ notifications to the DJ devices when the physical devices are connected/disconnected. Enable this feature by default. This command uses a HID++ command instead of a DJ one, so use a direct call to usbhid instead of using logi_dj_recv_send_report() BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 6a9ddc8978835deae0b2d918df74fc83588a4104) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I37fb1477aa645204b913b8e36dc3211801874c34 Reviewed-on: https://chromium-review.googlesource.com/361107 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/38b25096c1c721f84e469cc7f798b2130566f85e/drivers/hid/hid-logitech-dj.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/093174f53601739ab190cb511a6236619ba16d42 commit 093174f53601739ab190cb511a6236619ba16d42 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:30 2014 UPSTREAM: HID: logitech: allow the DJ device to request the unifying name The names of the DJ devices are stored in the receiver. These names can be retrieved through a HID++ command. However, the protocol says that you have to ask the receiver for that, not the device iteself. Introduce a special case in the DJ handling where a device can request its unifying name, and when such a name is given, forward it also to the corresponding device. On the HID++ side, the receiver talks only HID++ 1.0, so we need to implement this part of the protocol in the module. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 33797820af98cde5c7cee00d00f0d8e255ea199f) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I5aad283262f8951a3e4bfae6498079f007476b60 Reviewed-on: https://chromium-review.googlesource.com/361106 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/093174f53601739ab190cb511a6236619ba16d42/drivers/hid/hid-logitech-dj.c [modify] https://crrev.com/093174f53601739ab190cb511a6236619ba16d42/drivers/hid/hid-logitech-hidpp.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6ce3b26bc62ecd70972e189e4609c59c82b37173 commit 6ce3b26bc62ecd70972e189e4609c59c82b37173 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:29 2014 UPSTREAM: HID: logitech-dj: allow transfer of HID++ reports from/to the correct dj device HID++ is a Logitech-specific protocol for communicating with HID devices. DJ devices implement HID++, and so we can add the HID++ collection in the report descriptor and forward the incoming reports from the receiver to the appropriate DJ device. The same can be done in the other way, if someone calls a .raw_request(), we can forward it to the correct dj device by overriding the device_index in the HID++ report. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tisssoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 925f0f3ed24f98b40c28627e74ff3e7f9d1e28bc) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: If92dc253a713dfbde6c0eb31ad5ba0037d7400b2 Reviewed-on: https://chromium-review.googlesource.com/361105 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Andrew de los Reyes <adlr@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/6ce3b26bc62ecd70972e189e4609c59c82b37173/drivers/hid/hid-logitech-dj.c
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/d47988ecca299bebf5fdf4eb60f286e8036e77bf commit d47988ecca299bebf5fdf4eb60f286e8036e77bf Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:28 2014 UPSTREAM: HID: logitech: move dj devices to the HID++ module Devices connected through the Logitech Wireless Receiver are HID++ devices. We can handle them here to benefit from this new module and activate enhaced support of the various wireless touchpad or mice with touch sensors on them. BUG= chromium:617976 TEST=build Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit ab94e562ed45c99914fe874b7feaf75b80ceea84) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I955382a8f8b188ac3de679be8397bc2d4f102c36 Reviewed-on: https://chromium-review.googlesource.com/361104 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Andrew de los Reyes <adlr@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/d47988ecca299bebf5fdf4eb60f286e8036e77bf/drivers/hid/hid-logitech-dj.c [modify] https://crrev.com/d47988ecca299bebf5fdf4eb60f286e8036e77bf/drivers/hid/hid-logitech-hidpp.c [modify] https://crrev.com/d47988ecca299bebf5fdf4eb60f286e8036e77bf/drivers/hid/Kconfig
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/d2ca28122a0ad926ae48b09f3d20ab0b7908cd23 commit d2ca28122a0ad926ae48b09f3d20ab0b7908cd23 Author: Benjamin Tissoires <benjamin.tissoires@redhat.com> Date: Tue Sep 30 17:18:27 2014 UPSTREAM: HID: Introduce hidpp, a module to handle Logitech hid++ devices Logitech devices use a vendor protocol to communicate various information with the device. This protocol is called HID++, and an exerpt can be found here: https://drive.google.com/folderview?id=0BxbRzx7vEV7eWmgwazJ3NUFfQ28&usp=shar The main difficulty which is related to this protocol is that it is a synchronous protocol using the input reports. So when we want to get some information from the device, we need to wait for a matching input report. This driver introduce this capabilities to be able to support the multitouch mode of the Logitech Wireless Touchpad T651 (the bluetooth one). The multitouch data is available directly from the mouse input reports, and we just need to query the device on connect about its caracteristics. HID++ and the touchpad features has a specific reporting mode which uses pure HID++ reports, but Logitech told us not to use it for this specific device. During QA, they detected that some bluetooth input reports where lost, and so the only supported mode is the pointer mode. BUG= chromium:617976 TEST=build CQ-DEPEND=CL:361129 Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Andrew de los Reyes <adlr@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit 2f31c52529103d8f0e1485272064f982d14ce54a) Signed-off-by: Adam Goode <agoode@chromium.org> Change-Id: I5837f9d5760abf0f58767469d8dc18c3e1598151 Reviewed-on: https://chromium-review.googlesource.com/361103 Commit-Ready: Adam Goode <agoode@chromium.org> Tested-by: Adam Goode <agoode@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> [modify] https://crrev.com/d2ca28122a0ad926ae48b09f3d20ab0b7908cd23/drivers/hid/hid-core.c [add] https://crrev.com/d2ca28122a0ad926ae48b09f3d20ab0b7908cd23/drivers/hid/hid-logitech-hidpp.c [modify] https://crrev.com/d2ca28122a0ad926ae48b09f3d20ab0b7908cd23/drivers/hid/Makefile [modify] https://crrev.com/d2ca28122a0ad926ae48b09f3d20ab0b7908cd23/drivers/hid/Kconfig [modify] https://crrev.com/d2ca28122a0ad926ae48b09f3d20ab0b7908cd23/drivers/hid/hid-ids.h
,
Jul 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5fa4bb557508a2a7dc48285127e65196adb5a07a commit 5fa4bb557508a2a7dc48285127e65196adb5a07a Author: Adam Goode <agoode@chromium.org> Date: Sat Jul 16 19:22:06 2016 CHROMIUM: run chromeos/scripts/kernelconfig oldconfig This enables CONFIG_HID_LOGITECH_HIDPP after backporting the feature from kernel 4.4. BUG= chromium:617976 TEST=try multitouch gestures on wireless trackpad T650 Change-Id: Ib345f1be7e2c8259412a391bb12bbeb3b8e48930 Signed-off-by: Adam Goode <agoode@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/361130 Reviewed-by: Dmitry Torokhov <dtor@chromium.org> [modify] https://crrev.com/5fa4bb557508a2a7dc48285127e65196adb5a07a/chromeos/config/mips/common.config [modify] https://crrev.com/5fa4bb557508a2a7dc48285127e65196adb5a07a/chromeos/config/i386/common.config [modify] https://crrev.com/5fa4bb557508a2a7dc48285127e65196adb5a07a/chromeos/config/armel/chromiumos-arm.flavour.config [modify] https://crrev.com/5fa4bb557508a2a7dc48285127e65196adb5a07a/chromeos/config/arm64/common.config [modify] https://crrev.com/5fa4bb557508a2a7dc48285127e65196adb5a07a/chromeos/config/base.config [modify] https://crrev.com/5fa4bb557508a2a7dc48285127e65196adb5a07a/chromeos/config/x86_64/common.config
,
Jul 20 2016
This is merged and a build works for me.
,
Aug 29 2016
,
Oct 7 2016
,
Nov 18 2016
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by agoode@chromium.org
, Jun 8 2016