ACER Aspire 5520G ACPI & other problem

Решение проблем связванных с работой железа. Проблемы программно-аппаратной совместимости.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
freak
сержант
Сообщения: 183
Зарегистрирован: 2008-07-16 9:30:18
Откуда: UA
Контактная информация:

ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение freak » 2008-07-24 0:34:51

Т.к. почти все проблемы решил в других топиках по сабжу, то в этом топике упор на ACPI (чтоб не сорить в чужих =))
БЫЛО:

Код: Выделить всё

[root@fbook ~/acpi]# iasl acer-aspire-5520g_orig.asl
<skip>
acer-aspire-5520g_orig.asl   224:     Method (\_WAK, 1, NotSerialized)
Warning  1079 -                                   ^ Reserved method must return a value (_WAK)

acer-aspire-5520g_orig.asl   834:                     Name (_T_0, 0x00)
Error    4081 -                           Use of reserved word ^  (_T_0)

acer-aspire-5520g_orig.asl   840:                             Name (_T_1, 0x00)
Error    4081 -                                   Use of reserved word ^  (_T_1)

acer-aspire-5520g_orig.asl   879:                             Name (_T_2, 0x00)
Error    4081 -                                   Use of reserved word ^  (_T_2)

acer-aspire-5520g_orig.asl   926:                         Name (_T_3, 0x00)
Error    4081 -                               Use of reserved word ^  (_T_3)

acer-aspire-5520g_orig.asl   952:             Method (Z004, 0, NotSerialized)
Warning  1086 -     Not all control paths return a value ^  (Z004)

acer-aspire-5520g_orig.asl  1569:                     Name (_T_0, 0x00)
Error    4081 -                           Use of reserved word ^  (_T_0)

acer-aspire-5520g_orig.asl  1625:             Method (_WED, 1, NotSerialized)
Warning  1086 -     Not all control paths return a value ^  (_WED)

acer-aspire-5520g_orig.asl  1625:             Method (_WED, 1, NotSerialized)
Warning  1079 -      Reserved method must return a value ^  (_WED)

acer-aspire-5520g_orig.asl  1631:                         Return (Z004 ())
Warning  1091 -          Called method may not always return a value ^

acer-aspire-5520g_orig.asl  1669:             Method (WMBD, 3, NotSerialized)
Warning  1086 -     Not all control paths return a value ^  (WMBD)

acer-aspire-5520g_orig.asl  2324:                 Name (_HID, "*pnp0c14")
Error    4001 -                   String must be entirely alphanumeric ^  (*pnp0c14)

acer-aspire-5520g_orig.asl  2337:                 Method (WMNV, 3, NotSerialized)
Warning  1086 -         Not all control paths return a value ^  (WMNV)

acer-aspire-5520g_orig.asl  2441:                 Name (_HID, "*pnp0c14")
Error    4001 -                   String must be entirely alphanumeric ^  (*pnp0c14)

acer-aspire-5520g_orig.asl  2941:                     Method (_EJ0, 0, NotSerialized)
Warning  1076 -            Reserved method has too few arguments ^  (_EJ0 requires 1)

ASL Input:  acer-aspire-5520g_orig.asl - 7105 lines, 241244 bytes, 2967 keywords
Compilation complete. 7 Errors, 8 Warnings, 0 Remarks, 719 Optimizations
СТАЛО (временно):

Код: Выделить всё

[root@fbook ~/acpi]# iasl acer-aspire-5520g.asl
<skip>
ASL Input:  acer-aspire-5520g.asl - 7110 lines, 241499 bytes, 2972 keywords
AML Output: /tmp/acpidump.aml - 24477 bytes 876 named objects 2096 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 729 Optimizations
собственно интересует исправление ворнинга в последнем методе. что это такое я знаю. но в гугле\манах встречал только в виде:

Код: Выделить всё

Method (_EJ0, 1, NotSerialized)
или

Код: Выделить всё

Method (_EJ0, 1)
а если и в таком виде, как у меня, то только в контексте ошибок =)
пока поставил просто единичку не вникая))) но это не дело. может кто знает что да как?

з.ы. окончательный дифф выложу позже.
...no lords, no gods, no masters...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Pattern
сержант
Сообщения: 180
Зарегистрирован: 2007-08-30 23:45:54
Откуда: Санкт-Петербург
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение Pattern » 2008-07-24 0:53:03

А на сам ASL можно глянуть? Имхо, компилятор ругается не на сам метод, а на что то другое
Your bunny wrote: its not a bug, this is a feature, actually... ;)

