LINUX.ORG.RU

[notebook] Кнопки регулировки яркости перестают работать начиная с загрузки ядра

 


0

1

Ноутбук Clevo E4105. Дистрибутив Debian testing.

В настройках BIOS яркость регулируется кнопками Fn+F8/Fn+F9, продолжает регулироваться в меню GRUB2, но перестаёт, как только появляются первые строчки сообщений ядра на экране. После загрузки xbacklight регулирует яркость, с этим всё в порядке, но на кнопки клавиатуры реакции никакой.

acpi_listen ничего на эти клавиши не показывает, но при этом видит остальные (button/volumeup и другие). showkeys при нажатии Fn-F8 молчит.

Пробовал грузиться с

  • acpi=off (зависло);
  • acpi_backlight=vendor (яркость на минимуме, не регулируется кнопками, не регулируется xbacklight);
  • acpi_backlight=video (яркость регулируется только xbacklight, на кнопки не реагирует).

Как заставить кнопки работать?

★★★★★

Ответ на: Продолжаем играться с опциями ядра от Shtsh

> acpi_osi=Linux

Никакого эффекта: acpi_listen молчит, яркость не меняется (через кнопки). xbacklight работает.

acpi_backlight=video

это значение выбирается по умолчанию, с ним acpi_listen тоже молчит.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от uzbl

lsmod:

Module                  Size  Used by
aes_i586               16608  2 
aes_generic            37066  1 aes_i586
acpi_cpufreq           12829  1 
mperf                  12421  1 acpi_cpufreq
cpufreq_stats          12717  0 
cpufreq_powersave      12422  0 
cpufreq_userspace      12520  0 
cpufreq_conservative    13598  0 
parport_pc             22059  0 
ppdev                  12651  0 
lp                     12894  0 
parport                27266  3 parport_pc,ppdev,lp
vboxnetadp             13157  0 
vboxnetflt             23919  0 
vboxdrv               147877  2 vboxnetadp,vboxnetflt
microcode              13383  0 
binfmt_misc            12880  1 
fuse                   56296  3 
loop                   17945  0 
joydev                 17031  0 
snd_hda_codec_hdmi     22034  1 
snd_hda_codec_si3054    12662  1 
snd_hda_codec_realtek   208394  1 
snd_hda_intel          21716  4 
snd_hda_codec          58248  4 snd_hda_codec_hdmi,snd_hda_codec_si3054,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep              12961  1 snd_hda_codec
snd_pcm_oss            36377  0 
snd_mixer_oss          17713  3 snd_pcm_oss
snd_pcm                53356  5 snd_hda_codec_hdmi,snd_hda_codec_si3054,snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_midi           12744  0 
snd_rawmidi            22646  1 snd_seq_midi
snd_seq_midi_event     13124  1 snd_seq_midi
snd_seq                39580  2 snd_seq_midi,snd_seq_midi_event
snd_timer              22052  2 snd_pcm,snd_seq
i915                  274365  2 
snd_seq_device         13010  3 snd_seq_midi,snd_rawmidi,snd_seq
drm_kms_helper         26776  1 i915
evdev                  12987  14 
jmb38x_ms              17028  0 
snd                    38533  17 snd_hda_codec_hdmi,snd_hda_codec_si3054,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
drm                   125025  3 i915,drm_kms_helper
tpm_tis                12976  0 
i2c_i801               12670  0 
tpm                    17556  1 tpm_tis
i2c_algo_bit           12722  1 i915
r8192se_pci           463328  0 
pcspkr                 12515  0 
tpm_bios               12832  1 tpm
psmouse                46182  0 
serio_raw              12759  0 
i2c_core               19108  5 i915,drm_kms_helper,i2c_i801,drm,i2c_algo_bit
ac                     12552  0 
processor              27382  3 acpi_cpufreq
battery                12892  0 
power_supply           13283  2 ac,battery
wmi                    13076  0 
button                 12893  1 i915
memstick               13464  1 jmb38x_ms
video                  17500  1 i915
soundcore              12992  3 snd
snd_page_alloc         12924  2 snd_hda_intel,snd_pcm
ext4                  251023  1 
mbcache                12923  1 ext4
jbd2                   56910  1 ext4
crc16                  12327  1 ext4
btrfs                 419511  0 
zlib_deflate           21266  1 btrfs
crc32c                 12576  1 
libcrc32c              12394  1 btrfs
sg                     21564  0 
sd_mod                 35339  3 
sr_mod                 17478  0 
crc_t10dif             12332  1 sd_mod
usbhid                 31603  0 
cdrom                  34714  1 sr_mod
hid                    60096  1 usbhid
ahci                   20897  2 
libahci                18192  1 ahci
thermal                13138  0 
thermal_sys            17702  3 processor,video,thermal
libata                129046  2 ahci,libahci
ehci_hcd               35434  0 
scsi_mod              131128  4 sg,sd_mod,sr_mod,libata
usbcore                99944  3 usbhid,ehci_hcd
sdhci_pci              13141  0 
sdhci                  21759  1 sdhci_pci
jme                    27617  0 
mmc_core               53019  1 sdhci
mii                    12562  1 jme
nls_base               12675  1 usbcore

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от uzbl

video 17500

Это оно.

Похоже, нет.

Убрал модуль из /lib/modules, пересобрал initramfs, чтобы и там не было, загрузился. Модуля нет физически, в lsmod тоже проверил, нет. Проблема та же, на кнопки не реагирует, acpi событий нет.

Потом повыгружал все остальные некритичные модули, остались только эти, но всё равно проблема осталась:

Module                  Size  Used by
fuse                   56296  1 
processor              27382  2 
ext4                  251023  1 
mbcache                12923  1 ext4
jbd2                   56910  1 ext4
crc16                  12327  1 ext4
sd_mod                 35339  3 
crc_t10dif             12332  1 sd_mod
ahci                   20897  2 
libahci                18192  1 ahci
libata                129046  2 ahci,libahci
scsi_mod              131128  2 sd_mod,libata
thermal_sys            17702  1 processor

i-rinat ★★★★★
() автор топика
23 июня 2011 г.

Если ещё актуально

Попробуйте:

echo N > /sys/module/video/parameters/brightness_switch_enabled

или
echo Y > /sys/module/video/parameters/brightness_switch_enabled

Если этот файл у вас существует, одна из этих команд должна помочь.

gentoo_root ★★★★★
()
Ответ на: Если ещё актуально от gentoo_root

> Попробуйте:

Добрался-таки до ноутбука, попробовал. Нет, этот совет не помог, к сожалению. Похоже, кнопки просто игнорируются и до драйвера даже не доходят.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

>Нет, этот совет не помог, к сожалению.

А файл-то хоть существует? Если что, там в /sys/module/video/parameters/ ещё файлы есть, их можно попробовать покрутить.

Похоже, кнопки просто игнорируются и до драйвера даже не доходят.

Попробуйте ещё собрать ядро без ACPIного модуля video. Это не для использования, это, чтобы проверить, может, это и не тот модуль. Или же, чтобы не собирать ядро, модуль заблеклистить, чтобы он ВООБЩЕ не грузился, а не выгружать потом.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

> А файл-то хоть существует?

да, тот файл существует

ещё файлы есть, их можно попробовать покрутить.

об этом я как-то не подумал

Или же, чтобы не собирать ядро, модуль заблеклистить, чтобы он ВООБЩЕ не грузился, а не выгружать потом.

ок, направление ясно. Ноут у меня пока отобрали, пробовать буду завтра, наверное.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

> Попробуйте ещё собрать ядро без ACPIного модуля video.

Что-то я ступил. Пробовал же (месяц прошёл, забыл совсем). Выкинул файл модуля и пересобрал initrd.img, так что его совсем нигде не осталось, не помогло.

С acpi=off загрузиться не получилось.

i-rinat ★★★★★
() автор топика

Некоторые особо одаренные дистростроители в ведре отключают регулирование яркости… ибо багов много а чинить им лениво. Я бы начал поиски проблем с самого ведра. Ага для начала ставь ванильное ведро с kernel.org

Потом кури acpi и конечно же dsdt ;)

init_6 ★★★★★
()
Ответ на: комментарий от init_6

> Ага для начала ставь ванильное ведро с kernel.org

Ядро не дистрибутивное, это снимок wireless-testing примерно полуторамесячной давности, нужно было для wifi карточки. В остальных подсистемах это эквивалент 39-го.

Потом кури acpi и конечно же dsdt ;)

Да уж, там курить так курить, 400 страниц.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Ядро не дистрибутивное

Тогда смотри на предмет наложенных патчей вообще и на подсистему acpi в частности

Да уж, там курить так курить, 400 страниц.

Смотри дистрибутивное acpi. В нем может быть тупо заблокировано изменение яркости. И да ошибки либо намеренные баги в dsdt могут тоже быть причиной сабжа…

init_6 ★★★★★
()
Ответ на: комментарий от init_6

> Тогда смотри на предмет наложенных патчей вообще и на подсистему acpi в частности

Всё, что не касается wireless, там вытягивается с git'а Линуса. Так что фактически ядро «ванильное».

