Linux setterm -powersave - ошибка: «не могу установить режим энергосбережения»
4405
Bob Sammers
Я пытаюсь полностью отключить подсветку ЖК-панели, встроенной в устройство, которое я использую. Хотя экран не отображается, вы можете увидеть свечение от подсветки в затемненной комнате.
Я думаю, что (как root) я должен быть в состоянии сделать это следующим образом:
setterm -powersave powerdown > /dev/tty1
который должен форсировать состояние DPMS, когда экран отключен. Тем не менее, хотя man settermпредполагается, что -powersaveэто допустимый вариант, какой бы из предложенных аргументов я не предоставил (вкл, выкл, выключение и т. Д.), Я получаю сообщение об ошибке:
X (который, как я понимаю, может мешать работе setterm) не установлен нигде, где я пробовал это. Это также означает, что xsetкоманда не будет работать
Предоставляется драйвер, который предлагает управление дисплеем через sysfs, в том числе psuedo-файл, который подразумевает отключение подсветки, но он по-прежнему тускло светится
Две другие установки, которые я пробовал (12.04 и 10.04), были разными устройствами: виртуальная машина VMWare и физический сервер Dell соответственно.
и это сработало (команда возвращает 0). Я не могу проверить ATM, если команда действительно делает то, что должна, потому что я делаю это через SSH. Кроме того, кажется, у вас есть своеобразная конфигурация, так что YMMV.
Спасибо за вашу помощь. Должен признаться, я не понимаю, что здесь должно происходить (перенаправление с консоли _ на_ команду `setterm`?), Но я вижу код возврата 0 на моем устройстве при использовании вашего варианта команды. Однако, к сожалению, это не влияет на подсветку. На самом деле я написал небольшую C-программу для прямой отправки `ioctl ()` в / dev / fb0, которая также не работала (сообщалось об ошибке 22: «Неверный аргумент», хотя, насколько я мог судить, я сделал что я должен был иметь).
Bob Sammers 10 лет назад
0
1
eri
Я потратил 5 часов на то, чтобы попробовать setterm, fbset и другие ...
Также попробуйте поискать backlightдескриптор LVDS в/sys/
Что такое "твоя доска"? К сожалению, я не могу найти что-нибудь под именем `/ sys / devices / pci0000 \: 00/0000 \: 00 \: *` на моем устройстве. (Дословная команда приводит к ошибке «Нет такого файла ...».)
Bob Sammers 8 лет назад
0
kirkwood with xgi pci graphics. your graphics may be placed at another bus, but it should be in sysfs
eri 8 лет назад
0
попробуйте `find / sys / -name fb0`
eri 8 лет назад
0
Я нашел записи sysfs `fb0` (и` backlight`). К сожалению, это не представляется возможным в моей установке: я получаю `bash: echo: write error: неверный аргумент` при записи в` blank` файл psuedo (как root), и хотя я могу контролировать мощность подсветки, написав число в `/ sys / class / backlight / openframe-bl / Bright`,` 0` по-прежнему оставляет подсветку тусклой.
Bob Sammers 8 лет назад
0
осмотрите вашу доску и жк-панель. может быть, подсветка замкнута на питание физически ...
eri 8 лет назад
0
0
Bob Sammers
I have discovered why setterm is giving an error... well up to a point. It seems that the method of controlling a physical console screen via SSH (i.e. redirecting the output of setterm to /dev/tty1 doesn't work in this case.
I was being thrown by the fact that the following variation does work exactly as expected (it clears the console's physical screen from an SSH session):
root@joggler:/home/bob# setterm -clear all > /dev/tty1
As to why some setterm commands work and others not, I don't have an answer for that.
For anyone finding this question in relation to a Joggler problem, I should clarify that it appears not to be possible to do what I want (completely disable the backlight) using setterm -powersave powerdown: the screen remains very dimly lit as before.
«setterm clear all» отправляет тот же символ, что и CRTL + L, очищая консоль и перемещая курсор в верхний левый угол.
rob 11 лет назад
0
0
dirkt
Техническое описание от Sharp LQ070Y3LG4A, используемой в Joggler показывает, что светодиодная подсветка непосредственно подключена (Примечание 1 на странице 11) к контактам 24-30. Таким образом, даже если вы очищаете дисплей с помощью DPMS (любым другим способом), подсветка остается включенной.
Таким образом, вопрос заключается в том, есть ли на материнской плате какая-либо другая аппаратная часть, которая позволяет отключать питание светодиодной подсветки, и если да, то как ее контролировать. Я не мог найти ничего об этом в Joggler Wiki, типичными кандидатами являются чипы, управляемые I2C / SMBUS. Но, возможно, просто нет способа отключить подсветку программным обеспечением (если только вы не добавите свое собственное оборудование).
Яркость подсветки можно изменить (и я знаю, как это сделать), поэтому есть что-то, что контролирует напряжение, подаваемое на эти светодиодные цепочки. Вопрос в том, может ли кто-то, кто несет за это ответственность, полностью отключить власть? Кажется разумным, что так и должно быть, но я не исследовал аппаратное обеспечение, и ваш подход интересен. На самом деле, я помню (я не смотрел на это в течение 3 лет, хотя я все еще использую устройство), что я установил, что `xset` может это сделать, но я уклонился от установки X просто для переключения _off_ дисплей. Возможно, я должен пересмотреть!
Bob Sammers 8 лет назад
0
Так как же можно изменить подсветку? Не держи это в секрете. :-) Если бы вы могли сказать нам об этом, должно быть возможно выяснить, какой драйвер управляет им, и какое оборудование отвечает за него. Установка X также будет использовать только DPMS, так что это не имеет значения.
dirkt 8 лет назад
0
Видел `openframe-bl` в другом комментарии. [This] (https://searchcode.com/codesearch/view/40100743/), похоже, код, который не сбивает с толку `драйвер / gpu / drm / gma500`, который имеет * другие * способы управления подсветкой на различных моделях , Таким образом, в GMA 500, по-видимому, имеется регистр широтно-импульсной модуляции `BLC_PWM_CTL` с битовым полем для яркости и некоторыми другими битами (например, бит 31, который всегда установлен). Возможно, вам придется установить / сбросить некоторые биты в этом регистре, чтобы полностью отключить подсветку. Но без надлежащей документации никто не знает, какие ...
dirkt 8 лет назад
0
Я подробно рассказал о своих исследованиях в этой теме, http://www.jogglerwiki.com/forum/viewtopic.php?t=1277, которая включает в себя управление яркостью и некоторые другие вещи, обнаруженные мной и другими.
Bob Sammers 8 лет назад
0
Похоже, что эта тема в основном ищет "какой API я могу использовать". В конце концов, независимо от того, какой API вы используете, вы должны управлять фактическим оборудованием, и как код для устройства кадрового буфера (`driver / gpu / drm / gma500`), так и` openframe-bl` только когда-либо устанавливают битовое поле яркости в `BLC_PWM_CTL`. Поэтому вывод тот же: если это не отключает ШИМ полностью в соответствии с вашим наблюдением, то либо он не может быть отключен полностью, либо некоторые другие биты в этом или аналогичных регистрах делают это. Без документации мы не можем знать, какие именно.
dirkt 8 лет назад
0
Если вы можете кодировать, всегда есть возможность поиграться с другими битами и посмотреть, что произойдет, но это потенциально опасно для аппаратного обеспечения, особенно если где-то задействованы более существенные усилители.
dirkt 8 лет назад
0