This shows you the differences between two versions of the page.
| |
| linux_faq:ubuntu_notebook_sleep_fix [2020/05/17 16:56] – created admin | linux_faq:ubuntu_notebook_sleep_fix [2023/05/19 06:37] (current) – admin |
|---|
| | Если ноутбук с Linux не всегда просыпается из режимов S3/S4 (Sleep), то можно попробывать так: http://iam.tj/prototype/enhancements/Windows-acpi_osi.html |
| |
| | <code> |
| | VERSION="$(sudo strings /sys/firmware/acpi/tables/DSDT | grep -i 'windows ' | sort | tail -1)" |
| | echo 'Linux kernel command-line parameters required: acpi_osi=! "acpi_osi='$VERSION'"' |
| | config() { sed -n '/.*linux[[:space:]].*root=\(.*\)/{s//BOOT_IMAGE=\1/ p;q;}' /boot/grub/grub.cfg; } |
| | echo "Existing Command Line: ` config `" |
| | sudo sed -i "s/^\(GRUB_CMDLINE_LINUX=.*\)\"$/\1 acpi_osi=! \\\\\"acpi_osi=$VERSION\\\\\"\"/" /etc/default/grub |
| | sudo update-grub |
| | echo "Modified Command Line: ` config `" |
| | </code> |
| | Don't be put off by all the \\ characters. Those are required in order to allow sed to insert literal double-quotation marks into the GRUB_CMDLINE_LINUX string. \\ |
| | /etc/default/grub will have added the acpi_osi parameters to the GRUB_CMDLINE_LINUX so it will look something like this (there may be other kernel options that were added on some previous occassion): |
| | GRUB_CMDLINE_LINUX="acpi_osi=! \"acpi_osi=Windows 2015\"" |
| | /boot/grub/grub.cfg will have these parameters added to every linux command-line, e.g. |
| | linux /vmlinuz-4.13.0-16-lowlatency root=/dev/mapper/VG_OS-ubuntu_16.04_rootfs ro acpi_osi=! "acpi_osi=Windows 2015" splash $vt_handoff |
| | Once rebooted the running kernel command-line will show something like: |
| | $ cat /proc/cmdline |
| | BOOT_IMAGE=/vmlinuz-4.13.0-16-lowlatency root=/dev/mapper/VG_OS-ubuntu_16.04_rootfs ro acpi_osi=! "acpi_osi=Windows 2015" splash |