Страница 1 из 2

FreeBSD 7.2 на ноуте

Добавлено: 2009-09-08 19:30:17
diversunt
Всем приятного время провидения. Поставил фрю а ноут HP6720s и по тихоньку наворачиваю, ну там иксы, awesome, firefox и т.д. Ну то есть готовлю для себя,с чувством, с толком, с расстановкой.
Вообщем возникла потребность, что б когда закрываешь крышку ноутбука, монитор отключался. Сейчас если закрою крышку он продолжает светить внутрь себя.
Кнопки как таковой на корпусе нет соответственно я так полагаю обработка этого события должна быть на совтинном уровне.
Подскажите кто сталкивался где копать? А то все рою рою, может лопата не та что отрыть не могу, но уж скоро гугль в дырах будет весь.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-08 19:31:18
paradox
acpi модуль должен быть для ноута который и перехватывает событие закрытия ноута
и тд

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-09 8:17:53
Alex Keda
paradox писал(а):acpi модуль должен быть для ноута который и перехватывает событие закрытия ноута
и тд
хм... я всю жисть думал что это хардверная фича....
а вишь - оказалось програмно уже бывает...

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-09 16:10:59
diversunt
а где вообще эти модули в системе хранятся чтоб их найти и посмотреть что есть и чего нет?
Просто когда ставил Debian у него по умолчанию эта фишка работала и как особой надобности чего настраивать не было.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-09 16:13:14
paradox
Вообщем возникла потребность, что б когда закрываешь крышку ноутбука, монитор отключался. Сейчас если закрою крышку он продолжает светить внутрь себя
кнопка есть всегда
но ноут какойто не ахти раз неумеет это обрабатывать сам

где то в /boot/kernel/*

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-09 16:41:10
terminus
там есть такой sysctl hw.acpi.lid_switch_state
hw.acpi.lid_switch_state
Suspend state (S1-S5) to enter when the lid switch (i.e., a note-
book screen) is closed. Default is ``NONE'' (do nothing).
попробуйте выставить его в S3

---

интереса ради покажите вывод:

Код: Выделить всё

sysctl -a | grep hw.acpi

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-09 17:37:20
Case
Можно в сторону devd посмотреть. В довольно коротеньком мане по devd.conf что-то есть насчет lid switch, то есть как раз переключателя крышки ноутбука.

Код: Выделить всё

notify 0 {
             match "system"                  "ACPI";
             match "subsystem"               "Lid";
             match "notify"                  "0x00";
             action "logger Lid closed, we can sleep now!";
};
notify 0 {
             match "system"                  "ACPI";
             match "subsystem"               "Lid";
             match "notify"                  "0x01";
             action "logger Lid opened, the sleeper must awaken!";
};

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-09 17:41:49
paradox
вово
но в devd передаеться информация от acpi_* модуля если он умеет понимать закрывание крышки то он передаст такой нотифи
а иначе разве что вручную усыплять -S3

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-09 22:50:09
xDi
diversunt писал(а):Всем приятного время провидения. Поставил фрю а ноут HP6720s и по тихоньку наворачиваю, ну там иксы, awesome, firefox и т.д. Ну то есть готовлю для себя,с чувством, с толком, с расстановкой.
Вообщем возникла потребность, что б когда закрываешь крышку ноутбука, монитор отключался. Сейчас если закрою крышку он продолжает светить внутрь себя.
Кнопки как таковой на корпусе нет соответственно я так полагаю обработка этого события должна быть на совтинном уровне.
Подскажите кто сталкивался где копать? А то все рою рою, может лопата не та что отрыть не могу, но уж скоро гугль в дырах будет весь.
Обычно это управляется датчиком азкрытия крышки, и делается это независимо от системы. По крайней мере исключения из правил мне не пришловь видеть. Кроме того, почти всегда можно управлять яркостью с помощью sysctl (возможно потребуется загрузить модуль ядра).

P.S. Можно написать скрипт котрый будет рулить яркостью по событиям, например, по вкл/выкл внешнего источника питания, изменению заряда аккумулятора и т.п.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-17 15:40:38
Dog
В i386 при включенном SMP просыпание не работает - информация из личной беседы с А. Мотиным. Либо работай с одним ядром, либо используй суспенд.
Насчет AMD64 не скажу.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-18 4:54:08
diversunt
Ага примерно понял куда копать. Сейчас просто времени нет. Но планирую на выходных заняться. Спасибо за советы. Как что получиться отпишусь.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-20 18:25:03
diversunt
Странные странности

Код: Выделить всё

freebsd# ps ax | grep devd
  399  ??  Is     0:00.00 /sbin/devd
  809  p0  D+     0:00.00 grep devd
freebsd# 

Код: Выделить всё

freebsd# cat /etc/rc.conf 
defaultrouter="192.168.0.1"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
hostname="freebsd.ru"
ifconfig_em0="inet 192.168.0.7  netmask 255.255.255.0"
keymap="ru.koi8-r"
keyrate="fast"
linux_enable="YES"
mousechar_start="3"

moused_enable="YES"
moused_flags=""
moused_port="/dev/psm0"
moused_type="auto"
saver="daemon"
scrnmap="koi8-r2cp866"

freebsd# 

Код: Выделить всё

cat /etc/devd.conf
...
notify 0 {
        match "system"          "ACPI";
        match "subsystem"       "Lid";
        match "notify"          "0x00";
        action                  "/tmp/2.sh";
};

notify 0 {
        match "system"          "ACPI";
        match "subsystem"       "Lid";
        match "notify"          "0x01";
        action                  "/tmp/1.sh";
};



notify 10 {
        match "system"          "ACPI";
        match "subsystem"       "ACAD";
        action                  "/etc/acpi_ac $notify";
};
*/
freebsd# 
сделав так проверил, что происходит при закрытие крышки ноутбука. Оказалось ничего! Проверил скрипт, он отрабатывает при вызове его из комндной строки. Думаю ладно, значит фря не умеет обрабатовать закрытие крышки, но на всякий случай надо проверить sysctl -a | grep hw.acpi.lid

Код: Выделить всё

freebsd# sysctl -a | grep hw.acpi.lid
hw.acpi.lid_switch_state: NONE
freebsd# 
Думаю, ага из-за "NONE" не чего и не шарашит, значит надо на что то изменить и все заработает
пробою

Код: Выделить всё

freebsd# sysctl hw.acpi.lid_switch_state=1
hw.acpi.lid_switch_state: NONE
sysctl: hw.acpi.lid_switch_state: Invalid argument
freebsd# 
неработает, жаль. Решил посмотреть что там еще есть

Код: Выделить всё

freebsd# sysctl -a | grep hw.acpi.
hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 1
По вольному переводу доки с http://www.opennet.ru/man.shtml?topic=a ... &russian=1
S4
Suspend to disk. All devices are powered off, and the system stops running. When resuming, the system starts as if from a cold power on. Not yet supported by Fx unless S4BIOS is available.

перевел как: "При hw.acpi.S4BIOS=1 работать не будет, пока что." (нуда сильно утрированный перевод)
значит надо сделать так

Код: Выделить всё

freebsd# sysctl hw.acpi.s4bios=0
hw.acpi.s4bios: 1 -> 0
freebsd# sysctl hw.acpi.lid_switch_state=S4
hw.acpi.lid_switch_state: NONE -> S4
freebsd# 
freebsd# sysctl -a | grep  hw.acpi.l
hw.acpi.lid_switch_state: S4
freebsd# 
После проделланых процедур прикрыл крышечку и вуаля фря ушла в "спящий режим" :Yahoo!: . Ушла то ушла но вернуться не смогла, просто закгрузилась как обычно. Да много еще предется ковыряться, что б все красиво было со "спящим режимом".
Отсюда получается, что ноут на acpi закрытие крышечки реагирует на ура, тока мне не надо в данный момент его усыплять. Мне надо заставить его выполнять действие из devd.conf, отключения монитора.
Подскажите как задружить acpi и devd.conf?

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-20 18:30:56
paradox
в devd посылаються нотифи из модуля acpi_*.ko
в зависимости от модели ноута
итд
иногда нужно дописывать именно те модули

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-21 17:47:06
diversunt
сегодня подгрузил все модули ядер

