LINUX.ORG.RU

Проблема с кулером на ASUS X541SC

 , , ,


1

1

Здравствуйте, имеется проблема с кулером на данном ноутбуке: после спящего режима не хочет включаться обратно ни каким образом, помогает только перезагрузка. В dmesg не вижу ничего подозрительного. Примечательно то, что «sensors» выдает последние обороты кулера, которые были перед сном, хотя он не крутится вообще.

Пробовали множества дистрибутивов от Ubuntu до Slackware и все ядра от 3.13 до 4.19, но результата нет.

Сам dmesg: https://pastebin.com/iA8NzwgY

P.S. Если не хватает каких-то данных, напишите, выложу.



Последнее исправление: NonStop24 (всего исправлений: 2)

[ 0.942308] ACPI: Power Resource [FN00] (off)

да похоже из-за ACPI (в dmesg есть ещё ряд предупреждений/ошибок связанных с ACPI — не берусь судить насколько они влияют). У Asus это скорее «нормально», чем наоборот. Если нет каких-либо настроек/разрешений в BIOS, то попробуйте в командную строку загрузки добавить параметр acpi_osi

# Сейчас у Вас параметры загрузки
BOOT_IMAGE=/boot/vmlinuz-huge-4.19.0 root=/dev/sda6 ro resume=/dev/sda5

# можно попробовать варианты
BOOT_IMAGE=/boot/vmlinuz-huge-4.19.0 root=/dev/sda6 ro resume=/dev/sda5 acpi_osi=off

# или
BOOT_IMAGE=/boot/vmlinuz-huge-4.19.0 root=/dev/sda6 ro resume=/dev/sda5 acpi=copy_dsdt

# или
BOOT_IMAGE=/boot/vmlinuz-huge-4.19.0 root=/dev/sda6 ro resume=/dev/sda5 acpi_osi=Windows

# или (ну этот может быть сейчас по умолчанию)
BOOT_IMAGE=/boot/vmlinuz-huge-4.19.0 root=/dev/sda6 ro resume=/dev/sda5 acpi_osi=Linux

Про значения acpi_osi (кратко, но понятно), про тоже в документации kernel.org, похожая тема, комментарий «как узнать, какие значения параметра acpi_osi поддерживает Ваш ноут»

anymouze ★★
()
Ответ на: дополнение от anymouze

Ну про Windows 10 знаем, даже Windows 8.1 нестабильно работает, не говоря уж про Windows 10 (устройства все работают, а ресурсов нет).

Ща все параметры ядра перепробуем, отпишемся. Вроде с acpi_osi уже экспериментировали, даже смотрели поддерживаемые через декомпиляцию таблицы.

NonStop24
() автор топика
Ответ на: комментарий от anymouze

Опробовал все предложенные параметры - не работает.

Начал опять ковырять DSDT, перед сном ACPI вызов «\_TZ.FN00._ON» выдает:

0x0

Но вот после сна начинает выдавать такое:

0xffffffff

Ссылка на dsdt.aml: https://www.dropbox.com/s/t7274njwuuykqsj/dsdt.dat?dl=0

NonStop24
() автор топика
Ответ на: комментарий от NonStop24

Напрягает sensors

nouveau-pci-0100
Adapter: PCI adapter
GPU core:     +0.60 V  (min =  +0.60 V, max =  +1.20 V)
temp1:         -0.0°C  (high = +95.0°C, hyst =  +3.0°C)
                       (crit = +105.0°C, hyst =  +5.0°C)
                       (emerg = +135.0°C, hyst =  +5.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +38.0°C  (high = +90.0°C, crit = +90.0°C)
Core 1:       +38.0°C  (high = +90.0°C, crit = +90.0°C)
Core 2:       +43.0°C  (high = +90.0°C, crit = +90.0°C)
Core 3:       +43.0°C  (high = +90.0°C, crit = +90.0°C)

asus-isa-0000
Adapter: ISA adapter
cpu_fan:     2300 RPM
temp1:       +6280.0°C
После сна зависает на 2300 RPM, Если перед сном было 2400 RPM, остановится на нем, и так далее.

А ещё напрягает +6280.0°C, и это вроде идет скрытой настройкой в BIOS

NonStop24
() автор топика
Ответ на: комментарий от NonStop24

Опытным путем получилось восстановить вентилятор, но это работает только 1 раз!

Заметка: я решил пойти по заметке «anymouze»:

[ 0.942308] ACPI: Power Resource [FN00] (off)
Действия:

0) Проверяем статус FN00

