* [PATCH 0/1] a fix for disabling pointing devices
@ 2013-09-13 21:16 nitin.a.kamble
2013-09-13 21:16 ` [PATCH 1/1] udev: avoid autosuspend of USB input devices nitin.a.kamble
0 siblings, 1 reply; 2+ messages in thread
From: nitin.a.kamble @ 2013-09-13 21:16 UTC (permalink / raw)
To: Openembedded-core, richard.purdie, saul.wold
From: Nitin A Kamble <nitin.a.kamble@intel.com>
This was believed to be a kernel issue earlier. With further debugging and
discussions the issue was identified as a faulty rule in the udev package.
Disabling the faulty udev rule solved the issue. With further digging we
found another fix for this issue in fedora, which also fixes the issue for
different people using different input devices. This issue is mainly
observed with keyboard/mouse combination USB devices which has built-in
USB hub.
Thanks to Ross, for trying out various fixes on his setup, and also thanks to
Darren & Tom for helping with discussions to find the right solution.
Thanks,
Nitin
The following changes since commit dd36930f3f37b2e0e1258de28ac1b1fa99cf196f:
bitbake: data_smart: Account for changes in append/prepend/remove in the config hash (2013-09-12 17:03:17 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib nitin/misc
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=nitin/misc
Nitin A Kamble (1):
udev: avoid autosuspend of USB input devices
meta/recipes-core/udev/udev.inc | 1 +
.../udev/udev/avoid-mouse-autosuspend.patch | 25 ++++++++++++++++++++++
2 files changed, 26 insertions(+)
create mode 100644 meta/recipes-core/udev/udev/avoid-mouse-autosuspend.patch
--
1.8.1.4
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 1/1] udev: avoid autosuspend of USB input devices
2013-09-13 21:16 [PATCH 0/1] a fix for disabling pointing devices nitin.a.kamble
@ 2013-09-13 21:16 ` nitin.a.kamble
0 siblings, 0 replies; 2+ messages in thread
From: nitin.a.kamble @ 2013-09-13 21:16 UTC (permalink / raw)
To: Openembedded-core, richard.purdie, saul.wold
From: Nitin A Kamble <nitin.a.kamble@intel.com>
Some of the external USB devices has internal USB hub, which
make them look like "fixed" rather than "removable". And USB
autosuspend does not work with some of these devices resulting
in inoperable pointing device.
Now the code detect these false "fixed" devices by looking at their
parents. If any of their parent is "removable", then USB autosuspend
is not enabled for that device, which keeps the pointing device
functional.
Fixes bug:
[YOCTO #5166]
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
meta/recipes-core/udev/udev.inc | 1 +
.../udev/udev/avoid-mouse-autosuspend.patch | 25 ++++++++++++++++++++++
2 files changed, 26 insertions(+)
create mode 100644 meta/recipes-core/udev/udev/avoid-mouse-autosuspend.patch
diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc
index 6606707..2ff8f00 100644
--- a/meta/recipes-core/udev/udev.inc
+++ b/meta/recipes-core/udev/udev.inc
@@ -17,6 +17,7 @@ RPROVIDES_${PN} = "hotplug"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://0001-Fixing-keyboard_force_release.sh-shell-script-path.patch \
+ file://avoid-mouse-autosuspend.patch \
file://run.rules \
file://udev.rules \
file://devfs-udev.rules \
diff --git a/meta/recipes-core/udev/udev/avoid-mouse-autosuspend.patch b/meta/recipes-core/udev/udev/avoid-mouse-autosuspend.patch
new file mode 100644
index 0000000..2c31b33
--- /dev/null
+++ b/meta/recipes-core/udev/udev/avoid-mouse-autosuspend.patch
@@ -0,0 +1,25 @@
+Source: http://cgit.freedesktop.org/systemd/systemd/commit/rules/42-usb-hid-pm.rules?id=e0386cf2809219bbdd30895f46f1f567b56902b6
+
+Some USB ports on external hubs may be reported as "fixed". We only want
+to auto-enable this on ports that are internal to the machine, so check
+the parent state as well.
+
+Upstream-Status: backport
+
+Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
+2013/09/13
+
+Index: udev-182/rules/42-usb-hid-pm.rules
+===================================================================
+--- udev-182.orig/rules/42-usb-hid-pm.rules
++++ udev-182/rules/42-usb-hid-pm.rules
+@@ -46,4 +46,9 @@ ACTION=="add", SUBSYSTEM=="usb", ATTRS{i
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}="0002", TEST=="power/control", ATTR{power/control}="auto"
+
+ # USB HID devices that are internal to the machine should also be safe to autosuspend
++# And skip it for devices which are external but say "fixed"
++ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end"
++ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"
++LABEL="usb_hid_pm_end"
++
--
1.8.1.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-13 21:18 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-13 21:16 [PATCH 0/1] a fix for disabling pointing devices nitin.a.kamble
2013-09-13 21:16 ` [PATCH 1/1] udev: avoid autosuspend of USB input devices nitin.a.kamble
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox