Openembedded Core Discussions
 help / color / mirror / Atom feed
* [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