Linux ACPI Howto (Настройка и интерфейс)


Перейти к:
Что такое ACPI?
Новости
Загрузки
Для прочтения
Почтовые рассылки
Базовые шаги по добавлению ACPI и DSDT
2.4.19-acpi-dsdt
Ручное восстановление
Определения
Компилятор МС
battstat_аплет
правка_поврежденного_dsdt
пример поврежденного dsdt
пример моего поврежденного_dsdt
мои правки_dsdt
мои dsdt файлы
Pres2701US_статус
IRQ9 хак
cpu_множители
температура acpi
ProLiant сервер


Что такое ACPI?

ACPI это спецификация управления питанием, альтернативная APM. Более подробную информацию об ACPI можно почитать здесь: http://www.acpi.info/


Новости

Ищите новую бету для DSDT таблиц по адресу page for DSDT: http://acpi.sf.net/dsdt/index.php


И так, починена моя Pres2701US BIOS таблица и загружена (2.4.18 / acpi / dsdt) Я обнаружил, что battstat_applet не содержит строки со ссылкой на /proc Отредактировав исходник я получил BAT1 из апплета

Теперь если я смогу убедить battstat_applet разглядеть мою вторую батарейку, то...

Поигравшись с прогой speedstep, которая умеет рулить частотой и напругой на проце, я вышел на цифры 733МГц и 1000МГц

Я до сих пор не нашел мои ключики быстрого доступа. Я думаю надо поэкспериментировать с прерываниями IRQ и тогда смогу получить коды ключей включая комбинации fn F# .

Температура...


Для скачивания

acpidump - http://people.freebsd.org/~takawata/pacpidump.tar.gz
iasl - http://www.intel.com/technology/iapc/acpi/downloads/iasl-linux-20030523.tar.gz
dsdt патч - http://dude.noc.clara.net/~faye/compaq2701ea/linux-2.4.18-acpi-20020709-dsdt.patch.bz2
страница для скачивания ACPI - http://sourceforge.net/project/showfiles.php?group_id=36832
скачать battstat_applet - http://sourceforge.net/projects/battstat/
speedstep 0.1 - http://dude.noc.clara.net/~faye/compaq2701ea/speedstep-0.1.tar.gz
Следующие ресурсы не нужны но я перечислю из для полноты содержания ad.zip : http://www.manlug.mcc.ac.uk/ad.zip (254kb)
Kernel - http://www.kernel.org


Для прочтения

Эта страница - которую ты сечас читаешь ;)
ACPI сайт на sourceforge -
http://sourceforge.net/projects/acpi
acpi спецификация - http://www.acpi.info/index.html
страница faye - http://dude.noc.clara.net/~faye/compaq2701ea/index.html
быстродействие и разгон процессора - http://www.brodo.de/english/pub/acpi/proc/processor.html


Почтовая подписка

Если вы хотели бы подписаться на рассылку по ACPI, тогда последню информацию по этому поводу можно найти здесь: http://sourceforge.net/mail/index.php?group_id=36832


Основные шаги по добавлению ACPI и DSDT в ядро

Что надо сделать:

  1. mkdir /tmp/acpi && cd /tmp/acpi
  2. cat /proc/acpi/dsdt > dsdt.dat (root-овые права понадобятся здесь)
  3. собрать pacpidump.tar.gz (подправить Makefile для сборки на linux -- он хорошо документирован и короток)
  4. ./pacpidump/acpidump > dsdt.asl (root-овые права понадобятся здесь)


  5. Замечание: предположу что возможно использовать iasl с ключем -d для дампа таблицы в файл .asl, однако приятель который показал мне эту фишку сказал:

    "Я не проверял на сколько хорош iasl для отключения AML. Это новая фича и поэтому не защищена от глюков. Не рекомендовал бы.

    С использованием pacpidump все должно быть ОК, но версия должна быть последней стабильной под FreeBSD"

    Думаю добавить тут больше нечего.

  6. ремонт dsdt.asl (зависит от конкретного случая, читай ниже варианты)
  7. распакуйте iasl-linux-20020725.tar.gz
  8. ./iasl-linux-20020725/iasl -tc dsdt.asl (Compilation complete. 0 errors 0 warnings)
  9. cat linux-2.4.18.tar.bz2 | bunzip2 | tar -xvf -
  10. cd linux
  11. zcat ../acpi-20020726-2.4.18.diff.gz | patch -p1
  12. cat ../linux-2.4.18-acpi-20020709-dsdt.patch.bz2 | bunzip2 | patch -p1
  13. cp -a ../dsdt.hex drivers/acpi/tables/acpi_dsdt.c
  14. дале стандартная процедура сборки ядра (
  15. http://www.cpqlinux.com/kernel.html)



Добавлени ACPI и DSDT в ядро 2.4.19

Выполнить следующее:

  1. Распаковать исходник ядра 2.4.19 в одноименную 2.4.19 дирректорию


    1. mkdir /usr/src/unpack
    2. cd /usr/src/unpack
    3. cat /tmp/linux-2.4.19.tar.bz2 | bunzip2 | tar -xvf -


    4. (
      http://www.kernel.org/pub/linux/kernel/v2.4/)

    5. mv linux-2.4.19 ../linux-2.4.19-acpi-dsdt
    6. cd ../linux-2.4.19-acpi-dsdt
    7. rmdir ../unpack


  2. Патчинг ACPI (acpi-20020821-2.4.19.diff.gz)


    1. zcat /tmp/acpi-20020832-2.4.19.diff.gz | patch -p1


    2. (http://sourceforge.net/project/showfiles.php?group_id=36832)
      Результаты после патча должны выглядеть прилично.



  3. Если заинклюдить вашу DSDT таблицу и применить patch osl.c, то будет применена она


    1. zcat /tmp/linux-2.4.18-acpi-20020709-dsdt.patch.bz2 | bunzip2 | patch -p1


    2. (http://dude.noc.clara.net/~faye/compaq2701ea/linux-2.4.18-acpi-20020709-dsdt.patch.bz2)
      Это тоже применяется без ошибок.



  4. Если включаете Вашу собственную таблицу DSDT, то теперь вставьте фиксированную


    1. cp -a /tmp/dsdt.hex drivers/acpi/tables/acpi_dsdt.c


  5. Как обычно теперь создайте свое ядро (http://www.cpqlinux.com/kernel.html)


    1. редактируем Makefile


    2. Меняем "EXTRAVERSION = " (находится сверху) на вроде этого "EXTRAVERSION = -acpi-dsdt-20020905-1"
      Увеличивайте значение "EXTRAVERSION =" каждый раз при построении нового ядра.

    3. получаем файл "конфигурации" ядра Red Hat по умолчанию


    4. cp ../linux-2.4/configs/kernel-2.4.7-10 arch/i386/defconfig

    5. настраиваем новый .config файл


    6. make mrproper
      yes "" | make oldconfig

    7. проверьте, чтобы acpi был статично включен и не создан как модуль. Было бы хорошей идеей выключить APM, если Вы не знаете, что Вы делаете.


    8. make xconfig
      Также, после запуска mrproper, хорошо было бы сохраниться и выйти из "make xconfig", даже если Вы не вносили никаких изменений в "make xconfig" -- "make mrproper" удаляет некоторые связи, которые "make xconfig" требует возврата на место.

    9. Теперь создаём ядро и модули


    10. make clean dep bzImage modules

    11. Устанавливаем ядро и модули


    12. В этой же директории от пользователя root выполните следующее (/usr/src/linux-2.4.19-acpi-dsdt)
      make modules_install
      Узнайте значение, помещённое в Makefile, и используйте это значение для следующих строк: "cat Makefile | grep ^EXTRAVERSION"
      cp -a arch/i386/boot/bzImage /boot/vmlinuz-2.4.19-acpi-dsdt-20020905-1
      cp -a System.map /boot/System.map-2.4.19-acpi-dsdt-20020905-1
      mkinitrd /boot/initrd-2.4.19-acpi-dsdt-20020905-1.img 2.4.19-acpi-dsdt-20020905-1

    13. Не забудьте отредактировать /boot/grub/grub.conf или /etc/lilo.conf; при использовании LILO, запустите /sbin/lilo после изменения /etc/lilo.conf


    14. Смотрите http://www.cpqlinux.com/kernel.html для более детальной информации.
      Кроме того, загрузившись на своём новом ядре, при использовании VMWARE или Lin модем или любого похожего аддона, в зависимости от рабочего ядра, тогда действуйте и правильно настройте их после того, как загрузились и исходный каталог ядра пока есть (обычно это требует прав root):
      yes "" | /usr/bin/vmware-config.php
      yes "" | /usr/sbin/hsfconfig


      Я бы посоветовал выполнить dmesg сразу после загрузки, чтобы получать наименьшее количество возможных сообщений:
      cd /tmp
      dmesg > dmesg.txt

      Теперь начинайте искать ошибки, сбои, неизвестные ошибки, предупреждения, и т.д. Также проверьте /proc/acpi на наличие различных требуемых компонентов.

      Ох, и battstat возможно потребует патчинга, зайдите на эту веб-страницу за патчем для battstat.



    battstat_applet

    2.0.13 - http://sourceforge.net/projects/battstat/
    08/16/2002 - battstat_applet-2.0.13.patch - патч для наладки новой /proc структуры в текущем ACPI (08/2002) Хотя данный апплет не показывает bat2, наверное, я буду работать над этим потом...
    09/05/2002 - battstat_applet-2.0.13-patch.diff - налаживает новую /proc структуру и отображает "battery time remaining" (оставшееся время заряда батарей)

    При работе с Red Hat возможно потребуется изменить строку "prefix" в "Makefile" с /usr/local на /usr, как предлагается предупреждающим сообщением, которое отображает ./configure. Это позволяет установить battstat_applet прямо на мой gnome рабочий стол без перемещений чего-либо вокруг.


    Выход из подвисания

    Выход из жёсткой блокировки GUI-интерфейса:
    Если нет отклика ни от клавиатуры, ни от монитора, тогда для восстановления нужно:
    1. если сеть работает, тогда зайти ssh/rsh/telnet и перегрузить машину
    2. если сеть не работает, тогда пробуйте сочетание клавиш: CTRL ALT F1 CTRL ALT DEL. Картиники не будет или отклика клавиатуры, но _ВОЗМОЖНО_ это вслепую переключит в tty1 (CTRL ALT F1) и нажатие CTRL ALT DEL _ВОЗМОЖНО_ заставит систему выполнить аккуратную перезагрузку, а не жёсткое выключение, затем ожидайте соответствующее количество времени, сколько обычно занимает перезагрузка Вашей машины.


    Определения

    .ASL - assembly source language (исходный код)
    .AML - assembly machine language (бинарный код)
    dsdt.dat - бинарная версия таблицы dsdt



    iASL против компилятора MS

    Компилятор iASL отловит эту проблему (Допустимая ширина Field Unit продолжается за пределами области) dj время компиляции, а также многое, многое другое, чего не сделает компилятор MS.

    Более того, компилятор iASL оптимизирует AML, уменьшая вывод где угодно от 5 % до 20 %.


    Ремонт повреждённой таблицы DSDT

    Основываясь на полученной ошибке при попытке рекомпиляции таблицы dsdt (./iasl-linux-20020725/iasl -tc dsdt.asl), одно из следующих исправлений должно Вам помочь:

  • Предупреждение 2026 - Reserved method must return a value (Зарезервированный метод должен возвратить значение)


  • >> dsdt.asl 134: Method(_WAK, 1) {
    >> Warning 2026 - ^ Reserved method must return a value (_WAK)

    Возможно, Вам следует добавить "Return(Package(0x02){0x00, 0x00})" в новой
    строке перед закрытием фигурной скобки, наподобие этого:

    Method(_WAK, 1) {
    ... ... ...
    Return(Package(0x02){0x00, 0x00})
    }

    Более подробные примечания по этому методу _WAK предлагают другую строку возврата:
    На данный момент, acpi-ca под linux не проверяет строку возврата метода _WAK
    , поэтому безопасно игнорировать это предупреждение. Так или иначе, если хотите
    отвязаться от него, нужно добавить:

    Return(Package(0x02){0x00, 0x00})

    в конец функции. Хотя не уверен для 0x00, 0x00.


  • Error 1022 - Object does not exist (объект не существует)


  • >> dsdt.asl 281: If(\_OSI) {
    >> Error 1022 - Object does not exist ^ (\_OSI)

    Возможно, Вам нужно найти строки "Scope" и добавить спереди "\", где его нет:

    Меняем:
    Scope(_SB_) {
    на:
    Scope(\_SB_) {

    Также пропускаем все строки "name", у которых нет в начале слэшей. Я не думаю, что строки name должны быть изменены таким способом. Я думаю, что всё написано так, что "\" среди всего прочего предварительно ожидается в начале этих строк



  • Error 1051 - Access width of Field Unit extends beyond region limit (Допустимая ширина Field Unit продолжается за пределами области)


  • >> dsdt.asl 848: SRST, 1,
    >> Error 1051 - ^ Access width of Field Unit extends beyond region limit


    Следует увеличить длину исходной области действия

    Вот проблема

    1) Длина области Op xA7 (0 - A6)

    2) Ширина доступа поля - DwordAcc (4 байта за прочтение или запись)

    3) Поле PWST обладает байтовым смещением xA4. Выровненный Dword считывает из этого поля байты чтения A4, A5, A6, и A7. Смещение A7 вне конца области.

    4) Точно так же происходит с полем PMST при байтовом смещении A5. Выровненный Dword также считывает из этого поля байты чтения A4, A5, A6, и A7.

    Так как аппаратные средства, вероятно, поддерживают только доступ DWORD, вероятная ошибка в коде - то, что op область слишком коротка и должна быть объявлена с длиной 0xA8.

    ПРИМЕЧАНИЕ: -- интерпретатор AML не может этого предположить, это может быть очень серьезным - доступ за пределы области. Это - серьезная ошибка, которая не отловлена компилятором MS, но поймана iASL компилятором.

    Больше информации об этой ошибке:

    Это - 'общая' ошибка в AML большого количества ноутбука, начиная с реализации
    под windows 98/2000, где не проверялась фактически длина области действия.
    Отметьте, что под windows XP, это поведение теперь исправлено (я предполагаю), так, что
    это может также быть проблема с этой ОС...
    Достаточно немного увеличить длину OP (всего лишь добавить 1), и всё
    будет OK. Например, на спутнике toshiba 3000-514, у нас имеется:
    OperationRegion(GPIO,SystemIo,0x1180,0x3B)
    Field(GPIO /* \_SB.PCI0.LPCB.GPIO */,WordAcc,Lock,Preserve)
    {
    AccessAs(DWordAcc,0x00),
    Offset(0x0F),
    ,4,
    LV28,1,
    Offset(0x2D),
    ,5,
    LPOL,1,
    Offset(0x38),
    ,1,
    SRST,1,
    Offset(0x39),
    ,2,
    ACPW,1
    }
    так, что ACPW, который располагается в бите 3 в 0x39 как слово, не принимается.
    Корректная строка для OP должна быть:
    OperationRegion(GPIO,SystemIo,0x1180,0x3C)
    или другое исправление может быть:
    Offset(0x38),
    ,1,
    SRST,1,
    ,9,
    ACPW,1
    и пусть длина будет 0x3B (но, во всяком случае, длина '0x3B', которая является
    59, поскольку OP принимает словам, является бессмысленной.
    Эта простая ошибка, предотвращает считывание батарей, и адаптер переменного тока не будет
    считанным как ожидалось. Отметьте, что под Windows 98/2000, это работает хорошо, но
    та же самая проблема появляется под XP...
    http://www.mobilix.org/toshiba_s3000_601.html
    для модели, действительно подобной той что, я описываю, испытывал те же самые затруднения, и
    , формулировалось это так:
    <quote>
    APM / ACPI
    хорошо, apm не работает должным образом. никакая надежная информация не доступна, хотя выключение машины и сохранения питания, кажется, работает. не опробовал ещё здесь, с тех пор acpi _должно_ быть выше.
    acpi также не работает должным образом. а где-нибудь работает? информация, данная например в /proc/acpi/battery/1/status, кажется, статична и, кажется, повреждается, переключаясь между электропитанием батареей и электросетью. Это могла быть также проблема с аппаратными средствами. программное обеспечение acpi для катастрофических отказов winXP, также, возясь со шнуром питания, чтобы переключиться между ac/dc и батареей.
    </quote>
    На сообщение об этой ошибке, и исправлении, Toshiba не сделала абсолютно _ничего_, даже не ответила.



  • Ошибка 1022 - Object does not exist (объект не существует)


  • >> dsdt.asl 281: If(\_OSI) {
    >> Error 1022 - Object does not exist ^ (\_OSI)

    Добавьте "External (\_OSI)". Следующая версия компилятора понимает что
    _OSI является зарезервированным именем метода, и External не будет требоваться.


  • Ошибка 1048 - Host Operating Region requires ByteAcc access (Область работы узла требует доступа ByteAcc)


  • dsdt.asl 2256: Field(ERAM, AnyAcc, Lock, Preserve) {
    Error 1048 - ^ Host Operation Region requires
    ByteAcc access

    Любая область работы в пространстве EC должна использовать ByteAcc, изменить объявление
    области


  • Ошибка 1013 - Method local variable is not initialized (Локальная переменная метода не инициализирована) (Local0)


  • Intel ACPI Component Architecture
    ASL Compiler / AML Disassembler version 20020725 [Jul 25 2002]
    Copyright (C) 2000 - 2002 Intel Corporation
    Supports ACPI Specification Revision 2.0a

    /tmp/acpi/dsdt.asl 257: Store(Local0, Debug)
    Error 1013 - ^ Method local
    variable is not initialized (Local0)

    /tmp/acpi/dsdt.asl 258: If(LGreater(Local0, 0x56)) {
    Error 1013 - Method local variable is not initialized ^ (Local0)

    ASL Input: /tmp/acpi/dsdt.asl - 2357 lines, 84721 bytes, 1702 keywords
    Compilation complete. 2 Errors 0 Warnings
    Вот сбойный раздел:
     Method(_TMP) {
    If(\_SB_.OKEC) {
    If(LEqual(INBT, 0x0)) {
    Store(0x1, INBT)
    \_SB_.BAT1.SEBI()
    Notify(\_SB_.ACAD, 0x0)
    Notify(\_SB_.BAT1, 0x81)
    Notify(\_SB_.BAT1, 0x80)
    }
    Return(TPTM)
    Store("Current Temperature C is ----------- ", Debug)
    Store(Local0, Debug)
    If(LGreater(Local0, 0x56)) {
    Store(0x56, Local0)
    }
    Store(Local0, Local2)
    Multiply(Local0, 0xa, Local1)
    Add(Local1, TBSE, Local0)
    Store("Current Temperature K is ----------- ", Debug)
    Store(Local0, Debug)
    CHTR(Local2)
    Return(Local0)
    }
    Else {
    Return(TPTM)
    }
    }
    Значения принимаются слева и затем сохраняются направо в "Store" операциях. Таким образом, значение Local0 должно быть помещено в переменную "Debug". Проблема состоит в том, что Local0 никогда не инициализируется. Однако, смотря снова на этот код, мы видим "Return (TPTM)" как раз перед этим сбойным разделом. Этот раздел даже нет шанса быть выполненным, таким образом, мы должны прокомментировать этот раздел так, чтобы ошибки ушли прочь. Таким образом, вышеупомянутое должно быть записано следующим образом
     Method(_TMP) {
    If(\_SB_.OKEC) {
    If(LEqual(INBT, 0x0)) {
    Store(0x1, INBT)
    \_SB_.BAT1.SEBI()
    Notify(\_SB_.ACAD, 0x0)
    Notify(\_SB_.BAT1, 0x81)
    Notify(\_SB_.BAT1, 0x80)
    }
    Return(TPTM)
    /*
    Store("Current Temperature C is ----------- ", Debug)
    Store(Local0, Debug)
    If(LGreater(Local0, 0x56)) {
    Store(0x56, Local0)
    }
    Store(Local0, Local2)
    Multiply(Local0, 0xa, Local1)
    Add(Local1, TBSE, Local0)
    Store("Current Temperature K is ----------- ", Debug)
    Store(Local0, Debug)
    CHTR(Local2)
    Return(Local0)
    */
    }
    Else {
    Return(TPTM)
    }
    }
    Ошибки от этого неиспользованного раздела тогда уйдут.




Пример повреждённой DSDT

Вот образец вывода из повреждённой таблицы dsdt

Intel ACPI Component Architecture
ASL Compiler / AML Disassembler version 20020725 [Jul 25 2002]
Copyright (C) 2000 - 2002 Intel Corporation
Supports ACPI Specification Revision 2.0a

dsdt.asl 134: Method(_WAK, 1) {
Warning 2026 - ^ Reserved method must return a value (_WAK)

dsdt.asl 280: If(CondRefOf(_OSI, Local0)) {
Error 1022 - Object does not exist ^ (_OSI)

dsdt.asl 281: If(\_OSI) {
Error 1022 - Object does not exist ^ (\_OSI)

dsdt.asl 282: "Windows 2001"
Error 1037 - parse error ^

dsdt.asl 566: Method(_DOD) {
Warning 2019 - ^ Mixed return types in method (_DOD)

dsdt.asl 566: Method(_DOD) {
Warning 2026 - ^ Reserved method must return a value (_DOD)

dsdt.asl 848: SRST, 1,
Error 1051 - ^ Access width of Field Unit extends beyond region limit

dsdt.asl 851: ACPW, 1
Error 1051 - ^ Access width of Field Unit extends beyond region limit

dsdt.asl 2256: Field(ERAM, AnyAcc, Lock, Preserve) {
Error 1048 - ^ Host Operation Region requires ByteAcc access

ASL Input: dsdt.asl - 3250 lines, 135282 bytes, 2300 keywords
Compilation complete. 6 Errors 3 Warnings


Образец моей повреждённой DSDT

Intel ACPI Component Architecture
ASL Compiler / AML Disassembler version 20020725 [Jul 25 2002]
Copyright (C) 2000 - 2002 Intel Corporation
Supports ACPI Specification Revision 2.0a

dsdt.asl 147: Store(0x0, \_SB_.OKEC)
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 156: Method(_WAK, 1) {
Warning 2019 - ^ Mixed return types in method (_WAK)

dsdt.asl 156: Method(_WAK, 1) {
Warning 2026 - ^ Reserved method must return a value (_WAK)

dsdt.asl 179: Store(0x1, \_SB_.OKEC)
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 182: Store(Zero, \_SB_.ACOK)
Error 1022 - Object does not exist ^ (\_SB_.ACOK)

dsdt.asl 1548: Store(Arg1, \_SB_.OKEC)
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 1730: Store(0x1, \_SB_.ACOK)
Error 1022 - Object does not exist ^ (\_SB_.ACOK)

dsdt.asl 1754: Store(One, \_SB_.ACOK)
Error 1022 - Object does not exist ^ (\_SB_.ACOK)

dsdt.asl 2039: Store(One, \_SB_.ACOK)
Error 1022 - Object does not exist ^ (\_SB_.ACOK)

dsdt.asl 2136: PWST, 2,
Error 1051 - ^ Access width of Field Unit extends beyond region limit

dsdt.asl 2139: PMST, 1
Error 1051 - ^ Access width of Field Unit extends beyond region limit

dsdt.asl 2726: If(\_SB_.OKEC) {
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 2755: If(LEqual(\_SB_.ACOK, 0x0)) {
Error 1022 - Object does not exist ^ (\_SB_.ACOK)

dsdt.asl 2759: If(\_SB_.OKEC) {
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 2892: If(\_SB_.OKEC) {
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 2924: If(\_SB_.OKEC) {
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 3181: If(\_SB_.OKEC) {
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 3213: If(\_SB_.OKEC) {
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

dsdt.asl 3458: If(\_SB_.OKEC) {
Error 1022 - Object does not exist ^ (\_SB_.OKEC)

ASL Input: dsdt.asl - 3554 lines, 137316 bytes, 2699 keywords
Compilation complete. 17 Errors 2 Warnings



Мои исправления DSDT

Следующее, что я предпринял, чтобы исправить свою DSDT таблицу:
У меня было две различных строки, которые гласили "Scope(_SB_) {". Исправление первой никак не повлияло на ошибки поэтому я оставил её в покое. Я изменил вторую, и большинство ошибок ушло (Уменьшилось с 17 ошибок 2 предупреждений до 2 ошибок 2 предупреждений).
Затем я добавил "Return(0x0)" сразу перед закрывающей фигурной скобкой _WAK метода. Теперь стало 2 ошибки и 0 предупреждений.
Затем изменил 0xa7 на 0xa8:
с:
OperationRegion(CCRD, PCI_Config, 0x0 0xa7)
на:
OperationRegion(CCRD, PCI_Config, 0x0 0xa8)
Теперь стало 0 ошибок и 0 предупреждений.

Что дальше

Я создал 2.4.18-acpi-dsdt-20020816-1, но всё ешё есть некоторые ошибки:
Unknown bridge resource 2: assuming transparent 
pci_bind-0191 [12] acpi_pci_bind : Device 00:00:1d.07 not present in PCI namespace
pci_bind-0191 [14] acpi_pci_bind : Device 00:00:1f.06 not present in PCI namespace
ACPI: Battery Slot [BAT1] (battery absent) (uhhh, it's really in there and I'm using AC line)
dsmthdat-0432 [30] Ds_method_data_get_val: Uninitialized Local[3] at node dfe72d4c
dsmthdat-0432 [30] Ds_method_data_get_val: Uninitialized Local[3] at node dfe72d4c
dsmthdat-0432 [30] Ds_method_data_get_val: Uninitialized Local[3] at node dff2954c
dsmthdat-0432 [85] Ds_method_data_get_val: Uninitialized Local[3] at node dfe5094c
dsmthdat-0432 [85] Ds_method_data_get_val: Uninitialized Local[3] at node dfe5094c
Попробовал такую штуку, как "eisa_set_level_irq(9);" и пришёл к таким ошибкам:
Unknown bridge resource 2: assuming transparent 
pci_bind-0191 [12] acpi_pci_bind : Device 00:00:1d.07 not present in PCI namespace
pci_bind-0191 [14] acpi_pci_bind : Device 00:00:1f.06 not present in PCI namespace
ACPI: Battery Slot [BAT1] (battery absent)
dsmthdat-0432 [30] Ds_method_data_get_val: Uninitialized Local[3] at node dfe72d4c
dsmthdat-0432 [30] Ds_method_data_get_val: Uninitialized Local[3] at node dfe72d4c


Мои файлы dsdt

dsdt.asl-orig - Моя исходная таблица dsdt
dsdt.asl-fixed - Моя исправленная таблица dsdt
dsdt.asl-diff - Различия между оригинальной и исправленной таблицами dsdt


Статус моего Presario 2701US

Вот мой текущий dmesg вывод из 2.4.18-acpi-dsdt-20020816-1: linux-2.4.18-acpi-dsdt-20020816-1.dmesg.txt
Вот мой текущий dmesg вывод из 2.4.18-acpi-dsdt-20020816-2: linux-2.4.18-acpi-dsdt-20020816-2.dmesg.txt
Вот различия между 1 и 2: linux-2.4.18-acpi-dsdt-20020816-1_2.dmesg.diff.txt

Всё железо работает замечательно: (DVD, CDRW, функциональность BAT1 & BAT2, звук, мышь и 2 клавиши, клавиатура (minux клавиши быстрого доступа, и интернет кнопки прокрутки с 4-мя направлениями), NIC, Conextant модем, регулировка яркости. Клавиши, которые постоянно генерируют сканкоды - не принадлежат ядру ACPI (2.4.18-5) на fn F4 (Клавиша Sleep). Не генерируют сканкоды (используя showkey -s) ни одна из клавиш Fn F# (включая регулировку яркости fn F7 и fn F8).

Добавление основного патча ACPI 20020725 на 2.4.18 помогает моментально с кнопкой крышки и кнопкой выключения по команде shutdown. Также fn F4 все ещё работает и теперь при нажатии fn F3 я получаю "[ACPI Debug] String: Hot-Keys: ----- _Q0c". Ниодна другая клавиша fn F# не даёт отклика посредством showkeys -s.

Теперь у меня есть апдейты из /proc/acpi/ac_adapter и /proc/acpi/BAT*/*. Я изменил battstat_applet и теперь хорошо видится ac_adapter и статус BAT1. Мне всё ещё нужен доступ к остальным клавишам fn F#, клавишам быстрого доступа, интернет кнопкам прокрутки с 4-мя направлениями.

Добавление eisa_set_level_irq(9); не помогло в получении доступа EAK (Easy Access Keys - клавишам быстрого доступа). Я слышал о проекте под названием lineak: http://sourceforge.net/projects/lineak/ и я опробую его следующим, чтобы увидеть EAK. Я проверил lineak проект. Работате чудно; однако если Ваши клавиши не создают сканкодов, тогда lineak бессилен. Похоже, что я должен найти, прерывание для этих клавиш, таким образом, чтобы я смог начать получать их сканкоды. Не уверен, должен ли я начать угадывать некоторые irq или об этом где-то говорится. Сканкоды у меня только на fn F4. Что-то есть на fn F3, но не сканкод, возможно мне стоит "назначить" эту клавишу как сканкод?? Ни одна из, начиная от fn F1 и до fn F12, как клавиши быстрого доступа на текущий момент не генерирую ничего (2.4.19 acpi, исправленная таблица dsdt, тестируемое irq9).

Что сделать:

  1. Посмотреть начнут ли все мои другие "Кнопки быстрого доступа" и таковые работать в определённый момент:


IRQ9 хак

добавьте следующую строку:
"eisa_set_level_irq(9);"
в drivers/acpi/pci_irq.c где-то в районе 365 строки, которая сразу перед возвратом функции acpi_pci_irq_enable().
Теперь запомните, что это временный "хак" и не реальное решение. версия kernel 2.4.19 (или 2.4.18) и acpi 20020821.


ЦП Speedstep / ЦП Производительность

У меня linux 2.4.18-acpi-dsdt-20020816-2, у которого есть irq9, которая помоему ничего не делает.

Speedstepping (изменение частоты и энергопотребления процессора) похоже работает. Я проверил /proc/acpi/processor/CPU0/performance и заметил, что я нахожусь на позиции 733МГц. Я тогда даю задание типа "while :; do cat performance; done" и затем замечаю, что я передвинулся на позицию 1000МГц. Затем нажимаю CTRL C и произвожу cat performance каждые 1 или 2 секунды и замечаю, что она упала обратно на отметку 733МГц. Как по мне выглядит нормально!

Я скачал speedstep программу faye points версии 0.1:
http://dude.noc.clara.net/~faye/compaq2701ea/speedstep-0.1.tar.gz.
Отметьте, что я видел, что там есть версия 0.4 (http://www.goof.com/pcg/marc/speedstep.html),
но тогда я также заметил, что она, похоже, есть также в ядре linux.4.19-pre9-ac3 (http://www.pm.waw.php/~jslupski/vaio/#cpu).

Итак, я попробую 2.4.19 с новым патчем 2.4.19 http://sourceforge.net/project/showfiles.php?group_id=36832 и затем заполучу этот 0.4 speedstep и посмотрю что будет. (Я удалю этот irq9 в данном 2.4.19, так как, кажется, он ничего не делает). Не слишком мне повезло с 0.4 speedstep, так что я вернулся к использованию 0.1 speedstep. Хотя от 0.4 я получал сообщение об ошибке:
[root@p2701 CPU0]# /opt/speedstep/sbin/speedstep 
EDI == 0202fe05 != 02020005|02020004,
please report this to , together with /proc/cpuinfo
(suppress this notice with -q)
current state: battery optimized
[root@p2701 CPU0]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 11
model name : Intel(R) Pentium(R) III Mobile CPU 1000MHz
stepping : 1
cpu MHz : 996.693
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1985.74

[root@p2701 CPU0]#


Так что из себя представляет эта вешь Linux CPUFreq, которую я обнаружил? http://www.brodo.de/cpufreq/

Глупый я глупый, спроси, и иногда тебе ответят. У меня нет времени, чтобы объединить это как следует с остальной частью этого раздела, таким образом, я просто вырежу и вставлю часть электронного письма для Вас здесь.

Я возвратился к работе -- у нас здесь есть девочка Сара Роуз.

Привет,

Спасибо за прекрасный сайт. Он располагает хорошей информацией для всех
пользователей ACPI. И спасибо за привязку моего веб-сайта (http://www.brodo.de/)

Несколько комментариев к разделу ЦП Speedstep / ЦП Производительность в твоём
acpi-руководстве:

На текущий момент, есть три опции, позволяющие получить доступу к "SpeedStep".

1.) ACPI "P-States" - /proc/acpi/processor/.../performance
Здесь используются предусмотренные средства ACPI(DSDT, некоторые BIOS интерфейсы) для переключения
частоты ЦП.

2.) CPUfreq - действующий драйвер speedstep
Используется прямой доступ к регистрам материнской платы/южного моста для переключения
частоты ЦП. Работает только на южных мостах ICH2-M и ICH3-M.
Для других методов изменения частоты, существуют другие "действующие" драйвера. Все
можно поменять с помощью /proc/cpu/0/... (интерфейс 2.4.) или /proc/cpufreq (интерфейс
2.6.). CPUfreq был объединён с 2.5.40, совсем недавно я отправил патч, который объединяет
ACPI "P-States" как очередной CPUfreq "аппаратный" драйвер в ACPI
список разработки.

[Примечание: Данный патч включен в ядро 2.5.45]

Патч linux-2.4.19-pre9-ac3, который ты упомянул, в действительности включает этот
драйвер CPUfreq speedstep.

3.) speedstep driver Марка
Здесь используется недокументированное, сомнительное, по моему мнению очень опасное
согласование с BIOS. Это, кажется, работает на нескольких ноутбуках; но это
очень подозрительно. Intel-SpeedStep на Pentium III - Tualatin - специфичен.
Ни Марк, ни я не намереваемся интегрировать этот инструмент пользователя в ядро,
или интегрировать его как cpufreq драйвер.


Если у вас есть ещё вопросы по ACPI P-States, CPUfreq или SpeedStep,
пожалуйста, спрашивайте, не стесняйтесь.

Dominik


ACPI температура

Эй, давайте проверим ACPI температуру:
heatload 0.2 - монитор загрузки ЦП и ACPI температуры
http://www.stud.uni-hamburg.de/users/lennart/projects/heatload/

Ничего толком не получилось, так как он рассчитан строго на gnome -- У меня был установлен как-то, но кажется, у меня была недостаточно проинсталлирована среда разработки для gnome... :-( Пытался стащить gconfmm-1.3.7.tar.gz, gnomemm-1.2.3.tar.gz, и gtkmm-1.2.10.tar.gz с:http://sourceforge.net/project/showfiles.php?group_id=1161. Получилось поставить gtkmm; однако и gconfmm и gnomemm не установились. Возможно я нуждаюсь в других проектах с этой страницы...


Сервера ProLiant

У меня получилось с BL10e, отпишусь попозже.

Вот единственная информация, которая есть по другим серверам ProLiant:

Большинство ProLiant серверов серий ML, DL, CL, и BL совместимы с ACPI спецификацией 1.0b. В особенности, данное Intel руководство для поддержки новых функций Pentium4, таких как температурная регулировка и гиперпоточность, все Pentium4- и основанные на Хeon серверы ProLiant являются совместимыми с спецификацией ACPI 1.0b. На данный момент, сервера ProLiant поддерживают только энергосберегающий режим S0 (включение питания) и энергосберегающий режим S5 (выключение питания). Уровень поддержки аппаратной части/ПЗУ для других энергосберегающих режимов, таких как S1, исследуется.

Когда включено (по-умолчанию), Windows 2000 (и .NET после выпуска) поддерживает корректное завершение работы/выключение питания системы посредством ACPI (энергосберегающий режим S5). Данные настройки изменяются через Панель управления-> Электропитание и вкладка Расширенные.

Когда загружены и включены (по-умолчанию) драйверы ProLiant ACPI для NetWare (CPQACPI.PSM, и т.д., версии 1.04 или позже), NetWare v 6.0 поддерживает корректное завершение работы/выключение питания системы посредством ACPI (энергосберегающий режим S5). Эти настройки могут быть изменены через консоль NetWare параметров SET, как описано в новой ACPI SET-категории.



Я протестировал 2 конфигурации, чтобы определить какие компоненты работают/не работают. Вот результаты. Черные пункты тестировались. Красные пункты не тестровались.



Red Hat 7.3 2.4.18-5 (без ACPI)

Что работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • VGA выход
  • S-video выход (tv-выход)
  • NIC
  • модем
  • cdrw резак (future bay II) - тест чтения
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • микрофонный разъём
  • разъём наушников
  • динамики
  • dvd плеер
  • PCMCIA слот
  • LCD панель
  • кнопка крышки
  • выключение питания по завершении работы
  • тачпад (мышь)
  • 2 кнопки мыши 1 & 2
  • интернет кнопки прокрутки с 4-мя направлениями
  • Клавиши быстрого доступа (интернет, почта, поиск, звук, увел. громкости, умен. громкости)
  • fn F1 (Q - Compaq)
  • fn F2 (? - Помощь)
  • fn F3 (экран)
  • fn F4 (режим ожидания)
  • fn F5 (пустой)
  • fn F6 (пустой)
  • fn F7 (умен. яркости)
  • fn F8 (увел. яркости)
  • fn F9 (воспр/пауза)
  • fn F10 (стоп)
  • fn F11 (перемотка назад)
  • fn F12 (перемотка вперёд)
  • Windows Key Left - генерирует сканкод
  • Windows Key Right - генерирует сканкод
  • Copy/Past Key - генерирует сканкод

Что не работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • VGA выход
  • S-video выход (tv-выход)
  • NIC
  • модем
  • cdrw резак (future bay II) - read test
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • разъём наушников
  • динамики
  • dvd плеер
  • PCMCIA разъём
  • LCD панель
  • Кнопка крышки
  • выключение питания по завершении работы
  • тачпад (мышь)
  • 2 кнопки мыши 1 & 2
  • интернет кнопки прокрутки с 4-мя направлениями
  • Клавиши быстрого доступа (интернет, почта, поиск, звук, увел. громкости, умен. громкости)
  • fn F1 (Q - Compaq)
  • fn F2 (? - Помощь)
  • fn F3 (экран)
  • fn F4 (режим ожидания)
  • fn F5 (пустой)
  • fn F6 (пустой)
  • fn F7 (умен. яркости)
  • fn F8 (увел. яркости)
  • fn F9 (воспр/пауза)
  • fn F10 (стоп)
  • fn F11 (перемотка назад)
  • fn F12 (перемотка вперед)
  • Windows Key Left - генерирует сканкод
  • Windows Key Right - генерирует сканкод
  • Copy/Past Key - генерирует сканкод

Red Hat 7.3 2.4.18-acpi

Что работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • VGA выход
  • S-video выход (tv-выход)
  • NIC
  • модем
  • cdrw резак (future bay II) - read test
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • разъём наушников
  • динамики
  • dvd плеер
  • PCMCIA разъём
  • LCD панель
  • Кнопка крышки
  • выключение питания по завершении работы
  • тачпад (мышь)
  • 2 кнопки мыши 1 & 2
  • интернет кнопки прокрутки с 4-мя направлениями
  • Клавиши быстрого доступа (интернет, почта, поиск, звук, увел. громкости, умен. громкости)
  • fn F1 (Q - Compaq)
  • fn F2 (? - Помощь)
  • fn F3 (экран)
  • fn F4 (режим ожидания)
  • fn F5 (пустой)
  • fn F6 (пустой)
  • fn F7 (умен. яркости)
  • fn F8 (увел. яркости)
  • fn F9 (воспр/пауза)
  • fn F10 (стоп)
  • fn F11 (перемотка назад)
  • fn F12 (перемотка вперед)
  • Windows Key Left - генерирует сканкод
  • Windows Key Right - генерирует сканкод
  • Copy/Past Key - генерирует сканкод

Что не работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • VGA выход
  • S-video выход (tv-выход)
  • NIC
  • модем
  • cdrw резак (future bay II) - read test
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • разъём наушников
  • динамики
  • dvd плеер
  • PCMCIA разъём
  • LCD панель
  • Кнопка крышки
  • выключение питания по завершении работы
  • тачпад (мышь)
  • 2 кнопки мыши 1 & 2
  • интернет кнопки прокрутки с 4-мя направлениями
  • Клавиши быстрого доступа (интернет, почта, поиск, звук, увел. громкости, умен. громкости)
  • fn F1 (Q - Compaq)
  • fn F2 (? - Помощь)
  • fn F3 (экран)
  • fn F4 (режим ожидания)
  • fn F5 (пустой)
  • fn F6 (пустой)
  • fn F7 (умен. яркости)
  • fn F8 (увел. яркости)
  • fn F9 (воспр/пауза)
  • fn F10 (стоп)
  • fn F11 (перемотка назад)
  • fn F12 (перемотка вперед)
  • Windows Key Left - генерирует сканкод
  • Windows Key Right - генерирует сканкод
  • Copy/Past Key - генерирует сканкод

Red Hat 7.3 2.4.18-acpi-dsdt

Что работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • VGA выход
  • S-video выход (tv-выход)
  • NIC - eepro100
  • модем
  • cdrw резак (future bay II) - read test
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • разъём наушников
  • динамики
  • dvd плеер
  • PCMCIA разъём
  • LCD панель
  • Кнопка крышки
  • выключение питания по завершении работы
  • тачпад (мышь)
  • 2 кнопки мыши 1 & 2
  • fn F3 (экран)
  • fn F4 (режим ожидания)
  • Windows Key Left - генерирует сканкод
  • Windows Key Right - генерирует сканкод
  • Copy/Past Key - генерирует сканкод

Что не работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • 1394 Firewire
  • S-video выход (tv-выход)
  • модем
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • PCMCIA разъём
  • интернет кнопки прокрутки с 4-мя направлениями
  • Клавиши быстрого доступа (интернет, почта, поиск, звук, увел. громкости, умен. громкости)
  • fn F1 (Q - Compaq)
  • fn F2 (? - Помощь)
  • fn F5 (пустой)
  • fn F6 (пустой)
  • fn F7 (умен. яркости)
  • fn F8 (увел. яркости)
  • fn F9 (воспр/пауза)
  • fn F10 (стоп)
  • fn F11 (перемотка назад)
  • fn F12 (перемотка вперед)

Red Hat 7.3 2.4.18-acpi-dsdt-irq9test

Что работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • VGA выход
  • S-video выход (tv-выход)
  • NIC --pro100
  • модем
  • cdrw резак (future bay II) - read test
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • разъём наушников
  • динамики
  • dvd плеер
  • PCMCIA разъём
  • LCD панель
  • Кнопка крышки
  • выключение питания по завершении работы
  • тачпад (мышь)
  • 2 кнопки мыши 1 & 2
  • fn F3 (экран)
  • fn F4 (режим ожидания)
  • Windows Key Left - генерирует сканкод
  • Windows Key Right - генерирует сканкод
  • Copy/Past Key - генерирует сканкод

Что не работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • S-video выход (tv-выход)
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • PCMCIA разъём
  • интернет кнопки прокрутки с 4-мя направлениями
  • Клавиши быстрого доступа (интернет, почта, поиск, звук, увел. громкости, умен. громкости)
  • fn F1 (Q - Compaq)
  • fn F2 (? - Помощь)
  • fn F5 (пустой)
  • fn F6 (пустой)
  • fn F7 (умен. яркости)
  • fn F8 (увел. яркости)
  • fn F9 (воспр/пауза)
  • fn F10 (стоп)
  • fn F11 (перемотка назад)
  • fn F12 (перемотка вперед)

Red Hat 7.3 2.4.19-acpi-dsdt

Что работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • VGA выход
  • S-video выход (tv-выход)
  • NIC
  • модем
  • cdrw резак (future bay II) - read test
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • разъём наушников
  • динамики
  • dvd плеер
  • PCMCIA разъём
  • LCD панель
  • Кнопка крышки
  • выключение питания по завершении работы
  • тачпад (мышь)
  • 2 кнопки мыши 1 & 2
  • интернет кнопки прокрутки с 4-мя направлениями
  • Клавиши быстрого доступа (интернет, почта, поиск, звук, увел. громкости, умен. громкости)
  • fn F1 (Q - Compaq)
  • fn F2 (? - Помощь)
  • fn F3 (экран)
  • fn F4 (режим ожидания)
  • fn F5 (пустой)
  • fn F6 (пустой)
  • fn F7 (умен. яркости)
  • fn F8 (увел. яркости)
  • fn F9 (воспр/пауза)
  • fn F10 (стоп)
  • fn F11 (перемотка назад)
  • fn F12 (перемотка вперед)
  • Windows Key Left - генерирует сканкод
  • Windows Key Right - генерирует сканкод
  • Copy/Past Key - генерирует сканкод

Что не работает (Красным = будет тестироваться):

  • lpt порт
  • PS/2 порт
  • USB
  • 1394 Firewire
  • VGA выход
  • S-video выход (tv-выход)
  • NIC
  • модем
  • cdrw резак (future bay II) - read test
  • дисковод (future bay II)
  • 2ая батарея (future bay II)
  • разъём микрофона
  • разъём наушников
  • динамики
  • dvd плеер
  • PCMCIA разъём
  • LCD панель
  • Кнопка крышки
  • выключение питания по завершении работы
  • тачпад (мышь)
  • 2 кнопки мыши 1 & 2
  • интернет кнопки прокрутки с 4-мя направлениями
  • Клавиши быстрого доступа (интернет, почта, поиск, звук, увел. громкости, умен. громкости)
  • fn F1 (Q - Compaq)
  • fn F2 (? - Помощь)
  • fn F3 (экран)
  • fn F4 (режим ожидания)
  • fn F5 (пустой)
  • fn F6 (пустой)
  • fn F7 (умен. яркости)
  • fn F8 (увел. яркости)
  • fn F9 (воспр/пауза)
  • fn F10 (стоп)
  • fn F11 (перемотка назад)
  • fn F12 (перемотка вперед)
  • Windows Key Left - генерирует сканкод
  • Windows Key Right - генерирует сканкод
  • Copy/Past Key - генерирует сканкод

Примечания по Evo n600c

Даррен Бенхэм написал:

У меня Evo n600c и я должен был сделать три типа изменений...
  1. Требовалось удалить * изо всех name выражений.
  2. Требовалось переписать два _OFF выражения (в основном переделать "if { return } more code" в "if { noop } else {the rest of the code}" , чтобы функции, которые возвращают значение прекращали его возвращать, а выполнение кода _OFF продолжалось.
  3. Требовалось добавить два "внешних" выражения для \_PR.C000 и C001. Я бы мог форсировать трансляцию, но как опытный программер, я предпочитаю отрабатывать код, пока не будет ошибок или предупреждений, чтобы можно было скомпилировать в любом случае. (Я соглашусь с Дарреном про получение "чистой" сборки вместо того, чтобы использовать кувалду -- Я обычно доволен результатами.)
Даррен
Я пришел к выводу, что моя информация ACPI успешно отображается, если я включаю ноутбук (Pres 2701 US) без внешнего питания. Затем я могу включить питание (я не уловил точно, когда я могу его включить), и работать от розетки, и все еще видеть всю ACPI информацию батареи. Часто (если не всегда), если я включаюсь с внешним присоединенным питанием, я не получаю информации ACPI.

Интернет-магазин электроники АКС маркет | how to backup my pc
Поиск по сайту в FreeFind!:
Поиск в Google!:

WWW cpqlinux.com

Текущее положение:
Вернуться на главную: www.cpqlinux.com

Автор:
Ричард "Черный" (Richard Black)
Контакты: contact.html


Сайт создан в: 9/20/1999