diff --git a/README.md b/README.md index 938a5c029..b718e939f 100644 --- a/README.md +++ b/README.md @@ -51,24 +51,26 @@ For the ipts_firmware files, please select the version for your device. * v137 for the Surface Book 2 13" 1. Copy the files under root to where they belong: -  * $ sudo cp -R root/* / -2. Extract ipts_firmware_[VERSION].zip to /lib/firmware/intel/ipts/ + * $ sudo cp -R root/* / +2. Make /lib/systemd/system-sleep/hibernate.sh as executable: + * $ sudo chmod a+x /lib/systemd/system-sleep/hibernate.sh +3. Extract ipts_firmware_[VERSION].zip to /lib/firmware/intel/ipts/ * $ sudo mkdir -p /lib/firmware/intel/ipts * $ sudo unzip ipts_firmware_[VERSION].zip -d /lib/firmware/intel/ipts/ -3. Extract i915_firmware.zip to /lib/firmware/i915/ +4. Extract i915_firmware.zip to /lib/firmware/i915/ * $ sudo mkdir -p /lib/firmware/i915 * $ sudo unzip i915_firmware.zip -d /lib/firmware/i915/ -4. (Ubuntu 17.10) Fix issue with Suspend to Disk: +5. (Ubuntu 17.10) Fix issue with Suspend to Disk: * $ sudo ln -s /lib/systemd/system/hibernate.target /etc/systemd/system/suspend.target && sudo ln -s /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/systemd-suspend.service -5. (all other distros) Fix issue with Suspend to Disk: +6. (all other distros) Fix issue with Suspend to Disk: * $ sudo ln -s /usr/lib/systemd/system/hibernate.target /etc/systemd/system/suspend.target && sudo ln -s /usr/lib/systemd/system/systemd-hibernate.service /etc/systemd/system/systemd-suspend.service -6. Install the latest marvell firmware: +7. Install the latest marvell firmware: * git clone git://git.marvell.com/mwifiex-firmware.git * sudo mkdir -p /lib/firmware/mrvl/ * sudo cp mwifiex-firmware/mrvl/* /lib/firmware/mrvl/ -7. Install the custom kernel and headers: +8. Install the custom kernel and headers: * $ sudo dpkg -i linux-headers-[VERSION].deb linux-image-[VERSION].deb -8. Reboot on installed kernel. +9. Reboot on installed kernel. ### NOTES diff --git a/root/lib/systemd/system-sleep/hibernate.sh b/root/lib/systemd/system-sleep/hibernate.sh new file mode 100644 index 000000000..eaaf6845a --- /dev/null +++ b/root/lib/systemd/system-sleep/hibernate.sh @@ -0,0 +1,21 @@ +#!/bin/sh +case $1/$2 in + pre/*) + systemctl stop NetworkManager.service + rmmod intel_ipts + rmmod mei_me + rmmod mei + rmmod mwifiex_pcie + rmmod mwifiex + echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/reset + ;; + post/*) + modprobe mei + modprobe mei_me + echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/reset + modprobe mwifiex + modprobe mwifiex_pcie + systemctl start NetworkManager.service + ;; +esac +