Как выясняется, далеко немногие знают о существовании режима оверлеев в ACPICA и их поддержки в ОС Linux. Я хочу восполнить этот пробел на примере добавления ведомых устройств I2C в систему без перекомпиляции.
Читать полностью »
Рубрика «dsdt»
ACPI: Добавление устройств без перекомпиляции ядра
2019-05-13 в 21:15, admin, рубрики: ACPI, ConfigFS., dsdt, linux, SSDT, x86, Драйвер, Разработка для интернета вещей, Разработка под LinuxКак втиснуть 16 ГБ памяти на материнскую плату, которая не поддерживает такой объём
2019-04-29 в 8:30, admin, рубрики: diy или сделай сам, dsdt, grub, OEMB, PCI, ram, Компьютерное железо, системное программирование, старое железоНекоторое время назад я поставил на один из своих компьютеров 16 ГБ памяти. На нём стоит материнка Foxconn P55MX с Core i5 750. Можно было бы и заменить этот старый CPU, но он он пока нормально работает и делает всё, что мне нужно.
Вот что интересно. Материнская плата официально не поддерживает 16 ГБ RAM. Спецификации на вышеупомянутой странице указывают, что поддерживается максимум 8 ГБ. На плате только два слота, поэтому у меня возникло подозрение, что планки 8 ГБ просто были редкостью в то время, когда вышла материнская плата. Я всё равно решил попробовать. Во многих случаях материнские платы поддерживают больше RAM, чем официально заявляет производитель.
Читать полностью »
Понижение рабочего напряжения процессора, или тюнинг Enhanced Intel SpeedStep
2014-07-01 в 6:55, admin, рубрики: ACPI, cpu, dsdt, freebsd, linux, Процессоры, энергосбережение, метки: ACPI, cpu, dsdt, freebsd, linux, энергосбережениеВ современных десктопных и (в особенности) мобильных процессорах применяется целый рад энергосберегающих технологий: ODCM, CxE, EIST и др. Сегодня нас будет интересовать, пожалуй, самая высокоуровневая из них: гибкое управление частотой и напряжением процессорного ядра во время работы — Cool 'n' Quiet, PowerNow! у AMD и Enhanced SpeedStep (EIST) у Intel.
Чаще всего пользователю компьютера или ноутбука достаточно просто включить (чаще — не выключать) поддержку той или иной технологии в BIOS и/или операционной системе — никакой тонкой настройки обычно не предусмотрено, хотя, как показывает практика, она может оказаться весьма полезной. В этой статье я расскажу о том, как можно управлять рабочим напряжением ядра процессора из операционной системы (на примере Intel Pentium M и FreeBSD), и зачем это может понадобиться.
Несмотря на большое количество руководств, редко где встречается обстоятельное описание технологии Enhanced SpeedStep с точки зрения операционной системы (а не конечного пользователя), особенно на русском языке, поэтому значительная часть статьи посвящена деталям реализации и носит в некоторой степени теоретический характер.
Надеюсь, статья окажется полезной не только пользователям FreeBSD: мы также немного коснемся GNU/Linux, Windows и Mac OS X. Впрочем, в данном случае конкретная операционная система имеет второстепенное значение.
Читать полностью »
Подмена DSDT через GRUB2
2013-01-15 в 12:47, admin, рубрики: Arch Linux, dsdt, grub2, linux, ноутбук, метки: Arch Linux, dsdt, grub2, ноутбукЗачем все это надо? Причина в том, что мой нынешний ноутбук Gigabyte Q1105M нестабильно работает под Линуксом. Проблема явно где-то на уровне БИОСа и проявляется в спонтанных зависаниях наглухо. В среднем раз в несколько часов. И это точно не перегрев и не сбой драйверов. Лечится только отключением одного из ядер в БИОСе, что по понятным причинам не годится. Полным перебором всех источников проблемы уткнулся в конце концов в кривой DSDT, что весьма типично для производителей ноутбуков второго эшелона. Читать полностью »
Управляем вентилятором ноутбука через DSDT в Linux и не только
2013-01-11 в 1:00, admin, рубрики: ACPI, dsdt, linux, Железо, охлаждение, метки: ACPI, dsdt, охлаждениеНе знаю почему, но я всегда воспринимал системы охлаждения в ноутбуках как некий закрытый черный ящик. Тупость алгоритмов, по которым вентилятор начинал надрывно завывать при еще вполне холодном процессоре, изрядно раздражала во многих ноутбуках, но мне казалось, что все параметры там производители прибили гвоздями и поменять их можно разве что расковыряв BIOS или вообще только вставив какие-нибудь регулируемые резисторы в нужных местах. Ни тем, ни другим мне заниматься совершенно не хотелось, поэтому я об никогда всерьёз даже не задумывался.
Нет, конечно, я слышал про всякие программы, которые могут вмешиваться в управление охлаждением и вроде кто-то ими успешно пользуется, но лично мне с ними вечно не везло, точнее не везло с железом, на котором я пытался их завести. Например, какое-то время назад я пробовал настроить fancontrol на довольно старом ноутбуке HP nc8430 с Убунтой. В итоге, известный скрипт sensors-detect не смог найти ни одного вентилятора в системе, а без этого fancontrol не работает. На разных формуах периодически появляются люди с похожими проблемами, но никто им толком помочь не может.
Тогда я в очередной раз забросил эту тему и вернулся к ней только на днях, когда читал обзоры подыскивая себе новый ноутбук и уже вроде бы выбрал почти всем хороший Sony S15, как опять в одном из обзоров читаю про него, что вентилятор в нем вообще не останавливается никогда, даже когда точно можно. Вечно, пусть и несильно, шумящий ноутбук я больше не хочу, а выбирать как всегда особо не из чего, учитывая, что надо 15", что TN матрицу я тоже больше не хочу, и бюджет ограничен. Ну сами знаете как оно бывает. Может быть на нем все-таки заведется fancontrol и все будет хорошо, но а если нет? Никаких отчетов по его установке на этот ноутбук найти не удалось. Это побудило меня еще раз копнуть тему программного управления вентиляторами и пройти довольно непростой, но очень увлекательный квест.
Читать полностью »
Настройка оборудования на раннем этапе загрузки средствами ACPI (на примере FreeBSD)
2012-09-05 в 3:49, admin, рубрики: ACPI, dsdt, freebsd, open source, метки: ACPI, dsdt, freebsdНесколько лет назад, когда CardBus и FireWire (IEEE 1394) еще были относительно «в ходу», многие производители ноутбуков в своей продукции использовали контроллеры семейства PCIXX21 и PCIXX11 фирмы Texas Instruments: один небольшой чип обеспечивал поддержку не только упомянутых интерфейсов, но и многих популярных стандартов сменных карт памяти.
Такой чип стоит и в моей NEC Versa S950. Этот малоизвестный ноутбук я в свое время предпочел даже ThinkPad-серии практически исключительно из-за более лучшей поддержки FreeBSD (оборудования в целом и спящего режима в частности) — специально тестировал в новосибирском Техносити перед покупкой. Долгое время я не пользовался встроенным кард-ридером, по привычке обходясь USB'шными «свистками». Но недавно я обнаружил, что FreeBSD до сих пор его не поддерживает. И если лет пять-шесть назад это можно было объяснить отсутствием нормального драйвера для этих контроллеров (нужно было что-то скачивать и собирать самому), теперь я точно знал, что они «из коробки» поддерживаются во FreeBSD драйвером sdhci(4)
, о чем прямо сказано на странице руководства (и позже подтвердилось чтением исходников).
Я начал неспешно гуглить на эту тему, и картина стала вырисовываться невеселая. Оказалось, что таких «счастливчиков», как я, немало. Многие постили в рассылки и форумы «портянки» dmesg
и pciconf -lv
, заводили баги в трекерах (например, OpenBSD PR i386/5843), но решения никто не предлагал. Более того, фактически поставив точку в вопросе, Александр Мотин, автор драйвера sdhci(4)
, в 2010 г. написал на форуме, что-де TI документацию на чип не дают, а значит, если производитель сконфигурировал чип неверно, а его настройка через BIOS не предусмотрена, сделать что-либо затруднительно. В свою очередь, Theo de Raadt закрыл i386/5843 с словами «We do what we can. This vendor, amongst other, have their sdhc controllers locked out and hidden behind little undocumented bits. We've strugged before to find this information, and failed. If you can find this information on some other operating system, or in some vendor documentation, we would be thrilled.».
Читать полностью »