LINUX.ORG.RU

Есть люди, которые разбираются в ACPI?

 ,


2

4

Даже не знаю, может это в hardware. Надо пропатчить dsdt для vostro 14-5459. Версия bios 1.0.4.

С чего начать? А эта штука универсальная? Потому что под osx частенько такая проблема обсуждается, может быть даже выложили готовый.

Интересно то, что ноут линуховый. Неужели просто решили забить на баг в acpi?

[0.669592] ACPI Error: [\_SB_.PCI0.PEG0.NHDA] Namespace lookup failure,
 AE_NOT_FOUND (20160831/psargs-359)
[0.669610] ACPI Error: Method parse/execution failed [\_SB_PCI0.PEG0.PG00._ON] (Node ffff88027b1154b0), AE_NOT_FOUND (20160831/psparse-543)

UPD: Обновил bios до 1.0.6.

Deleted

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

Не, я acpi не патчил.

PS: На баги вообще-то очень даже забивают. Висят годами, особенно если они особо не нужны.

soomrack ★★★★
()

http://www.n00bunlimited.net/pastebin.php?show=64653

[root@dell romashev]# iasl -tc dsdt.dsl 

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20161117-64
Copyright (c) 2000 - 2016 Intel Corporation

Compiler aborting due to parser-detected syntax error(s)
dsdt.dsl   5841:                 Zero
Error    6126 -                    ^ syntax error, unexpected PARSEOP_ZERO

dsdt.dsl   5900:                         Zero
Error    6126 -                            ^ syntax error, unexpected PARSEOP_ZERO

dsdt.dsl  13618:                     Arg1
Error    6126 -                        ^ syntax error, unexpected PARSEOP_ARG1

dsdt.dsl  16937:         }
Error    6126 -         ^ syntax error, unexpected '}'

dsdt.dsl  26146: 
Error    6126 - syntax error, unexpected $end and premature End-Of-File

ASL Input:     dsdt.dsl - 26146 lines, 814673 bytes, 10809 keywords
Hex Dump:      dsdt.hex - 203 bytes

Compilation complete. 5 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Deleted
()
Последнее исправление: Romashev (всего исправлений: 1)
Ответ на: комментарий от init_6

По какому каналу телепатии? Я же сказал, я предоставлю всё что нужно, вплоть до рутового доступа к машине. В конечном итоге рассчитываю что можно будет создать готовый пакет с фиксом.

Deleted
()
Последнее исправление: Romashev (всего исправлений: 1)

Fedora со свежим ядром? у меня(и ещё у кучи народа) начали вылетать такие же ошибки, начиная с ядра 4.9.3, но так как всё работает то рекомендуют тупо не обращать внимание...

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

Debian, arch, да без разницы. Походу вообще с ядра 4.9 началось. Говорят, поменяли просто дефолтный loglevel.

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

Рут доступ оставь себе. Делай:

mkdir ALL_TABLES
sudo cp -r /sys/firmware/acpi/tables/* ALL_TABLES
sudo chmod 0777 -R ALL_TABLES
tar -cf ALL_TABLES.tar ALL_TABLE

Архив на фэйлообменник а ссылку на него сюда.

init_6 ★★★★★
()
Последнее исправление: init_6 (всего исправлений: 1)
Ответ на: комментарий от Deleted
 ➜ iasl -v

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20160729-64
Copyright (c) 2000 - 2016 Intel Corporation

 ➜ cat refs.txt 
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB_.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB_.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB_.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_SB.PCI0.SAT1.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)

 ➜ iasl -da -dl -fe refs.txt DSDT

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20160729-64
Copyright (c) 2000 - 2016 Intel Corporation

Input file DSDT, Length 0x18EB9 (102073) bytes
ACPI: DSDT 0x0000000000000000 018EB9 (v02 DELL   QA09     01072009 INTL 20120913)
refs.txt: Importing method external (1 arguments) MDBG
refs.txt: Importing method external (0 arguments) _GPE.MMTB
refs.txt: Importing method external (2 arguments) _SB_.PCI0.LPCB.H_EC.ECWT
refs.txt: Importing method external (1 arguments) _SB_.PCI0.LPCB.H_EC.ECRD
refs.txt: Importing method external (2 arguments) _SB_.PCI0.PEG0.PEGP.SGPO
refs.txt: Importing method external (1 arguments) _SB.PCI0.GFX0.DD02._BCM
refs.txt: Importing method external (4 arguments) _SB.PCI0.SAT0.SDSM
refs.txt: Importing method external (4 arguments) _SB.PCI0.SAT1.SDSM
refs.txt: Importing method external (3 arguments) _GPE.VHOV
refs.txt: Imported 9 external method definitions
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed

Found 28 external control methods, reparsing with new information
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed
Disassembly completed
ASL Output:    DSDT.dsl - 811847 bytes

 iASL Warning: There were 28 external control methods found during
 disassembly, but only 9 were resolved (19 unresolved). Additional
 ACPI tables may be required to properly disassemble the code. This
 resulting disassembler output file may not compile because the
 disassembler did not know how many arguments to assign to the
 unresolved methods. Note: SSDTs can be dynamically loaded at
 runtime and may or may not be available via the host OS.

 In addition, the -fe option can be used to specify a file containing
 control method external declarations with the associated method
 argument counts. Each line of the file must be of the form:
     External (<method pathname>, MethodObj, <argument count>)
 Invocation:
     iasl -fe refs.txt -d dsdt.aml

После починки:

 ➜ iasl -tc DSDT.dsl 

Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20160729-64
Copyright (c) 2000 - 2016 Intel Corporation

(cut)

ASL Input:     DSDT.dsl - 26019 lines, 808783 bytes, 10761 keywords
AML Output:    DSDT.aml - 102362 bytes, 2382 named objects, 8379 executable opcodes
Hex Dump:      DSDT.hex - 960006 bytes

Compilation complete. 0 Errors, 106 Warnings, 112 Remarks, 223 Optimizations

Сама починка:

 ➜ diff -u DSDT-0.dsl DSDT.dsl 
--- DSDT-0.dsl  2017-02-03 20:49:13.315811749 +0500
+++ DSDT.dsl    2017-02-03 20:59:49.248861491 +0500
@@ -5,7 +5,7 @@
  * 
  * Disassembling to symbolic ASL+ operators
  *
- * Disassembly of DSDT, Fri Feb  3 20:42:39 2017
+ * Disassembly of DSDT, Fri Feb  3 20:50:04 2017
  *
  * Original Table Header:
  *     Signature        "DSDT"
@@ -5842,47 +5842,6 @@
                     })
                 }
 
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
-                Zero
                 Method (HPME, 0, Serialized)
                 {
                     If (PMSX)
@@ -5901,13 +5860,6 @@
                             }
                         }
 
-                        Zero
-                        Zero
-                        Zero
-                        Zero
-                        Zero
-                        Zero
-                        Zero
                     }
                 }
 
@@ -19206,69 +19158,6 @@
         }
     }
 
-    If (CondRefOf (\_SB.PCI0.RP01.PXSX))
-    {
-        Scope (_SB.PCI0.RP01.PXSX)
-        {
-            Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
-            {
-                If (PAHC () || PNVM ())
-                {
-                    If (((S0ID == One) || (OSYS >= 0x07DF)) && ((
-                        (PEPC & 0x0400) == 0x0400) || ((PEPC & 0x0800) == 0x0800)))
-                    {
-                        Return (Package (0x01)
-                        {
-                            PEPD
-                        })
-                    }
-                }
-
-                Return (Package (0x00) {})
-            }
-
-            OperationRegion (PCCX, PCI_Config, 0x09, 0x04)
-            Field (PCCX, ByteAcc, NoLock, Preserve)
-            {
-                PIXX,   8, 
-                SCCX,   8, 
-                BCCX,   8
-            }
-
-            Method (PAHC, 0, Serialized)
-            {
-                If (BCCX == One)
-                {
-                    If (SCCX == 0x06)
-                    {
-                        If (PIXX == One)
-                        {
-                            Return (One)
-                    }
-                }
-
-                Return (Zero)
-            }
-
-            Method (PNVM, 0, Serialized)
-            {
-                If (BCCX == One)
-                {
-                    If (SCCX == 0x08)
-                    {
-                        If (PIXX == 0x02)
-                        {
-                            Return (One)
-                        }
-                    }
-                }
-
-                Return (Zero)
-            }
-        }
-    }
-
     Scope (_SB.PCI0.RP02.PXSX)
     {
         Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
@@ -21974,14 +21863,6 @@
                                 DerefOf (DEVY [0x05]) [One] = One
                             }
 
-                            If (CondRefOf (\_SB.PCI0.RP01.PXSX))
-                            {
-                                If (^^PCI0.RP01.PXSX.PAHC () || ^^PCI0.RP01.PXSX.PNVM ())
-                                {
-                                    DerefOf (DEVY [0x15]) [One] = One
-                                }
-                            }
-
                             If (^^PCI0.RP02.PXSX.PAHC () || ^^PCI0.RP02.PXSX.PNVM ())
                             {
                                 DerefOf (DEVY [0x16]) [One] = One


Забирать готовый там http://filebin.ca/3B7uuUpTN9Sz/DSDT.dsl

init_6 ★★★★★
()

Кстати, можно просто прописать loglevel=0 в конфиг grub и не видеть всех этих выхлопов при загрузке.

enso ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Это ты просто не знаешь как там логи смотреть.

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

Кстати, можно просто прописать loglevel=0 в конфиг grub и не видеть всех этих выхлопов при загрузке

страус_с_головой_в_песке.жпг

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

А это одно из двух: либо к вырезанному где-либо есть ещё потроха либо вырезанное ненужно. В любом случае как именно снимать dsdt и в каких местах я лечил вон выше всё показано. Результат если что ноль ошибок. А дальше всё в руках ТС.

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