Аватара пользователя
freak
сержант
Сообщения: 183
Зарегистрирован: 2008-07-16 9:30:18
Откуда: UA
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение freak » 2008-07-24 1:00:24

Pattern писал(а):А на сам ASL можно глянуть? Имхо, компилятор ругается не на сам метод, а на что то другое
конечно
Вложения
acer-aspire-5520g_orig.asl.gz
(20.33 КБ) 35 скачиваний
...no lords, no gods, no masters...

Аватара пользователя
Pattern
сержант
Сообщения: 180
Зарегистрирован: 2007-08-30 23:45:54
Откуда: Санкт-Петербург
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение Pattern » 2008-07-24 1:01:34

Спасибо, посмотрю - скажу свои мысли
Your bunny wrote: its not a bug, this is a feature, actually... ;)

Аватара пользователя
freak
сержант
Сообщения: 183
Зарегистрирован: 2008-07-16 9:30:18
Откуда: UA
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение freak » 2008-07-24 1:10:11

только что смотрел свой топик и заметил это:

Код: Выделить всё

(_EJ0 requires 1)
ппц)))))
значит правильные сделал выводы не сильно вникая в маны)) ужс)
...no lords, no gods, no masters...

Аватара пользователя
Pattern
сержант
Сообщения: 180
Зарегистрирован: 2007-08-30 23:45:54
Откуда: Санкт-Петербург
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение Pattern » 2008-07-24 1:23:35

Тэкс, ну во первых, так как это метод, он не может выглядеть так

Код: Выделить всё

Method (_EJ0, 1)
это не определение имени, для метода должна быть такая запись

Код: Выделить всё

Method (_EJ0, 1)
{
//какой то код
}
Ну а что конкретно там должно быть..... Тебе по длинее или по короче? ;-)
в общем - это ман
6.3.3 _EJx (Eject)
These control methods are optional and are supplied for devices that support a software-controlled VCR-style ejection mechanism or that require an action be performed such as isolation of power/data lines before the device can be removed from the system. To support warm (system is in a sleep state) and hot (system is in S0) removal, an _EJx control method is listed for each sleep state from which the device supports removal, where x is the sleeping state supported. For example, _EJ0 indicates the device supports hot removal; _EJ1–EJ4 indicate the device supports warm removal.
For hot removal, the device must be immediately ejected when OSPM calls the _EJ0 control method. The _EJ0 control method does not return until ejection is complete. After calling _EJ0, OSPM verifies the device no longer exists to determine if the eject succeeded. For _HID devices, OSPM evaluates the _STA method. For _ADR devices, OSPM checks with the bus driver for that device.
For warm removal, the _EJ1–_EJ4 control methods do not cause the device to be immediately ejected. Instead, they set proprietary registers to prepare the hardware to eject when the system goes into the given sleep state. The hardware ejects the device only after OSPM has put the system in a sleep state by writing to the SLP_EN register. After the system resumes, OSPM calls _STA to determine if the eject succeeded.
The _EJx control methods take one parameter to indicate whether eject should be enabled or disabled:
1–Hot eject or mark for ejection
0–Cancel mark for ejection (EJ0 will never be called with this value)
A device object may have multiple _EJx control methods. First, it lists an EJx control method for the preferred sleeping state to eject the device. Optionally, the device may list an EJ4 control method to be used when the system has no power (for example, no battery) after the eject. For example, a hot-docking notebook might list _EJ0 and _EJ4.
А это 2 вида примера

Код: Выделить всё

Name(_ADR,0x000200 02)
Method(_EJ0, 1) { // Remove all power to device}
очень похоже на твой пример

Код: Выделить всё

Method(_EJ0, 1) // Successful ejection sequence
{
    Store(Zero, ^^S3LE) // Turn off Ejection Progress LED
}
Собственно, в твоём конкретном случае этот код

Код: Выделить всё

                    Method (_EJ0, 0, NotSerialized)
                    {
                        Return (0x01)
                    }
нужно поменять на следующую запись

Код: Выделить всё

                    Method (_EJ0, 0)
                    {
                        Return (0x01)
                    }
Попробуй, должно помочь
Your bunny wrote: its not a bug, this is a feature, actually... ;)

Аватара пользователя
freak
сержант
Сообщения: 183
Зарегистрирован: 2008-07-16 9:30:18
Откуда: UA
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение freak » 2008-07-24 1:39:46

