Удалось мне пропатчить DSDT таким образом, что бы лэптоп просыпался после suspend-2-ram. Делюсь методикой.
Ставим BIOS последней версии
Вся проблема в том, что последние версии прошивальщиков идут только под Windows. Скрипт для определения, чего и как шить написан на BASICе. Нас это не остановит.
Переименовываем файл прошивки SanAntonion10 BIOS590MP.exe в нечто с расширением rar – 590.rar и распаковываем его UNRARом.
Нас интересуют только файлы с расширением ROM. В зависимости от того, какая у вас видеокарта, выбираем нужный файл (GM – для лэптопов с Intel GMA, PM – для лэптомов с ATI/AMD и nVidia).
Так же нам понадобится DOS-версия флешера phlash16.exe (можно взять из старых версий прошивок в ISO-образе).
Подготовка к прошивке, загрузочный диск
Поскольку у меня нет дисковода, я воспользовался DVD. Взял ISO-образ инсталяционного диска FreeDOS, при помощи ISO Master положил в корень диска два файла phlash16.exe и s10pm590.rom. Записал этот образ на DWD-RW.
Прошивка
Прошивку выполнял как обычно – загрузился со вновь созданного диска. И из командной строки выполнил команду:
phlash16.exe s10pm590.rom /X /MODE=3
Все ключи взяты из батника, который находится в ISO-образе старых версий прошивок. Но, судя по описанию ключей, они не обязательны.
Исправляем DSDT
Тут я воспользовался мануалом на gentoo-wiki.com – HOWTO Fix Common ACPI Problems.
Нам понадобится Intel ACPI Source Language (ASL) compiler.
Делаем дамп DSDT
cat /proc/acpi/dsdt > dsdt.dat
Декомпилируем дамп
iasl -d dsdt.dat
Ищем в файле dsdt.dsl слово _OSI, исправляем Store (One, LINX) на Store (0x03E8, OSYS) (как вариант можно использовать Store (0x07D6, OSYS)). Возможно, лучшим вариантом было прикинуться, какой-нибудь Windows, но я поленился 😉
Компилируем заново
iasl -tc dsdt.dsl
Если ошибок компиляции небыло, то на выходе получаем два файла – dsdt.aml и dsdt.hex. Нас интересует последний.
Компиляция ядра с новым DSDT
Далее все строго по документации Встраивание в Кернел.
Перегружаемся и проверяем. В моем случае нареканий не было.
Вообще после всей проделанной работы, у меня сложилось впечатление, что Toshiba намерено внесла такие коррективы в BIOS.
[…] Данная статья устарела. Обновление в статье Toshiba a100-906, BIOS 5.60 + suspend-2-ram. […]
[…] DSDT нового биоса. Решение проблемы я описал в статье Toshiba a100-906, BIOS 5.90 + suspend-2-ram. А где девайс […]
Вы не могли бы дать ссылку на phlash16.exe который вы использовали?
та версия которой я пользовался выдает мне ошибку “Invalid Text Descriptor Size found in the interface”
2dmeshr:
Нет проблем, забирайте – phlash16.exe
огромное спасибо
2dmeshr:
Нет проблем. Я рад, что смог кому то помочь. Значит не зря старался 😉
Огромное спасибо за howto!!! Как раз сейчас буду ставить на этот ноут линукс! Респект!!!
2Sunburn:
Успехов.
Большое спасибо. Давно такое искал 🙂
Теперь для этого есть утилита flashrom,перепрошивать BIOS можно и из Linux.