root@PegASUS /home/timofey # echo "\_TZ.FN00._STA" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0x0 called
Он у нас вырублен по умолчания, врубаем.

1) Врубаем FN00

root@PegASUS /home/timofey # echo "\_TZ.FN00._ON" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0x0 called
0x0 имеется в виду всё успешно

2) Проверяем статус FN00

root@PegASUS /home/timofey # echo "\_TZ.FN00._STA" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0x1 called
0x1 - то есть, включен

3) Уводим в сон, выводим и радуемся до следующего сна, ибо после 1-го не работает

root@PegASUS /home/timofey # echo "\_TZ.FN00._On" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0xffffffff

Вырезка из таблицы DSDT:

        PowerResource (FN00, 0x00, 0x0000)
        {
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                If (((BDID == CHRB) | (BDID == CIRB)))
                {
                    Return (Zero)
                }

                Return (VFN0) /* \VFN0 */
            }

            Method (_ON, 0, Serialized)  // _ON_: Power On
            {
                VFN0 = One
                If ((ECON && LEGA)){}
            }

            Method (_OFF, 0, Serialized)  // _OFF: Power Off
            {
                VFN0 = Zero
                If ((ECON && LEGA)){}
            }
        }

NonStop24
() автор топика
Ответ на: комментарий от NonStop24

да sensors «чего-то гонит».

Уводим в сон, выводим и радуемся до следующего сна, ибо после 1-го не работает

Это место я не понял: включаете командами вентилятор, сон, пробуждение — вентилятор работает?, сон, пробуждение — вентилятор не работает... Так или нет?

Потом когда не работает, статус у него «On» или «Off»? И командами его менять не получается?

В BIOS нет никаких настроек по питанию/энергосбережению/вентилятору? BIOS «последний»?

Наверное надо править таблицу DSDT...

«Вредные советы»
Возможно он «неправильно» засыпает... Если перед сном «руками» выключать, а после пробуждать...

anymouze ★★
()
Ответ на: комментарий от anymouze

Без каких либо махинаций вентилятор работает тупо до сна.

Когда мы включаем интерфейс FN00, а затем вводим в сон и выводим, то вентилятор работает, НО! Статут у него сбрасывается обратно в 0x0 (то есть выключен). Если попытаться обратно его включить теми же махинациями, то уже не сработает

NonStop24
() автор топика
Ответ на: комментарий от anymouze

Попробовал выключил перед сном (хотя он по умолчанию и так выключен) - не врубается

Вот лог моих действий:

root@PegASUS /home/timofey # modprobe acpi_call
root@PegASUS /home/timofey # echo "\_TZ.FN00._STA" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0x0 called 
root@PegASUS /home/timofey # echo "\_TZ.FN00._OFF" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0x0 called 
root@PegASUS /home/timofey # echo "\_TZ.FN00._OFF" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0x0 called 
root@PegASUS /home/timofey # echo "\_TZ.FN00._STA" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0x0 called 
root@PegASUS /home/timofey # pm-suspend
root@PegASUS /home/timofey # echo "\_TZ.FN00._OFF" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0xffffffff

Вот у меня возникает вопрос: «Как Windows делает перезагрузку?»

Вопрос у меня задается этот по причине того, что после сна в Windows и последующей перезагрузке я не могу врубить FN00

root@PegASUS /home/timofey # echo "\_TZ.FN00._ON" > /proc/acpi/call && echo $(cat /proc/acpi/call)
0xffffffff
Ощущение, что перезапуск какой-то не полный, с сохранением статуса переменной ECON в ACPI

NonStop24
() автор топика
Ответ на: комментарий от NonStop24

А когда перезапускаюсь из под Slackware, то всё норм.

NonStop24
() автор топика
Ответ на: комментарий от NonStop24

Windows вроде больше не «выключается» (там же какая-то хитрая гибернация)?

Проблема появляется, если после Windows запустить linux? Если «да», то надо разбираться с настройками Windows (сон/гибернация/выключение/...) Она же не думает, что кроме неё и другие OS «тут живут»...

anymouze ★★
()
Ответ на: комментарий от anymouze

Проблема с вентилятором проявляется всегда (в линуксе вентилятор ВСЕГДА глохнет после сна, вне зависимости, используется вместе с виндой или только линукс)

Сейчас углубляюсь в DSDT, нахожу, где вентилятор принимает параметры для вентилятора

NonStop24
() автор топика
Ответ на: комментарий от anymouze

Лорчую коммент. У меня была проблема с тем, что частоты проца не управлялись ОС, рулил только BIOS, от смены говерноров толку было ноль, биосы шил, UEFI включал/выключал... Добавил acpi_osi=«windows 2015» и мои волосы стали мягкими и шелковистыми! Dell Inspiron 5565 (5765 наверняка та же песня, т.к бивис тот же).

Deleted
()
Ответ на: комментарий от NonStop24
woolf@woolf ~ $ cat /etc/default/grub | grep Windows
GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd resume=/dev/sda8 acpi_osi=\"Windows 2015\""
woolf@woolf ~ $ 

Как бы без пробела можно было бы и без кавычек. Но пробел обязывает их использовать.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 3)
Ответ на: комментарий от NonStop24

Факт в том, что у тебя там OSI поддержвиаемые могут другими оказаться.

woolf ~ # cat dsdt.dsl | grep OSI
            If (CondRefOf (\_OSI, Local0))
                If (_OSI ("Windows 2001"))
                If (_OSI ("Windows 2001.1"))
                If (_OSI ("Windows 2001 SP1"))
                If (_OSI ("Windows 2001 SP2"))
                If (_OSI ("Windows 2001 SP3"))
                If (_OSI ("Windows 2006"))
                If (_OSI ("Windows 2006 SP1"))
                If (_OSI ("Windows 2009"))
                If (_OSI ("Windows 2012"))
                If (_OSI ("Windows 2013"))
                If (_OSI ("Windows 2015"))
                If (_OSI ("Linux"))
            If (CondRefOf (\_OSI, Local0))
                If (_OSI ("Linux"))
                If (_OSI ("Windows 2001"))
                If (_OSI ("Windows 2001 SP1"))
                If (_OSI ("Windows 2001 SP2"))
                If (_OSI ("Windows 2001.1"))
                If (_OSI ("Windows 2006"))
                If (_OSI ("Windows 2009"))
                If (_OSI ("Windows 2012"))
                If (_OSI ("Windows 2013"))
                If (_OSI ("Windows 2015"))
woolf ~ # 

Deleted
()
Ответ на: комментарий от NonStop24

На «Windows 2015» завис на втором разе и вентилятор ушел в полные обороты

NonStop24
() автор топика
Ответ на: комментарий от NonStop24

Вообще, в ноутбуке кулер, ИМХО, должен в дефолте управляться не через ACPI, а через EC. У тебя fancontrol там не запущен случаем? Тут такое дело, что у меня, к примеру, если fancontrol раз перехватит управление кулером, то EC полностью отключается до холодного рестарта. Я fancontrol использую когда нужно посчитать на обеих видяшках + проц нагрузить одновременно (EC управляет кулером плавно, но макс. обороты 5600 RPM, а если через fancontrol - до 7500 rpm раскочегаривается, но положения всего 4 - 0, 2400, 3500, 7500). При том, что если fancontrol остановить - кулер устанавливается на 5600.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

fancontrol не запущен (он и не запустится, так как конфига у него нет). Fancontrol не будет работать, уже пробовали много раз (ибо вентилятор даже в ручном режиме через /sys/class/hwmon/hwmonX/pwm1 неработает, просто отрубается, пока обратно в автоматический режим не вернешь).

После сна что ручной, что автоматический режим - не работает

NonStop24
() автор топика
Ответ на: комментарий от NonStop24

Мне вот почему-то кажется, что фирмварь EC виновата - чего-то она от линукса получает. М.б. попробовать бивис накатить по свежее, если есть? Откат вроде у асуса невозможен.

Deleted
()
Ответ на: комментарий от NonStop24

BIOS, это я так жаргонно обозвал его. Там собственно прошивается сам UEFI + для EC тоже лежит Firmware.

Ну и в кучку: ядро какой версии?

Deleted
()
Ответ на: комментарий от NonStop24

Тогда не вижу вариантов кроме как отлаживать dsdt попытаться. Ну и при желании можно багрепорт запилить в апстрим (хотя маловероятно).

Хотя вру: там всякие расширения есть в конфиге ядра (если самосборное - тем более надо попробовать отключить)

# CONFIG_ASUS_LAPTOP is not set
# CONFIG_ASUS_WMI is not set

Deleted
()
Ответ на: комментарий от NonStop24

у меня не асус, поэтому деталей не знаю. Но попробовать всяко нужно. Биос может быть слишком нов, а модуль при загрузке ему что-то скармливает, что он интерпретирует не правильно. WMI не должно прям обесточить клавиатуру, если верно помню, оно отвечает за доп. функции (громкость/яркость/что там ещё), но сам функционал у системы не пропадёт. То же относится и к wifi (точнее его включению/выключению: для него # CONFIG_ASUS_WIRELESS is not set).

Сама по себе вафля должна быть включена по дефолту.

Если не взлетит - ну тогда только DSDT ковырять, что есть Ад и Израиль частенько.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

EC не очень хороший

Спасибо за наводку по поводу EC контроллера! Сделал небольшой hotfix, который пишет в регистр 0x97 параметр 0x1 (то есть включить), и вентилятор волшебным образом начинает вертеть лопастями

Думаю тему можно закрывать

NonStop24
() автор топика
Ответ на: EC не очень хороший от NonStop24

В итоге в скрипте после сна выполняется команда:

perl acer_ec.pl := 0x97 0x1
Наконец-то нашел решение для этого ноута. Больше года искал.

NonStop24
() автор топика
Ответ на: комментарий от anymouze

Она же не думает, что кроме неё и другие OS «тут живут»...

Ось там вообще особо не думает. Думает там мульт. ОП обновить биос, на асусовских платформах мульт берёт прошивку с основной флешки.

jewy
()
Ответ на: комментарий от jewy

BIOS свежее для этого ноута нет. я тоже сначала думал, что нужно обновить. На сайте ASUS самая крайняя 301 и она у ТС установлена

А моя реплика ответ на его замечание

Вот у меня возникает вопрос: «Как Windows делает перезагрузку?»

я предпологал, что из Windows меняются какие-то установки в BIOS UEFI. Так это или нет в этом случае уже не важно... ТС нашёл виновного EC (в dmesg он выглядел совсем «хорошо» — ни ошибок, ни предупреждений — сначала отключался, потом «работал»)

anymouze ★★
()
Ответ на: комментарий от anymouze

Ну да ладно, в итоге мы все угадали что дело в мульте. Правда я так и не понял, именно в нём самом или в неумении линукса с ним корректно общаться.

jewy
()
7 мая 2019 г.

У меня тоже asus x541sc

Можете посоветовать какая комбинация linux, ядра, и версией драйвера видео чипа подойдет для этой не стабильной твари.

У нас вероятно могут быть отличия, вот что у меня: Intel Pentium(R) N3710 1.60GHz × 4 (буст 2,56Ghz). Nvidia GeForce 810M/PCIe/SSE2. RAM 4Gb (то что бесит здесь нет слота).

saddam
()
24 декабря 2019 г.
Ответ на: комментарий от NonStop24

Как бы мне подобрать решение для своего Samsung R58+?

Та же проблема с вентилитором.

atsym ★★★★★
()
Ответ на: EC не очень хороший от NonStop24

Извиняюсь за банальный вопрос, но я только начинающий - собственно, а можно немного инструкции как этот скрипт и где его прописать? У меня ноут асус х540. Проблема под копирку. Система archiman linux.

ravistrock
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.