LINUX.ORG.RU

Thinkpad t470p. После установки Debian 9.2.1 c ядром 4.9 при загрузке появляются ошибки и исключения, связанные с ACPI.

 , ,


1

1

Добрый вечер. При загрузке следующие ошибки, хотя система грузится

[    0.027916] ACPI Error: [\_SB_.PCI0.XHC_.RHUB.HS11] Namespace lookup failure, AE_NOT_FOUND (20160831/dswload-210)
[    0.029098] ACPI Error: 1 table load failures, 8 successful (20160831/tbxfload-246)


[    0.027921] ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20160831/psobject-227)
[    0.028105] ACPI Exception: AE_NOT_FOUND, (SSDT:ProjSsdt) while loading table (20160831/tbxfload-228)
Только установил. Там при загрузке есть еще сообщения о firmware, но это понятно как лечить. А вот это что за хрень, не понятно. Самостоятельные поиски, дали мне понять что это - баг из-за кривого биоса, который путешествует из версии в версию и еще я понял что просто это не исправить. Так может забить? Просто глаза мозолят.Спасибо

Это «нормально», с некоторой вероятностью может помочь исправление ошибок в dsdt и подсовывание его во время загрузки или вкомпиляции его в ядро через

CONFIG_ACPI_CUSTOM_DSDT_FILE="/boot/dsdt/dsdt.hex"
CONFIG_ACPI_CUSTOM_DSDT=y

На T420 помогло, на T440p — нет.

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

Спасибо. Я правда, не очень понял, видел тему, где говорили про исправление ошибок в dsdt, но посмотрев, испугался и закрыл. Если не затруднит, Вы не могли бы по-подробнее объяснить? Или дать ссылку, где это объясняют как это сделать. Спасибо.

ArtemGits
() автор топика
Ответ на: комментарий от ArtemGits
cat /sys/firmware/acpi/tables/DSDT > dsdt.dat

и куда-нибудь выложи (только не на пасту).

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

Если перейти на 8 дебиан, где ядро 3.* проблема останется?

это вообще не от ядра или ОС зависит, оно вшито у тебя в биос, его можно сдампить, исправить и подсунуть ядру обратно, в любом случае это мало на что влияет, кроме того как ты говоришь портит выхлоп dmesg.

Bruce_Lee ★★
()
Ответ на: Нашел гайд по которому буду играться от ArtemGits

Успехов, у тебя всего одна ошибка (и много вонингов) в самом dsdt:

Compilation complete. 1 Errors, 41 Warnings, 74 Remarks, 4655 Optimizations, 16 Constants Folded
но чтобы до неё дойти нужно исправить две предварительные, установи iasl и сделай следующее:
iasl -d dsdt.dat
Далее в получившемся dsdt.dsl удали строки 149 и 151, иначе он ничего не скомпилирует даже и не покажет ошибки:
    One # <- удалить
    Name (SS4, One)
    One # <- удалить
Далее при компиляции dsdt.dsl ( iasl -tc dsdt.dsl ) он покажет единственную ошибку:
dsdt.dsl    179:         BNUM,   8, 
Error    6074 -            ^ Name already exists in scope (BNUM)
Чтобы её исправить, нужно удалить строку 109:
    External (BNUM, UnknownObj) # удалить
Теперь компилируется без ошибок, только предупреждения:
Compilation complete. 0 Errors, 41 Warnings, 74 Remarks, 4655 Optimizations, 16 Constants Folded
на них на самом деле время можно не тратить, это уже полировка, но если пофиксив их решишь свою проблему, то почему не нет.

Вот твои таблицы.

Bruce_Lee ★★
()

у меня на arch такая фигня - отключил acpi в биосе и ошибки пропали

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

Чет я не соображу как рекомпилить ядро. Гайд который я скидывал старый. Я скачал и установил пакет source-linux-4.9, а дальше не могу найти конфиг в который нужно прописать путь к новой таблице.

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

Я могу сказать как это делается в генте и воиде, по идее у тебя в дебьяне ядро это пакет, который нужно перекомпиливать и там еще какие-то дополнительные шаги.

Заходишь туда, где находятся исходники ядра (в генте и многих линуксах это /usr/src/linux , если при установке сорсов был создан этот симлинк), либо напрямую редактируешь /usr/src/linux/.config , либо, что лучше, конфигурируешь через make menuconfig там же.

Путь прописывается в:

Power management and ACPI options  --->
    [*] ACPI (Advanced Configuration and Power Interface) Support  --->
        (->здесь<-)    Custom DSDT Table file to include

Хоть убей нигде не вижу никаких .config

его может и не быть, делай make menuconfig, он возьмет его с /proc/config.gz

По дебьяновым кишкам не подскажу, никогда не пользовался.

Bruce_Lee ★★
()
Последнее исправление: Bruce_Lee (всего исправлений: 3)

почитай мануалы про биос - там написано если у тебя старое и слабое железо acpi лучше отключить, отключай в общем или выброси тинкпад...

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

Хоть все это и понимают, но на всякий скажу: у него ноут этого (2017) года, acpi в биосе не отключается уже лет 8, программно его отключать не следует, потому что не будет работать 75% функциональности ноутбука.

Что касается сабжа, то речь идёт чисто про косметическую операцию по скрытию ошибки в выхлопе dmesg, ни на что это не влияет, ничего не изменится, возможно ТСу приятнее будет, если эти предупреждения, которым подвержены 98.9% всех ноутбуков всех производителей всех времен (если они загружают линукс) — не будут отображаться во время загрузки или в выхлопе dmesg.

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

Спасибо. Я перекомпилировал ядро, но ошибки не пропали. Это может быть из-за того, что я не исправлял варнинги? Мне кажется проще просто скрыть вывод dmesg во время загрузки.

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

Может быть, а может и не быть, например, если на T420 поправить все вонинги, то выхлоп чист, а в случае T440p — не помогает, информации про T470p у меня нет.

Если хочешь открыть для себя мир dsdt, что в общем-то мало полезно и мало практично в бытовом плане, то можешь погрузиться в это всё))

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

Я боялся что я где-то напутал и таблицы не перезаписались. Парвильно ли я понимаю что если я вижу вот это: ACPI: Override [DSDT-SKL ], this is unsafe: tainting kernel

То таблицы были переписаны?

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

C другой стороны, если после компиляции у меня в директории /boot появился новый конфиг, где путь к таблице прописан, то все заменилось. Просто нужно варнинги убрать, в теории.

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