Re: Can't suspend while IR receiver is plugged in

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

 



On 01/20/2012 07:15 AM, Alan Stern wrote:
On Thu, 19 Jan 2012, Konstantin Svist wrote:

Machine: Foxconn nt-330i
IR receiver: 073a:2230
OS: Fedora 16 x64
Kernel: 3.1.9
IR dongle: 073a:2230

When trying to suspend, if IR dongle is plugged in, system freezes on VT
with blinking cursor.
The IR dongle registers itself as HID device (keyboard+mouse, I believe)

I've turned off "quiet" and "rhgb" in grub and added no_console_suspend
and got the following data on console:

PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.01 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
sd 0:0:0:0: [sda] Synchronizing SCSI cache
sd 0:0:0:0: [sda] Stopping disk
ohci_hcd 0000:00:06.0: PCI INT A disabled
pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
pm_op(): pci_pm_suspend+0x0/0x130 returns -16
PM: Device 0000:00:04.0: failed to suspend async: error -16
ehci_hcd 0000:00:06.1: PCI INT B disabled
pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
pm_op(): pci_pm_suspend+0x0/0x130 returns -16
PM: Device 0000:00:04.1 failed to suspend async: error -16
These -16 errors indicate that the USB controllers failed to suspend
because they received wakeup requests.  You should take a look at the
wakeup settings for the various USB devices ("grep .
/sys/bus/usb/devices/*/power/wakeup") and check whether they are
appropriate.  In particular, you might want to disable wakeup for the
IR dongle.

snd_hda_intel 0000:00:08.0: PCI INT A disabled
snd_hda_intel 0000:00:08.0: power state changed by ACPI to D3


I was able to both suspend and resume from my laptop (same OS/kernel,
but x86)

Is there anything that can be done to fix this?
Failure to suspend when there is a wakeup pending is normal.  But it
should not cause your system to freeze.  Something else must be going
wrong.

You might try building a kernel with CONFIG_DEBUG_DRIVER and
CONFIG_USB_DEBUG enabled, to see what they show.

Alan Stern

Thanks Alan!

After a few more hours of testing, I think I found the main source of the problem -- not surprisingly, it's the IR dongle itself. Apparently, it reacts to ambient light or some light source in the particular room. Long story short, the machine suspends fine when I cover the IR port with my hand but wakes up as soon as I remove my hand. This was probably the source of wakeups while it was trying to suspend. No idea why that made the machine freeze, though - maybe too many interrupts...?

There is still some weird behavior I want to ask about:
While testing the dongle on the 'problematic' machine, I have to run both "echo USB# >/proc/acpi/wakeup" and "echo enabled > /sys/bus/usb/devices/3-1/power/wakeup" to get the dongle to wake from remote button press. But when I try it on my laptop, "echo USB1>/proc/acpi/wakeup" is enough and /sys/bus/usb/devices/3-1/power/wakeup doesn't do anything -- and the laptop wakes no matter which button was pressed on the remote. Does this make any sense? Is this difference in behavior caused by the difference in the BIOS?


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux