MS-6163 Pro - проблемы с ком-портами и ACPI

Есть MS-6163 Pro (на i440BX, v2.0), прошит самый новый биос (3.10) с микростаровского сайта. Юзаю комовскую мышь. Когда стояла 98-я винда и включен ACPI (и в винде тоже) то после перехода в спячий режим перестает работать мышь - комп не просыпается если ее дергать и после просыпания с клавы или по кнопке ее тоже нету... Если еще раз усыпить комп, она начинала работать. Поэтому под 98-й жил без ACPI и все работало нормально. Решил поставить 2000, а в нем без ACPI плохо. Включил, установил, все нормально нашлось, установилось, но приколы с мышей остались, теперь она в отключке при спячем режиме, но нормально работает после просыпания (даже фича своего рода), но есть проблема, модем, подключенный к другому ком-порту неможет разбудить комп, кода на нево звонят (в биосе все вродь-как настроено, выставлено прерывание порта, который под модем задействован, пробовал "просыпаться от звонка", хотя это и немного из другой оперы, но всетаки).

Есть ли такой глюк у ковонить на такой-же матери??

Как это можно пофиксить???

Это наверно в биосе в таблице ACPI криво работа с ком-портами описана??? Может тут есть люди, которые знают что к чему?

Народ, ну скажите хоть чтонибудь...!!!:(

Неужто неукого нету такой материнки?

Аватар пользователя StarGaz0r

поищи у линуксоидов - они патчат ACPI только шум стоит

StarGaz0r писал(-а):
поищи у линуксоидов - они патчат ACPI только шум стоит

В начале интересно бы выяснить, это общий глюк матерей (тоесть биос, может железо криво сделали), хотя как-то подозрительно, чтобы такое недоглядели, или это конкретно моя выпендривается. Отсюда и разные пути борьбы с глюком.

Поборол!!! Микростаровцы мудаки!!! Действительно, таблица ACPI оказалась самой примитивной и в ней небыло прописано просыпание от портов. Кому интересно, могу могу поделиться опытом.

PS: Биосы почти всех производителей (покрайней мере кроме асуса) под i440BX такие-же глючные.

Аватар пользователя ivp

IMHO, многим это было бы интересно, делитесь опытом здесь - будет потом к чему народ отсылать при подобных вопросах...

- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..

Аватар пользователя MmM

Пиши в конференцию ... лучше чтобы потом в FAQ можно было кинуть

MmM писал(-а):
... лучше чтобы потом в FAQ можно было кинуть

Ну для FAQ это сложно, поскольку к каждой матери свой подход нужен...

Суть всево ентово в следующем.
1 Извлекаем из биоса acpitbl.bin (CBROM.EXE BIOS.BIN /acpitbl extract).
2 Вычленяем из acpitbl.bin таблицу DSDT (например хексэдитором удаляем все до (до последней) сигнатуры DSDT) и сохраняем в например DSDT.aml, а то что было до, тоже сохраняем в файл tables.aml.
3 Качаем asl.exe (Мелкософт ASL компилер) iasl.exe (Интел ASL компилер) c acpi.info/toolkit.htm
4 Декомпилируем DSDT.aml в DSDT.dsl (iasl.exe -d DSDT.aml).
5 В получившемся тексте (DSDT.dsl) ищем "Scope (\_SB)" (это начало дерева, описываюшего усторйства), потом, например "Device (UAR1)". Это описание устройства UART. К нему добавляем имя _PRW.

Name (_PRW, Package (0x02) // что это - незнаю
{
0x0A, // бит GPE, через который устройство сообщает о событии
0x04 // наинизшее состояние (S4) из которого устройство может "будить комп"
})

6 Ищем "Scope (\_GPE)", туда добавляем обработку событий от устройств

Scope (\_GPE)
{
Method (_L0A, 0, Serialized) // обработка бита 0x0A (как и при описании устройства)


{
Notify (\_SB.PCI0.ISA.UAR1, 0x02) // сообщить операционке о случившемся
Notify (\_SB.PCI0.ISA.UAR2, 0x02)
}
}

Аналогично можно поступить с устройством PCI0, USB0 (у меня биты 0x09 и 0x08 соответственно)

Scope (\_GPE)
{
Method (_L08, 0, Serialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
}

Method (_L0A, 0, Serialized)
{
Notify (\_SB.PCI0.ISA.UAR1, 0x02)
Notify (\_SB.PCI0.ISA.UAR2, 0x02)
}

Method (_L09, 0, Serialized)
{
Notify (\_SB.PCI0, 0x02)
}
}

7 Компилируем DSDT.dsl обратно в DSDT.aml. Это самое, наверное, интересно место, поскольку с большой вероятностью оно не откомпилируется из-за ошибок :)
Как испралять конкретный файл нужно разбираться отдельно. Лучше использовать компилятор от Мелкософта, он прохавывает большее количество "ошибок" и не делает оптимизаций.
8 Полученный (наконец-то!!!) DSDT.aml добавляем к tables.aml, получая acpitbl.bin.
9 Запаковываем acpitbl.bin обратно (CBROM.EXE BIOS.BIN /acpitbl release, потом CBROM.EXE BIOS.BIN /acpitbl acpitbl.bin).
10 Прошиваем новый биос. Самое страшное, что случалось (при ошибках в таблице ACPI) - это BSOD сразу после пробегания полоски в "текстовом" режиме, с сообшением о неправильной таблице, поэтому сделайте все необходимое для перепрошивки старого биоса без загрузки Винды.

Эта метода никапельки не претендует на правильность и полноту. Но это проверено и работает.
Если кто-то что-то знает еще, пожалуйста, делитесь информацией!

Тут ничего не сказано про добваление устройства IRDA, которое отсутствует в таблицах многих производителей, поскольку вопрос еще более специфический и не прверенный мной практически.

Можно ли вывесить где-нибудь полученный файл? До сих пор пользуюсь на своей 6163 про биосом с этого сайта (от Гуру). С ACPI вроде трабл нет, 98се, В2К и ХР нормально работают, железяк натыкано во все слоты. Есть пара небольших недостатков - если стоит Сел1300 и ниже, то он так и обзывается, на мой Сел1400 гордо пишет Р-III и очень долго тестирует модули памяти по 256 Мб.

Kloch писал(-а):
Можно ли вывесить где-нибудь полученный файл?

Могу на почту послать, другой возможности "опубликовать" у меня нету.

Kloch писал(-а):
До сих пор пользуюсь на своей 6163 про биосом с этого сайта (от Гуру). С ACPI вроде трабл нет, 98се, В2К и ХР нормально работают, железяк натыкано во все слоты.

А проведи маленикий експеримент ;) Например в win2k говорим - модему принмать входящие звонки и переводим комп в ждущий режим. Потом звоним на модем......... а он комп не будит, и трубку не берет.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей