LINUX.ORG.RU

Непонятное поведение ACPI

 ,


1

1

Имеется ноут Samsung R58plus. Странности начались с того, что в произвольный момент времени ноут перестаёт реагировать на нажатия клавиш клавиатуры, тачпад, закрытие/открытие крышки, отключение/подключения внешнего питания. При этом usb девайсы работают как положено.

В выводе dmesg при каждом таком глюке встречается следующее

[144637.370045] ACPI: EC: input buffer is not empty, aborting transaction
[144637.870046] ACPI: EC: input buffer is not empty, aborting transaction
[144637.870059] ACPI Exception: AE_TIME, Returned by Handler for [EmbeddedControl] (20120913/evregion-501)
[144637.870080] ACPI Error: Method parse/execution failed [\_SB_.BAT1._BST] (Node ffff88008bf70380), AE_TIME (20120913/psparse-536)
[144637.870109] ACPI Exception: AE_TIME, Evaluating _BST (20120913/battery-492)

Самое интересное то, что при однократном коротком нажатии на кнопку включения ноута (на другие кнопки никакой реакции) начинает работать клавиатура/тачпад и прочее.

Дистр opensuse 12.3. bios прошивал, не помогло.


Может dsdt кривой?
Проверить можно так:

sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.dat
iasl -d dsdt.dat
iasl -tc dsdt.dsl
Потом посмотреть в конце, сколько ошибок и предупреждений выдаст.

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

Получилось так:

alex@r58:~> iasl -tc dsdt.dsl

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20121220-64
Copyright (c) 2000 - 2012 Intel Corporation

dsdt.dsl    567:                         Notify (\_SB.PCI0.AGP.VGA, 0x00)
Error    4084 -                           Object does not exist ^  (\_SB.PCI0.AGP.VGA)

dsdt.dsl    573:                 Notify (\_SB.PCI0.AGP.VGA, 0x80)
Error    4084 -                   Object does not exist ^  (\_SB.PCI0.AGP.VGA)

dsdt.dsl    583:                 Notify (\_SB.PCI0.AGP.VGA, 0x81)
Error    4084 -                   Object does not exist ^  (\_SB.PCI0.AGP.VGA)

dsdt.dsl   1479:                     0x00000000,         
Error    4043 -                              ^ Invalid combination of Length and Min/Max fixed flags

dsdt.dsl   4854:                                 Notify (\_SB.PCI0.AGP.VGA.LCD, 0x87)
Error    4084 -                                       Object does not exist ^  (\_SB.PCI0.AGP.VGA.LCD)

dsdt.dsl   4874:                                 Notify (\_SB.PCI0.AGP.VGA.LCD, 0x86)
Error    4084 -                                       Object does not exist ^  (\_SB.PCI0.AGP.VGA.LCD)

dsdt.dsl   5177:                             Return (If (LEqual (Arg0, 0x07))
Error    4124 -  syntax error, unexpected PARSEOP_IF ^ 

dsdt.dsl   5180:                             })
Error    4124 - syntax error, unexpected ')' ^ 

dsdt.dsl   5192:                                 Store (0x00, SSZE)
Error    4124 -                                     ^ syntax error, unexpected PARSEOP_STORE

dsdt.dsl   5204:                         CreateWordField (ATIB, 0x00, SSZE)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5205:                         CreateWordField (ATIB, 0x02, VERN)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5206:                         CreateDWordField (ATIB, 0x04, NMSK)
Error    4084 -                        Object does not exist ^  (ATIB)

dsdt.dsl   5207:                         CreateDWordField (ATIB, 0x08, SFUN)
Error    4084 -                        Object does not exist ^  (ATIB)

dsdt.dsl   5213:                         Return (ATIB)
Error    4084 -              Object does not exist ^  (ATIB)

dsdt.dsl   5219:                         CreateWordField (ATIB, 0x00, SSZE)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5220:                         CreateDWordField (ATIB, 0x02, VMSK)
Error    4084 -                        Object does not exist ^  (ATIB)

dsdt.dsl   5221:                         CreateDWordField (ATIB, 0x06, FLGS)
Error    4084 -                        Object does not exist ^  (ATIB)

dsdt.dsl   5225:                         Return (ATIB)
Error    4084 -              Object does not exist ^  (ATIB)

dsdt.dsl   5254:                         CreateWordField (ATIB, 0x00, SSZE)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5255:                         CreateDWordField (ATIB, 0x02, PSBI)
Error    4084 -                        Object does not exist ^  (ATIB)

dsdt.dsl   5256:                         CreateByteField (ATIB, 0x06, EXPM)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5257:                         CreateByteField (ATIB, 0x07, THRM)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5258:                         CreateByteField (ATIB, 0x08, THID)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5259:                         CreateByteField (ATIB, 0x09, FPWR)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5260:                         CreateByteField (ATIB, 0x0A, FPID)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5261:                         CreateByteField (ATIB, 0x0B, SPWR)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5301:                         Return (ATIB)
Error    4084 -              Object does not exist ^  (ATIB)

dsdt.dsl   5307:                         CreateWordField (ATIB, 0x00, SSZE)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5308:                         CreateByteField (ATIB, 0x02, TSEF)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5309:                         CreateByteField (ATIB, 0x03, TVIF)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5315:                         Store (ATIB, \_SB.PCI0.LPC0.INFO)
Error    4084 -             Object does not exist ^  (ATIB)

dsdt.dsl   5320:                         Return (ATIB)
Error    4084 -              Object does not exist ^  (ATIB)

dsdt.dsl   5326:                         CreateWordField (ATIB, 0x00, SSZE)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5327:                         CreateByteField (ATIB, 0x02, TSEF)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5328:                         CreateByteField (ATIB, 0x03, TVIF)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5335:                         Store (ATIB, \_SB.PCI0.LPC0.INFO)
Error    4084 -             Object does not exist ^  (ATIB)

dsdt.dsl   5343:                         CreateWordField (ATIB, 0x00, SSZE)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5344:                         CreateByteField (ATIB, 0x02, XMOD)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5350:                         Store (ATIB, \_SB.PCI0.LPC0.INFO)
Error    4084 -             Object does not exist ^  (ATIB)

dsdt.dsl   5355:                         Return (ATIB)
Error    4084 -              Object does not exist ^  (ATIB)

dsdt.dsl   5361:                         CreateWordField (ATIB, 0x00, SSZE)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5362:                         CreateByteField (ATIB, 0x02, XMOD)
Error    4084 -                       Object does not exist ^  (ATIB)

dsdt.dsl   5368:                         Store (ATIB, \_SB.PCI0.LPC0.INFO)
Error    4084 -             Object does not exist ^  (ATIB)

dsdt.dsl   5382:                             Notify (VGA, 0x81)
Error    4084 -                 Object does not exist ^  (VGA_)

dsdt.dsl   5396:                             Notify (VGA, 0x81)
Error    4084 -                 Object does not exist ^  (VGA_)

dsdt.dsl   5406:                             Notify (VGA, 0x81)
Error    4084 -                 Object does not exist ^  (VGA_)

dsdt.dsl   5810:         }cal5)
Error    4124 -         ^ syntax error, unexpected '}', expecting $end

ASL Input:     dsdt.dsl - 5886 lines, 197463 bytes, 2518 keywords
Hex Dump:      dsdt.hex - 210648 bytes

Compilation complete. 47 Errors, 0 Warnings, 0 Remarks, 860 Optimizations

Что с этим делать?

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

Может dsdt кривой?

В данном случае он тут вообще не при чем.

init_6 ★★★★★ ()

Для начала читать и пробовать Bug 14733 - [PATCH]Oops: ACPI: EC: input buffer is not empty, aborting transaction - 2.6.32 regression - Acer_Aspire_5730ZG а затем по ходу либо писать туда же либо открывать по новой со ссылкой на тот закрытый баг что дескать было вон там но конкретно тебе не помогло.

Что с этим делать?

А что хочешь. Оно тут по ходу вообще не при чем.

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

47 ошибок. Серьёзно. Ошибки можно исправить. А исправленный dsdt при загрузке подсовывать ядру (через grub2).

И это никак не поможет поскольку в данном случае баг в ядре.

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

В общем поставил kernel-vanilla, вместо kernel-default - глюк пропал.

Всем спасибо.

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