Код: Выделить всё


freebsd# ls /boot/kernel/ | grep acpi
acpi.ko
acpi.ko.symbols
acpi_aiboost.ko
acpi_aiboost.ko.symbols
acpi_asus.ko
acpi_asus.ko.symbols
acpi_dock.ko
acpi_dock.ko.symbols
acpi_fujitsu.ko
acpi_fujitsu.ko.symbols
acpi_ibm.ko
acpi_ibm.ko.symbols
acpi_panasonic.ko
acpi_panasonic.ko.symbols
acpi_sony.ko
acpi_sony.ko.symbols
acpi_toshiba.ko
acpi_toshiba.ko.symbols
acpi_video.ko
acpi_video.ko.symbols
freebsd# 

Код: Выделить всё

freebsd# kldstat
Id Refs Address    Size     Name
 1   24 0xc0400000 9fab68   kernel
 2    1 0xc0dfb000 1ae38    snd_hda.ko
 3    2 0xc0e16000 4a64c    sound.ko
 4   10 0xc0e61000 6a45c    acpi.ko
 5    1 0xc47d4000 22000    linux.ko
 6    1 0xc4833000 3000     daemon_saver.ko
 7    1 0xc48ba000 9000     i915.ko
 8    1 0xc48c3000 13000    drm.ko
 9    1 0xc4a24000 5000     acpi_ibm.ko
10    1 0xc4a29000 5000     acpi_asus.ko
11    1 0xc4a36000 3000     acpi_fujitsu.ko
12    1 0xc4a39000 3000     acpi_panasonic.ko
13    1 0xc4a3c000 2000     acpi_sony.ko
14    1 0xc4a3e000 3000     acpi_toshiba.ko
15    1 0xc4a5d000 3000     acpi_aiboost.ko
16    1 0xc4a60000 4000     acpi_dock.ko
freebsd# 
На эти понипуляции devd не обратил ни какого внимания при закрытии крышки :(
Может есть способ посмотреть, что происходит в системе когда я крышечку прикрываю? Что б понять какой демон куда что шлет???

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-21 17:49:43
paradox
перечитай еще раз то что я сказал
никакой демон ничего не посылает
посылает нотифи acpi_*.ko для вашей модели бука
его и нужно фиксить
ибо не все модули дописаны под это дело

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-21 18:13:42
diversunt
Тоесть взять acpi_ibm.ko поправить его в acpi_hp.ko (речь не идет о тупом переименование). То есть переписать уже существующий модуль ядра, Я правильно понимаю?

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-21 18:18:22
paradox
грубо говоря да

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-21 18:23:30
diversunt
Я так подозреваю модуль то на с++ написан, это не обычный скриптовый файл? А то я вот с++ не очень дружен.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-21 18:29:34
paradox
нет
там на чистом С

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-21 18:36:51
diversunt
Это хорошо для тех кто "c" знает и умеет. Жаль не для меня... обидно однако :(

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-09-22 21:26:19
Alex Keda
поставьте 8
там хорошо попилили acpi_hp - у меня кнопки многие стали работать.
может и у вас чё-то зарбаотает.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-10-28 0:26:06
nikto
А у меня такой вопрос: что нужно поковырять, чтобы заработала Фн клавиша на ноте VAIO. Обидно: для Асера есть профиль раскладки, а для Сони нет.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-10-28 9:29:34
manefesto
дописать под свой ноут acpi

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-10-28 21:06:31
nikto
Дописать сам модуль acpi_sony чтобы в нем была такая поддержка или дописать его в лоудер конф?

По второму пути уже ходил, целевого результата нет.

Re: FreeBSD 7.2 на ноуте

Добавлено: 2009-10-28 21:23:44
paradox
Дописать сам модуль acpi_sony чтобы в нем была такая поддержка