Sorry man, i completely forgot about you over the weekend..
The procedure to blacklist noveau (or at least what i did) is to create a file named 'blacklist-nvidia.conf' in /etc/modprobe.d with the following content:
and these rights: -rw-r--r-- (no need to chmod)
The script i use to disable the discreet looks like this:
#Disable nvidia card
sudo insmod /home/esben/acpi_call/acpi_call.ko
sudo sh /home/esben/acpi_call/test_off.sh
So i'ts basically just a shortcut to the test_off.sh script located in the cloned acpi_call folder from github, that finds out which call actually works by trying them all.
The reason i haven't bothered getting it to autorun at startup is, that i practically only power my pc off when kernel has been updated, and then i need to recompile the acpi_call kernel module anyway.
Here's the output of lspci once the discreet card has been deactivated:
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller: nVidia Corporation Device 1050 (rev ff) (prog-if ff)
which indicates that the discrete card is indeed off. After running my "kill optimus.sh" script, battery time goes from 2-3 hrs to 6-8 hrs.
I observe in your suspend script, while resuming you have use acpi_call to off nvidia card. Is
it working properly, as you have not used modprobe command, I am not sure though.
I am indeed disabling the discreet card upon resume in my script. As i recall, i made this tweak because i had some trouble with waking up. Adding that line to the script did, however, solve it.
It would seem to me, that blacklisting nvidia/nouveau is what you are lacking, so i would start off by doing that.
However, i am no expert, so if it still doesn't work, try all the steps.
Let me know how it goes