Swap in file and resume_offset parameter

Для suspend2disk при использовании файла в качестве SWAP, ядру нужно передать два параметра resume и resume_offset.
Значением для resume является устройство, на котором расположен SWAP-файл (к примеру /dev/sda1), а resume_offset можно получить с помощью утилиты swap-offset из пакета sys-power/suspend.

Toshiba a100-906, BIOS 5.90 + suspend-2-ram

Удалось мне пропатчить DSDT таким образом, что бы лэптоп просыпался после suspend-2-ram. Делюсь методикой.

Ставим BIOS последней версии.

Вся проблема в том, что последние версии прошивальщиков идут только под Windows. Скрипт для определения, чего и как шить написан на BASICе. Нас это не остановит.

Переименовываем файл прошивки SanAntonion10 BIOS590MP.exe в нечто с расширением rar590.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 намерено внесла такие коррективы в биос.

Toshiba Satellite a100-906 и s2ram

Данная статья устарела. Написал новую статью Toshiba a100-906, BIOS 5.90 + suspend-2-ram.


Утомило меня постоянно делать suspend-2-disk, захотелось большего – suspend-2-ram. Что пришлось сделать:

  1. Перешил биос на версию 2.10 (прошивку получил на форуме ixbt). Перешивал вручную с помощью phlash16.exe, т.к. автопрошивальщик не хочет делать downgrade с текущей версии биоса (на данный момент была последней 5.90).
  2. Удалил sys-power/cpufreqd, kde-base/klaptopdaemon, app-laptop/laptop-mode-tools. Вместо них использую sys-power/powersave и sys-power/kpowersave.

Есть и минусы – не регулируется яркость подсветки, перестали работать мультимедийные клавиши.
На данный момент есть идея взять DSDT из биоса 2.10, вкомпилить его в ядро (благо такая возможность есть), установить последнюю версию биоса.

Hibernate и MPlayer

Периодически на лэптопе перестает работать hibernate – делает вид, что ищет свободное место в свопе для имиджа, пишет имидж, выключает подсветку монитора, и на этом все. Только один выход – power off на пять секунд. Сигнатура в своп не пишется. По загрузке, во время поста влевом верхнем углу может появиться надпись “TBX error”, и пост не закончится.
Методом “научного тыка” выяснил, что причиной тому стал mplayer – если его запустить, поставить на паузу, то в 80% случаев hibernate сделать не получится.
Кто в это виноват – alsa, или драйвера nvidia я пока не выяснил.

p.s. hibernate-ram вообще перестал работать (даже если “иксы” не запущены, следовательно драйвера nvidia тут не виноваты) – засыпает, а вот проснуться лэптоп уже не может.

Toshiba Satellite a100-906

Приобрел себе Toshiba Satellite a100-906, снес Windows и принялся ставить свой любимый Linux-дистрибутив Gentoo. Стоит заметить, что Ubuntu и Kubunu на этом лэптопе работают без проблем (пришлось только исправить /etc/X11/xorg.conf для поддержки родного разрешения – 1280×800).
» Read more