
У меня ноутбук с Linux Slackware 14, KDE 4.8.5, ядро 3.9.0-rc6. Когда я закрываю крышку и вытаскиваю шнур питания, машина переходит в спящий режим. Когда я его пробуждаю, вставляя шнур обратно и открывая крышку, светодиоды включаются, но экран нет. Система отвечает по ssh. Может, это видеодрайвер Intel?
Что происходит? Как это исправить?
ПРАВКА №1
Вот дополнительная информация о моей системе:
Вот информация о моей видеокарте:
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor
Family Integrated Graphics Controller (rev 09)
ПРАВКА №2
Если посмотреть на вывод в журнале, pm-suspend.log
то можно увидеть упоминание о недопустимой инструкции в строке № 48 скрипта 99video
. Вот содержимое этого раздела скрипта:
reset_brightness()
{
for bl in /sys/class/backlight/* ; do
[ -f "$bl/brightness" ] || continue
BR="$(cat $bl/brightness)"
echo 0 > "$bl/brightness"
echo "$BR" > "$bl/brightness"
done
}
решение1
Отладка такого типа проблем может быть сложной. Я бы сначала попытался вручную принудительно перевести его в режим ожидания с помощью следующей команды:
PM_DEBUG=true pm-suspend
Затем проверьте /var/log/pm-suspend.log
, нет ли намеков на то, что может быть не так. Возможно, что-то не так во время режима ожидания.
Вот хорошая статья на эту темуUbuntu wiki о том, как отладить это возобновление из режима ожидания.
Диагностика шины PCI видеокарты
На моем ноутбуке:
% lspci -v
...
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 215a
Flags: bus master, fast devsel, latency 0, IRQ 45
Memory at f2000000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 1800 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
Адрес 00:02.0 соответствует:
% ls "/sys/bus/pci/devices/0000:00:02.0/"
boot_vga drm/ i2c-5/ remove rom
broken_parity_status enable irq rescan subsystem/
class firmware_node/ local_cpulist reset subsystem_device
config graphics/ local_cpus resource subsystem_vendor
consistent_dma_mask_bits i2c-0/ modalias resource0 uevent
device i2c-1/ msi_bus resource2 vendor
dma_mask_bits i2c-2/ numa_node resource2_wc
driver/ i2c-4/ power/
Чтобы включить управление питанием:
Посмотрите, что установлено
% cat "/sys/bus/pci/devices/0000:00:02.0/power/control"
auto
Установите его на вкл.
% echo "on" > "/sys/bus/pci/devices/0000:00:02.0/power/control"
Рекомендации
решение2
Я исправил это. Вот инструкция:
1. У меня не было файла подкачки, так как у меня было 4 Гб оперативной памяти. Но файл подкачки необходим для спящего режима. Поэтому мне пришлось создать файл подкачки на 4 Гб, следуя инструкциям здесь: www.cyberciti.biz/faq/linux-add-a-swap-file-howto/
2. Удален nomodeset
параметр ядра из lilo.conf