SMC and PRAM resets via self service

New Contributor

I've been digging around to find terminal commands for SMC and PRAM resets so I can created a script to use with Self Service to reset PRAM and SMC. Has anyone else attempted or had any success? I can't find the proper boot args for 10.8.x


nvram -c

for more info check out the man page for nvram

Contributor II

This seems like it would be a neat thing to have in Self Service. The manpage doesn't say much though (where'd the "-c" come from?) and my Googlefu fails me. Any other info?

Valued Contributor II

nvram -c will clear everything currently set in NVRAM. I'm not sure about PRAM. The only way i've ever been able to zap that is command-option-p-r at boot, and that is only if a firmware password is not set. If the nvram is corrupt (nvram -p returns "this command is not supported on this system") you will need to use AST (earlier than version 1.5) to flash it, or if its a pre-2011 machine, remove a stick of RAM and do the PRAM reset key combo.

New Contributor

I'm sorry, my post title should have been SMC and NVRAM resets. Thank you for providing the nvram -c command. Does anyone have ideas about how to reset SMC via terminal?


Any more info regarding SMC via terminal or script would be great.

We have keyboards not been detected and i think resetting SMC and NVRAM could fix the issue.

New Contributor

Hmmm - never heard of a command to reset the SMC. That's pre-firmware boot stuff and I doubt a terminal command could get to it. Some of the fan commands can address the SMC but I've never heard of more than that.

However there are terminal commands to boot into safe boot mode which has maintenance qualities to it. Go to safeboot in next boot - nvram boot-args="-x"
Go back to normal boot next boot - nvram boot-args=""
But this significantly changes the boot process and delays and there should be a warning what to expect and what to do in case - if it turns off rather than finishes booting then there is a problem beyond what automated scripts can fix. But there is the problem that how does one get booted back to normal if the user shouldn't log in or again the experience will be so different they might be weirded out.