Смотри дистрибутивное acpi. В нем может быть тупо заблокировано изменение яркости. И да ошибки либо намеренные баги в dsdt могут тоже быть причиной Смотри дистрибутивное acpi. В нем может быть тупо заблокировано изменение яркости. И да ошибки либо намеренные баги в dsdt могут тоже быть причиной сабжа…

Думаю тогда бы вообще не работало изменение яркости, а xbacklight работает. Не работают только кнопки на клавиатуре.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

>Думаю тогда бы вообще не работало изменение яркости, а xbacklight работает. Не работают только кнопки на клавиатуре.

Значит, возможно, кнопки яркости генерируют скан-коды, поэтому установите какой-нибудь gnome-power-manager и попробуйте с ним. У меня вот, например, есть аппаратная регулировка яркости, когда кнопки работают всегда, и программная, когда кнопки сами не регулируют яркость, но генерируют скан-коды и ACPI-события, по которым программы из юзерспейса могут регулировать яркость. Раньше gnome-power-manager поддерживал оба варианта, но потом его поломали. Он теперь всегда думает, что яркость регулируется программно, и при нажатии на кнопки изменяет её, несмотря на то, что при этом она может измениться ещё и аппаратно. Тогда якрость у меня меняется на 2 ступени за 1 нажатие. Мне пришлось отключить аппаратную регулировку яркости, чтобы только gnome-power-manager её регулировал, обрабатывая нажатия кнопок по скан-кодам.

Возможно, у вас есть ТОЛЬКО программная регулировка яркости. Проверьте, должны генерироваться в лучшем случае скан-коды, а в худшем ACPI-события при нажатии на яркость. Если скан-коды, то, скорее всего, поможет установка gnome-power-manager, а если ACPI-события - то поможет установка и настройка acpid (тогда надо будет регулировать яркость через /sys/class/backlight/acpi_video0/brightness). А в BIOS'е регулировка работает, потому что обработчик прерывания клавиатуры в реальном режиме обрабатывает скан-коды нажатий на клавиши яркости, как надо.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

> кнопки яркости генерируют скан-коды

нет, не генерируют, к сожалению. Проверял.

Проверьте, должны генерироваться в лучшем случае скан-коды, а в худшем ACPI-события при нажатии на яркость.

ни того, ни другого нет. При нажатии на соответствующие комбинации клавиш ровным счётом ничего не происходит. Правда не помню точно, пробовал ли через showkey смотреть.

тогда надо будет регулировать яркость через /sys/class/backlight/acpi_video0/brightness

Через этот интерфейс работает, доступно 7 уровней яркости.

А в BIOS'е регулировка работает, потому что обработчик прерывания клавиатуры в реальном режиме обрабатывает скан-коды нажатий на клавиши яркости, как надо.

На ноуте рядом винда стоит, в ней работает. Правда я не в курсе, как оно там и ставили ли под это какие-нибудь дрова.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

>ни того, ни другого нет. При нажатии на соответствующие комбинации клавиш ровным счётом ничего не происходит.

Точно? Как проверяли, что нет ACPI-событий? Они в лог по дефолту не пишутся, надо написать скрипт для acpid, который ловит все события и через logger их выводит в syslog.

Правда не помню точно, пробовал ли через showkey смотреть.

Надо посмотреть, и не просто 'showkey', а 'showkey -s'.

На ноуте рядом винда стоит, в ней работает

Там тоже может стоять какое-то ПО.

Но всё же, попробуйте ещё установить gnome-power-manager, хотя, если нет скан-кодов, то вряд ли поможет.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

> Точно? Как проверяли, что нет ACPI-событий? Они в лог по дефолту не пишутся, надо написать скрипт для acpid, который ловит все события и через logger их выводит в syslog.

acpi_listen. И можно на «ты»? А то я на «ты», а ко мне на «вы», как будто не на равных получается.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

>acpi_listen

У себя проверил, он ловит события. Значит, у тебя, видимо, их действительно нет. Если 'showkey -s' молчит, то больше вариантов я не вижу. Хотя можно ещё попробовать 'cat /dev/input/event$N', где $N - номер. Тогда по очереди запускать 'cat /dev/input/event0', 'cat /dev/input/event1' и т.д., и при этом нажимать на кнопки яркости. Если из какого-то event'а посыпался мусор на консоль - это хорошо, значит, не всё ещё потеряно.

И можно на «ты»?

Конечно.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

> Надо посмотреть, и не просто 'showkey', а 'showkey -s'.

Глухо. На всё остальное реагирует, а на эти кнопки нет.

i-rinat ★★★★★
() автор топика

Может быть

1. Обновить биос

2. Установить acpid, acpi-support, acpi-support-base, acpi, acpi-fakekey

3. Поискать, существует ли модуль ядра acpi для вашей модели/материнской платы

4. Внимательно просмотреть логи

5. Google

zhuzha
()
Ответ на: Может быть от zhuzha

>Установить acpid, acpi-support, acpi-support-base, acpi, acpi-fakekey

Не поможет, т.к. acpid установлен (т.к. была команда acpi_listen); acpi-support* не помогут, т.к. события не ловятся; acpi-fakekey не поможет, т.к. вызывается из acpi-support*, а они не вызовутся; acpi не поможет, т.к. это просто команда для проверки заряда батарейки и прочих температур процессора.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

> Можно и подождать, но как тогда 'showkey -s' проверил? =)

попросил ноутбук на время и загрузился в debian.

i-rinat ★★★★★
() автор топика
Ответ на: Может быть от zhuzha

> 1. Обновить биос

доступных обновлений нет. Саппорт молчит.

2. Установить acpid, acpi-support, acpi-support-base, acpi, acpi-fakekey

Я упомянул xbacklight, а он не работает без acpi, так что всё это уже есть.

3. Поискать, существует ли модуль ядра acpi для вашей модели/материнской платы

Делал поиск в исходниках на эту тему, ничего под эту модель.

4. Внимательно просмотреть логи

На предмет чего именно? События нажатия на клавиши в логи не пишутся, ибо мусор.

5. Google

Уже искал, но с радостью приму ключевые слова для поиска.

i-rinat ★★★★★
() автор топика
Ответ на: Тогда от zhuzha

> читайте документацию или не покупайте больше экзотических ноутбуков.

Просто всю документацию, которую найду? Может укажешь что именно? На чтение всего уйдёт много веков.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Вы на что-то обиделись?

Зря. Вряд ли на форуме у кого-нибудь подобный бук. Ищите по английски. Может повезет, если в логи заглядывать выше вашего достоинства.

zhuzha
()
Ответ на: Вы на что-то обиделись? от zhuzha

> Вы на что-то обиделись?

вовсе нет, у меня всегда такое лицо :)

Ищите по английски.

google://e4105 brightness первой ссылкой посылает сюда. Остальные результаты - в лучшем случае копия текста с energy star, в худшем — вообще не относятся к теме. Так как именно мне искать?

если в логи заглядывать выше вашего достоинства.

Я всё ещё жду намёка, в какие именно логи мне нужно заглянуть.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Просмотрите все возможные. Во всяком случае не будет лишним. Возможно решите проблему.

zhuzha
()

глупо, но...
1) а если забиндить изменение яркости на другие кнопки? Ctrl+Shift+вверх\вниз , например
2) попробовать ЛивеСД убунты какой-нибудь. или ОткрытойСуси.

snoopcat ★★★★★
()
Ответ на: О поиске от zhuzha

> Вы, батенька, лентяй, однако.

Ты по своим ссылкам сам-то ходил? :)

http://www.thinkwiki.org/wiki/How_to_get_special_keys_to_work

Там написано, как сопоставить acpi событиям действия и про keysyms для keycodes. Не годится в моём случае — у меня нет ни acpi событий, ни сканкодов.

http://tuxmobil.org/clevo.html

отчёты по установке различных ОС на ноуты Clevo. Этой модели нет, но я посмотрел похожие по названию (что вообще-то бесполезно, ибо firmware и микроконтроллеры даже в соседних моделях могут быть разными). И я там вижу: «The function keys which appear to be controlled by the BIOS such as screen brightness work straight away.» Работают. Управляются фирмварью. Значит это снова не мой случай.

http://www.linuxquestions.org/questions/linux-kernel-70/fn-keys-fn-f10-thru-f...

Речь вообще о bluetooth, и скорее всего, просто выключены радиомодули. Обновили дистриб и всё заработало.

http://www.linuxlaptopwiki.net/wiki/Clevo_D901C#Special_Keys

«Эти клавиши контролируют это, а те - то». И что? Зачем мне информация о том, что на Clevo D901C всё работает? Это что, вариация «УМВР, ЧЯДНТ?».

Я понимаю, что чужие проблемы часто кажутся простыми, а люди, которые столкнулись с ними - глупыми. К сожалению, это простота часто является следствием неглубокого погружения в суть проблемы. У меня вот, например, микрофон в aoa110 работает (правда на testing), я же не лезу к тебе в тему с криками «у меня всё работает, а ты лентяй и не умеешь пользоваться гуглом».

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

> 1) а если забиндить изменение яркости на другие кнопки? Ctrl+Shift+вверх\вниз , например