Pattern писал(а):это не определение имени, для метода должна быть такая запись
я знаю. просто обрезал. суть в аргументах.
Pattern писал(а):Ну а что конкретно там должно быть..... Тебе по длинее или по короче? ;-)
в общем - это ман
ну что-то вроде я читал. суть в откл.питания для хотплагии)))
Pattern писал(а):Method (_EJ0, 0)
{
Return (0x01)
}
так пробовал. ругается. при чем см.выше. ругается на маркер "0".
я поставил пока "1", но боюсь))
The _EJx control methods take one parameter to indicate whether eject should be enabled or disabled:
1–Hot eject or mark for ejection
0–Cancel mark for ejection (EJ0 will never be called with this value)
1 - можно выдергивать))
0 - низя! но блин при этом никогда не вызывается с этим значением! ппц. накрутили код. думаю простым изменением 0 -> 1 не прокатит. разве что только компилятору)) тут надо глобально вникать((
...no lords, no gods, no masters...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение paradox » 2008-07-24 1:48:58

тут надо глобально вникать((
вово
лучше пофиксите весь acpi
чем asl для каждого компа менять
заипетесь))

Аватара пользователя
Pattern
сержант
Сообщения: 180
Зарегистрирован: 2007-08-30 23:45:54
Откуда: Санкт-Петербург
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение Pattern » 2008-07-24 2:03:11

paradox писал(а):лучше пофиксите весь acpi
чем asl для каждого компа менять
заипетесь))
Ну с чего то же надо начинать =)
freak, ну если компилятор требует

Код: Выделить всё

(_EJ0 requires 1)
то поставь ты ему эту единицу и голову не ломай. Тем более, если при правильной записи, если он ругается на 0, а всего он может иметь 2 значения: 0 и 1, то ничего не остаётся, как поставить 1 =)
Не думаю, что что то очень мегастрашное случится =)
Your bunny wrote: its not a bug, this is a feature, actually... ;)

Аватара пользователя
freak
сержант
Сообщения: 183
Зарегистрирован: 2008-07-16 9:30:18
Откуда: UA
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение freak » 2008-07-24 8:11:25

Pattern писал(а):freak, ну если компилятор требует

Код: Выделить всё

(_EJ0 requires 1)
то поставь ты ему эту единицу и голову не ломай. Тем более, если при правильной записи, если он ругается на 0, а всего он может иметь 2 значения: 0 и 1, то ничего не остаётся, как поставить 1 =)
Не думаю, что что то очень мегастрашное случится =)
ну я пока и поставил "1". вот только мегастрашное то, что этот маркер говорит о готовности к горячему отключению. как бы менять на противоположный..... вдруг флешку спалю?))
а вообще, пришла тут мысль, в одном из топиков я упоминал о постоянном горении индикатора обращения к диску при подключении SD-флешки. хотя даже не монтировал ее. и судя по ману за это тоже отвечают _EJx.
...no lords, no gods, no masters...

Аватара пользователя
Pattern
сержант
Сообщения: 180
Зарегистрирован: 2007-08-30 23:45:54
Откуда: Санкт-Петербург
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение Pattern » 2008-07-24 11:26:39

Очень даже может быть. Но на самом деле надо смотреть ASL с dmesg'ом и анализировать, где какой девайс прописан в ASL'е. Например, в моём такая запись

Код: Выделить всё

        Device (LID)
        {
            Name (_HID, EisaId ("PNP0C0D"))
            Method (_LID, 0, NotSerialized)
            {
                Return (LNot (\_SB.PCI0.SMB.GM3C))
            }
        }
определяет дисплей ноута. Вот и тебе нужно определить, где у тебя описание SD. Однако это достаточно муторная работка
Your bunny wrote: its not a bug, this is a feature, actually... ;)

Аватара пользователя
freak
сержант
Сообщения: 183
Зарегистрирован: 2008-07-16 9:30:18
Откуда: UA
Контактная информация:

Re: ACER Aspire 5520G ACPI & other problem

Непрочитанное сообщение freak » 2008-07-24 11:36:30

Pattern писал(а):Очень даже может быть. Но на самом деле надо смотреть ASL с dmesg'ом и анализировать, где какой девайс прописан в ASL'е. Например, в моём такая запись

Код: Выделить всё

        Device (LID)
        {
            Name (_HID, EisaId ("PNP0C0D"))
            Method (_LID, 0, NotSerialized)
            {
                Return (LNot (\_SB.PCI0.SMB.GM3C))
            }
        }
определяет дисплей ноута. Вот и тебе нужно определить, где у тебя описание SD. Однако это достаточно муторная работка
я уже понял, что муторная. но за меня никто не сделает. "ответа комьюнити 3 года ждут" (с) ))
ничего. потихоньку доковыряю =)
...no lords, no gods, no masters...