How I managed to solve the dreaded suspend / resume failure on my Dell Precision M3800 laptop running Ubuntu 14.04 or 16.04

The suspend/ resume problem in Ubuntu 14.04 and Ubuntu 16.04 is well documented for a number of laptops.

See, e.g. here, here and here.

I had this issue on my Dell Precision M3800 laptop with both Ubuntu 14.04 and Ubuntu 16.04 and even though I tried a number of solutions I googled:

… no remedy was found.

In the end what solved the issue was updating the kernel to:

$ uname -r
4.6.7-040607-generic
      

To update the kernel I followed instructions found here and downloaded the kernel packages from here.

Specifically, the following commands were executed:

$ cd /tmp/
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6.7/linux-headers-4.6.7-040607_4.6.7-040607.201608160432_all.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6.7/linux-headers-4.6.7-040607-generic_4.6.7-040607.201608160432_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6.7/linux-image-4.6.7-040607-generic_4.6.7-040607.201608160432_amd64.deb
$ sudo dpkg -i *.deb
      
… followed by a reboot.

After upgrading the kernel I have done approximately 10 suspend / resume cycles and it seems to work.

I have documented my case as a comment to this bug report and here as well (my post to the last link pending moderator approval as of the time of this writing).

NB: At the time of this writing, in addition to upgrading the kernel I have also kept the ~/environment/turnWifiOffBeforeSuspendOnAfterResume script mentioned above; I might try to remove it in the near future to establish that the kernel upgrade alone is sufficient to fix the problem and that disabling the wifi was tangential (though at the moment am not yet 100% convinced).