Повесил скрипты на Ctrl-F7/F8 средствами DE (железные кнопки на Fn+F7/F8). Но всё равно перфекционизм гложет.

2) попробовать ЛивеСД убунты какой-нибудь. или ОткрытойСуси.

убунту уже пробовал, а opensuse пока нет. Поставил скачиваться.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Я потратил на вас свое время,

пусть даже не очень удачно. В ответ вы высказываете мне кучу претензий по поводу своего сраного экзотического ноутбука. Это наводит на мысль, что вы конченый совок и с вами лучше не иметь дела. Или вы блондинка и вам все должны?

zhuzha
()
Ответ на: Я потратил на вас свое время, от zhuzha

Давай ругаться на «ты», а то мне уже неудобно.

Я потратил на вас свое время, пусть даже не очень удачно.

В этом-то и дело, что не очень удачно - приведя заведомо бесполезные сведения. Все эти советы «посмотри логи, все что имеются» для меня непонятны. В ветви уже упоминалось, что события acpi и коды нажатых клавиш в логи не пишутся. Значит там ничего нет по поводу событий acpi и кодов нажатых клавиш. Поэтому я и спрашивал - что именно искать. А в ответ снова - «смотри логи». Это что, заклинание такое?

В ответ вы высказываете мне кучу претензий по поводу своего сраного экзотического ноутбука.

Ноутбук не такой уж и экзотический. Тот факт, что в России они не так сильно распространены, не делает его «сраным». Выпад был бы обоснован, если бы ты в самом деле смог «починить» неисправность, будь у тебя физический доступ к железу; едва ли это так. А претензии были к ссылкам с первой страницы гугла. Бесполезным ссылкам. Это стало бы очевидно, перейдя ты по ним до того, как совать их мне.

Это наводит на мысль, что вы конченый совок и с вами лучше не иметь дела.

Вот тут мне обидно. Мне кинули пустышку, я показал, что это пустышка, аргументированно. Хотя, если это и есть «конченый совок», я горд, что я «конченый совок».

Или вы блондинка и вам все должны?

Перечитай первое сообщение. Указан дистрибутив, указано железо. Описана проблема, описаны действия, которые я предпринял, чтобы попытаться решить проблему. Там есть требование решить мои проблемы за меня?

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Создается впечатление,

что мое мнение было верным, к сожалению. Вы действительно агрессивный и вечно обиженный совок, которому все вокруг что-то должны. Подумайте над этим. Успехов!

zhuzha
()
Ответ на: Создается впечатление, от zhuzha

> Подумайте над этим. Успехов!

Давай так. Я выкладываю логи, и если ты по результатам их просмотра найдешь решение, я плачу тебе 2000 рублей. Способ перевести найду. Deadline - сутки после выкладывания.

Обиженный - не обиженный, деньги ведь не пахнут?

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от gentoo_root

> Плохо. /dev/input/event* тоже молчат?

Молчат. На клавиатуру реагирует только event0, но при нажатии на клавиши управления яркостью ничего не происходит.

i-rinat ★★★★★
() автор топика
Ответ на: Только совки от zhuzha

> все меряют деньгами...

«Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer.» - Richard Stallman.

Ты неправильно понял идею opensource. Я не требую ни от кого сделать работу за меня. Более того, предложил конкретную сумму за конкретную работу. От денег ты никуда не денешься. Надо на что-то покупать еду, оплачивать жильё и прочие ништячки.

Я правильно понял, что ты отказался?

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

> 2) попробовать ЛивеСД убунты какой-нибудь. или ОткрытойСуси.

Попробовал opensuse. Не работает.

i-rinat ★★★★★
() автор топика
Ответ на: Ты абсолютно правильно меня понял, от zhuzha

> с совками, особенно с излишне нервными, никогда не связываюсь.

Когда аргументы в споре заканчиваются, в ход идут личные оскорбления. Предлагаю обставить всё так: у тебя есть решение (не забыл, что тема про кнопки регулировки яркости? Нет? Отлично, продолжаем), но ты решил научить меня поиску в интернете (читай, научить ловить рыбу). Ты честно попытался, но я закатил истерику и не дал тебе высказать истину. А потом, о боже!, попытался подкупить.

i-rinat ★★★★★
() автор топика

хде конфиг ядра?
у меня такое было на нетпуке
решилось лайф+localyesconfig ---> не хватало какого-то модуля
из-за этого не работала ни одна комбинация Fn+X

megabaks ★★★★
()
Ответ на: комментарий от i-rinat

сюзя не показатель
попробуй хоть убунту (стабильную, а не альфы)
pmagic
RescueCD и т.д.

megabaks ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.