Reading the older threads and documentation it seems that the default for darkwake is that it is on. It looks like you have to turn it off explicitly.
To answer the question as to what is really needed to turn it off I looked at the Chimera source code. Interestingly, there is no mention of darkwake in the Chimera source code. I believe this means that the flag is passed verbatim to the kernel and handled there. And indeed, if you look at the kernel sources you'll find this in IOPMrootDomain.cpp, line 864:
http://www.opensource.apple.com/source/xnu/xnu-792.13.8/iokit/Kernel/IOPMrootDomain.cpp
Code:
PE_parse_boot_argn("darkwake", &gDarkWakeFlags, sizeof(gDarkWakeFlags));
Looking at the source code for PE_parse_boot_argn, which is in bootargs.c, line 68, reveals that there is no special handling for yes/no.
http://www.opensource.apple.com/source/xnu/xnu-792.13.8/pexpert/gen/bootargs.c
In addition, looking at how PE_parse_boot_argn is called it looks like its writing the value directly into the gDarkWakeFlags variable and that holds more than just a boolean on/off:
Code:
// gDarkWakeFlags
enum {
kDarkWakeFlagHIDTickleEarly = 0x01, // hid tickle before gfx suppression
kDarkWakeFlagHIDTickleLate = 0x02, // hid tickle after gfx suppression
kDarkWakeFlagHIDTickleNone = 0x03, // hid tickle is not posted
kDarkWakeFlagHIDTickleMask = 0x03,
kDarkWakeFlagIgnoreDiskIOInDark = 0x04, // ignore disk idle in DW
kDarkWakeFlagIgnoreDiskIOAlways = 0x08, // always ignore disk idle
kDarkWakeFlagIgnoreDiskIOMask = 0x0C,
kDarkWakeFlagAlarmIsDark = 0x0100
};
So, if this is correct, and it would be great if someone could validate, then numerical values are the way to go, and it's possible that other values should be tried, too. I'm not on my Hackintosh right now to try.
UPDATE: I did some more investigation. The default is defined in line 230:
Code:
static uint32_t gDarkWakeFlags = kDarkWakeFlagHIDTickleNone | kDarkWakeFlagIgnoreDiskIOAlways;
This would correspond to darkwake=11, adding the values for kDarkWakeFlagHIDTickleNone (3) and kDarkWakeFlagIgnoreDiskIOAlways(8).
Specifying "darkwake=no" is actually the equivalent of "darkwake=28526" because the parsing code will read the characters for "n" and "o" as bytes and write them directly into the integer variable. (The ASCII code for "n" is 110, the code for "o" is 111, and 111*256+110 = 28526.) I ran this through the Apple code to confirm. If we look at the relevant bits this would correspond to:
Code:
kDarkWakeFlagHIDTickleLate |
kDarkWakeFlagIgnoreDiskIOInDark |
kDarkWakeFlagIgnoreDiskIOAlways |
kDarkWakeFlagAlarmIsDark
Next thing I'll try when I'm on my machine is darkwake=2, this seems the most relevant part of the accidental setting via the "no" string. I tried, the correct setting is darkwake=10. See comment below.