Hello! I am a BIOS developer and now i am trying to enable S3 wakeup from USB keyboard. After boot, if i execute in terminal command «cat /proc/acpi/wakeup» i get: Device S-state Status Sysfs node HDEF S4 disabled pci:0000:00:1b.0 RP01 S5 disabled pci:0000:00:1c.0 RP02 S5 disabled pci:0000:00:1c.1 RP03 S5 disabled pci:0000:00:1c.2 RP04 S5 disabled pci:0000:00:1c.3 RP05 S5 disabled pci:0000:00:1c.4 RP06 S5 disabled pci:0000:00:1c.5 USB1 S3 disabled pci:0000:00:1d.0 USB2 S3 disabled pci:0000:00:1d.1 USB3 S3 disabled pci:0000:00:1d.2 USB4 S3 disabled pci:0000:00:1d.3 EHC1 S3 disabled pci:0000:00:1d.7 MODM S4 disabled COMA S3 disabled pnp:00:08 COMB S3 disabled pnp:00:09 At my guess, current devices are devices from DSDT table with _PRW method. But for some reason wakeup for them disabled by default. I can enable wakeup for keyboard (in my case it is USB1) with: echo USB1 > /proc/acpi/wakeup Throught some experiments, i figured out that these commands says to OS, that it should enable appropriate bits in ACPI GPE0_EN register before going to S3 (what bits exactly is defined in USB1._PRW) But this is not the end. I think OS power off USB controller when it goes to S3. To fix this i found device USB number from dmesg: [ 2.724374] input: LITEON Technology USB Multimedia Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input6 And executed command «echo enabled > /sys/bus/usb/devices/2-2/power/wakeup» And only now wakeup from USB works. My question is, how i should change DSDT, to avoid all of these commands?
ive seen _OSI not let wake work from usb due to newer win 7 not in list of dsdt for actions.. "Windows 2006" is vista. dump dsdt or at least post motherboard model and bios version.
I work with CPU Intel Atom N270, i945 northbridge, ICH7 i82801gx southbridge, super io SMSC 3116. I develop BIOS for custom board, so there isn't any proprietary BIOS. My current DSDT is : View attachment DSDT-0xbf6e2740-0.rar
it has the windows 7 entry so i doubt its that.. If (_OSI ("Windows 2009")) what os youre using ? im not the best at this but i have some experience.. os x and usb wake was fun in my G31M-ES2L i believe someone found a way to enable the proper GPE in the dsdt section of _INI to set the bits. look for my dsdt in my signature at insanelymac.com and its a trimmed version so its easier to follow the code. also look into coreboot and ich7