[sisyphus] I: kernel-image-std26-up-2.6.16-alt5 and hidden Intel SMBus
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Сб Май 20 22:37:33 MSD 2006
Hello!
После установки сборки ядра kernel-image-std26-up-2.6.16-alt5,
возможно, кто-то заметит исчезновение контроллера SMBus из списка
обнаруженных PCI-устройств (что может привести, например, к
неработоспособности lm_sensors). Это касается только чипсетов Intel и
только std26-up (в std26-smp видимых изменений не появится).
Причина этого явления в том, что чипсеты Intel позволяют программно
скрыть PCI-устройства контроллера SMBus, и некоторые BIOS используют
эту возможность (в частности, подобные BIOS часто встречаются на
платах от ASUS). В ядре есть код, который может разрешить работу
такого скрытого устройства, и до недавнего времени он использовался
всегда (точнее, в нём есть список Subsystem ID, для которых это
следует делать). Однако позднее было обнаружено некоторое количество
неприятных проблем, возникающих при открытии доступа к SMBus таким
образом; эти проблемы проявляются после использования режима ACPI S3
(Suspend to RAM). Например, в одном из случаев на ноутбуке переставал
работать вентилятор, что приводило к быстрому перегреву.
В готовящихся к выпуску ядрах 2.6.17 и 2.6.16.17 проблему решили путём
отключения кода, разрешающего доступ к скрытым контроллерам SMBus,
если в конфигурации ядра включена поддержка режимов энергосбережения
ACPI (CONFIG_ACPI_SLEEP). В ядрах std26 эта опция конфигурации
включена в std26-up, но отсутствует в std26-smp (именно поэтому
поведение std26-smp после обновления не изменится).
В сборку std26-up-2.6.16-alt5, помимо патча из 2.6.16.17, добавлен ещё
один патч, который позволяет всё-таки включить такой скрытый
контроллер SMBus, запретив при этом использование Suspend to RAM.
Если ядро обнаружит скрытый контроллер SMBus, оно выведет сообщение:
PCI: i801 SMBus was hidden by BIOS - boot with 'unhide_smbus' to unhide it
(this will disable ACPI S3 sleep support)
В случае, если доступ к SMBus нужнее, чем Suspend to RAM, необходимо
добавить параметр unhide_smbus в строку параметров ядра (append в
/etc/lilo.conf или kernel ... в /boot/grub/menu.lst). При указании
этого параметра ядро std26-up-2.6.16-alt5 будет вести себя в отношении
SMBus так же, как и предыдущие сборки, однако использование режима S3
(Suspend to RAM) будет запрещено.
В дальнейшем разработчики планируют решить эту проблему другим
способом (включение SMBus должно выполняться не только при начальной
загрузке, но и при возвращении из suspend, что сейчас не делается),
однако это изменение необходимо протестировать на различных машинах, и
оно точно не попадёт в 2.6.17. Так что пока придётся ограничиться
наиболее безопасным вариантом - включать контроллер SMBus, скрытый
средствами BIOS, только при указании дополнительного параметра.
--
Sergey Vlasov
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20060520/864b7e66/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus