Isen't it great how well documented the whole suspend thingy is?
Here is how I think this whole thing works:
hal is triggered and runs /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux
That script in turn runs /usr/sbin/pm-suspend. That script basically parses the arguments it got from hal and calls functions stored in /usr/lib/pm-utils/functions, triggering pm_main there.
pm_main in turn calls the run_hooks function. That will run files found in /etc/pm/sleep.d/ and /usr/lib/pm-utils/sleep.d/ and will run them in order (which is imposed by sort). /usr/lib/pm-utils/sleep.d/50modules is responsible to load/unload modules. It removes all modules found in the SUSPEND_MODULES variable.
This variable is set in /usr/lib/pm-utils/functions, being initialized to "". /usr/lib/pm-utils/defaults is then sourced and can be used to override the value.
I am not sure whether /etc/default/acpi-support still works or not: in /usr/lib/pm-utils/functions the suspend is triggered by writing "mem" into the proper sysfs file... that might or might not trigger acpi-suspend to work its magic. It would be great,
So I added ath_pci into /usr/lib/pm-utils/defaults now... not sure whether this works as I currently can not test this;-)
Isen't it great how well documented the whole suspend thingy is?
Here is how I think this whole thing works:
hal is triggered and runs /usr/lib/ hal/scripts/ linux/hal- system- power-suspend- linux
That script in turn runs /usr/sbin/ pm-suspend. That script basically parses the arguments it got from hal and calls functions stored in /usr/lib/ pm-utils/ functions, triggering pm_main there.
pm_main in turn calls the run_hooks function. That will run files found in /etc/pm/sleep.d/ and /usr/lib/ pm-utils/ sleep.d/ and will run them in order (which is imposed by sort). /usr/lib/ pm-utils/ sleep.d/ 50modules is responsible to load/unload modules. It removes all modules found in the SUSPEND_MODULES variable.
This variable is set in /usr/lib/ pm-utils/ functions, being initialized to "". /usr/lib/ pm-utils/ defaults is then sourced and can be used to override the value.
I am not sure whether /etc/default/ acpi-support still works or not: in /usr/lib/ pm-utils/ functions the suspend is triggered by writing "mem" into the proper sysfs file... that might or might not trigger acpi-suspend to work its magic. It would be great,
So I added ath_pci into /usr/lib/ pm-utils/ defaults now... not sure whether this works as I currently can not test this;-)