11.3 no S3 in /proc/acpi/wakeup

I had this working in Fedora, but in 11.3 I’m not sure what to do.

Hardware:
Foxconn A74MX

Problem:
Unable to wake from S3 via USB device (USB-UIRT)

cat /proc/acpi/wakeup


Device  S-state   Status   Sysfs node
PCE2      S4    *disabled  pci:0000:00:02.0
PCE3      S4    *disabled  
PCE4      S4    *disabled  
PCE5      S4    *disabled  
PCE6      S4    *disabled  
PCE7      S4    *disabled  
SBAZ      S4    *disabled  
PS2K      S3    *enabled   pnp:00:0a
PS2M      S3    *enabled   pnp:00:0b
P0PC      S4    *disabled  pci:0000:00:14.4
UHC1      S4    *enabled   pci:0000:00:12.0
UHC2      S4    *enabled   pci:0000:00:12.1
UHC3      S4    *enabled   pci:0000:00:12.2
USB4      S4    *enabled   pci:0000:00:13.0
UHC5      S4    *enabled   pci:0000:00:13.1
UHC6      S4    *enabled   pci:0000:00:13.2
UHC7      S4    *enabled   pci:0000:00:14.5
PWRB      S3    *enabled  

Motherboard supports wakeup via USB(enabled), keyboard(enabled), mouse(enabled), etc. in BIOS. Wakeup via keyboard & mouse works great (I need to do ‘echo “PS2K” > /proc/acpi/wakeup’), but not via USB. The only problem I could find so far is in /proc/acpi/wakeup - the S3 state is missing for USB.
Is there a way to replace S4 with S3, or force/add S3 for USB somehow. I know hardware supports it since it worked in Fedora and the usb device does have an power while in S3
Can somebody help me debug it/point me in the right direction?

thanks,
art

widely discussed here: Keyboard & mouse freezes
I summarized the 3 solutions here: Mouse not working after kernel Update

Thanks, but I’m not quite sure how this issue relates to my problem aside from the fact that both devices are USB. My device does not freeze during normal usage - it’s an ir receiver/transmitter and it works. The problem is when PC is suspended in ram - system will not recognize its signal as a wakeup call (like it does with keyboard and mouse).
Anyway, I tried adding your udev rules, but that didn’t help.

thanks
art

Well autosuspend was not the problem here, nor was the setting(s) in /proc/acpi/wakeup. For those interested you need to find “wakeup” file responsible for your device. In my case it was:
/sys/devices/pci0000:00/0000:00:12.1/usb4/4-1/power/wakeup

After command:

echo enable > /sys/devices/pci0000:00/0000:00:12.1/usb4/4-1/power/wakeup

usb-uirt could wake my PC

But to make it permanent you need to add udev rule

  • run command
lsusb

and get the ID

  • create rule in /etc/udev/rules.d
vim 90-usbuirt.rules

and enter this line with your ID


# enable wake from S3 on USB-UIRT
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="f850" RUN+="/bin/sh -c 'echo enabled > /sys$env{DEVPATH}/../power/wakeup'"

and that works … at least for me.

But I’m still not sure how to change the subject of this thread to "[SOLVED] …

Thank you so much!!!
This solution works fine for me, on OpenSuse 13.1 with a Razer Reclusa.

Update!
To keep changes after a reboot there’s no need to create a rule in rules.d, you can create a script (e.g. “keyboardwakeup”, with rwx,r-x,r-x permissions) in /etc/init.d/:


#! /bin/bash# Copyright (c) You
# 
# Author: You
#
# /etc/init.d/keyboardwakeup
#
### BEGIN INIT INFO
# Provides:       keyboardwakeup
# Required-Start: 
# Required-Stop:  
# Default-Start:  5
# Default-Stop:
# Short-Description: keyboardwakeup
# Description:   keyboardwakeup
### END INIT INFO
echo enabled > /sys/devices/.../wakeup

and enable it as a service with:
chkconfig --add keyboardwakeup

PS: change “echo enabled > /sys/devices/…/wakeup” according to the correct address.