Re: ACRUX gamepads not happy with autosuspend?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Dienstag, 20. Juli 2010, 02:17:45 schrieb Dmitry Torokhov:
> Jiri, Oliver,
> 
> It looks like ACRUX game controllers do not like autopm. There is
> a bug report over at Ubuntu's launchpad:
> 
> 	https://bugs.launchpad.net/ubuntu/+source/joystick/+bug/448446

That report shows that the symptoms are consistent with autosuspend,
but it doesn't show that autosuspend was on.

> that states that once device is plugged in the light ion it turns on
> briefly and then goes off and from that point on nothing comes from
> the device. They deal with it by having an application open the jsX
> device as soon as it appears and that makes gamepad work - but it
> is obviously not a solution.

If autosuspend is enabled simply opening the device file will keep the
device active as it does not suport remote wakeup.

Something like
sleep 5000 </dev/input/js0
should fix the issue.

> It looks like we either need to disable autosuspend for these devices
> or maybe kick the device harder when userspace tries to open it so
> that it wakes up if it went to sleep.

You can try the attached patch. I doubt it works.

	Regards
		Oliver
From d7fb44af446eaf9f2a200d3645b72f7f98029b57 Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oliver@xxxxxxxxxx>
Date: Tue, 20 Jul 2010 10:04:47 +0200
Subject: [PATCH] USB: quirk for ACRUX USB GAMEPAD 8116

This needs to be reset as the system wakes up and
for runtime power management.

Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
---
 drivers/usb/core/quirks.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index f22d03d..cb2e985 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -75,6 +75,9 @@ static const struct usb_device_id usb_quirk_list[] = {
 	{ USB_DEVICE(0x1908, 0x1315), .driver_info =
 			USB_QUIRK_HONOR_BNUMINTERFACES },
 
+	/* ACRUX USB GAMEPAD 8116 */
+	{ USB_DEVICE(0x1a34, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
+
 	/* INTEL VALUE SSD */
 	{ USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
 
-- 
1.7.1


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux