setpci

В одном из топиков было высказано
binaryshadow
С яркостью дисплея на многих ноутбуках существуют разные проблемы, но даже их можно решить в лоб - передачей значения уровня яркости в специальный регистр видеоадаптера при помощи setpci.
все не решался написать, но ….. не дает мне это покоя — на моих ноутбуках это никогда не работает, как и изменение яркости, используя регистры монитора ….. и прихожу к выводу, что в большинстве современных ноутбуков регулировка яркости/подсветки не осуществляется как через использование регистров setpci, так и через использование регистров монитора.
А чтобы получить информацию в этой части (только для setpci), прошу, кому не лень, выдать информацию
1. Считываем 64 байта конфигурационного пространства видеокарты и записываем в файл ~/reg1
hexdump -C /sys/bus/pci/devices/0000:00:02.0/config > ~/reg1
2. Изменяем яркость общепринятым у Вас способом
3. Снова считываем 64 байта и записываем в файл ~/reg2
hexdump -C /sys/bus/pci/devices/0000:00:02.0/config > ~/regf42
4. Сравниваем файлы и показываем результат
diff ~/reg1 ~/reg2
UPD …. если разницы нет, то регулировать яркость посредством setpci не возможно.
PS … описал для видеокарт intel …...... для других карт будут другие шины (bus)
Ошибки не исчезают с опытом - они просто умнеют
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000090  05 d0 01 00 18 00 e0 fe  00 00 00 00 00 00 00 00  |................|
000000a0  00 00 00 00 13 00 06 03  00 00 00 00 00 00 00 00  |................|
000000b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000000d0  01 a4 22 00 00 00 00 00  00 00 00 00 00 00 00 00  |..".............|
Файлы одинаковые, но пара строк почему-то отбрасывается.
sirocco
Файлы одинаковые, но пара строк почему-то отбрасывается.
Спасибо. А можешь просто показать вывод (интересный он у тебя)
hexdump -C /sys/bus/pci/devices/0000:00:02.0/config
UPD ….. Наверное, зря решил считать 64 байта …. подумал, а вдруг эти значения в другом регистре … В принципе, наверное, проще считать значение регистра F4, в котором хранится значение яркости, до изменения яркости и после изменения яркости.
# setpci -s 0000:00:02.0 F4.B
Ошибки не исчезают с опытом - они просто умнеют
vasek
а может ???
/sys/bus/pci/devices/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight/brightness

или я не совсем догнал задачу))
Ошибки в тексте-неповторимый стиль автора©
vasek
hexdump -C /sys/bus/pci/devices/0000:00:02.0/config
00000000  86 80 16 0a 07 04 90 00  09 00 00 03 00 00 00 00  |................|
00000010  04 00 00 b2 00 00 00 00  0c 00 00 a0 00 00 00 00  |................|
00000020  01 40 00 00 00 00 00 00  00 00 00 00 aa 17 78 39  |[email protected]|
00000030  00 00 00 00 90 00 00 00  00 00 00 00 00 01 00 00  |................|
00000040  09 00 0c 01 91 61 00 72  d0 00 5b 14 00 00 00 00  |.....a.r..[.....|
00000050  09 02 00 00 31 00 00 00  00 00 00 00 01 00 a0 9d  |....1...........|
00000060  00 00 02 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000090  05 d0 01 00 18 00 e0 fe  00 00 00 00 00 00 00 00  |................|
000000a0  00 00 00 00 13 00 06 03  00 00 00 00 00 00 00 00  |................|
000000b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000000d0  01 a4 22 00 00 00 00 00  00 00 00 00 00 00 00 00  |..".............|
000000e0  00 00 00 00 00 00 00 00  00 80 00 00 00 00 00 00  |................|
000000f0  00 00 00 00 00 00 00 00  00 00 09 00 18 10 fb 9c  |................|
00000100

# setpci -s 0000:00:02.0 F4.B
00
Независимо от яркости.
indeviral
/sys/bus/pci/devices/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight/brightness

У себя drm не наблюдаю.
# ls /sys/bus/pci/devices/0000\:02\:00.0/
broken_parity_status      driver_override           modalias                  reset
class                     enable                    msi_bus                   resource
config                    firmware_node/            msi_irqs/                 resource0
consistent_dma_mask_bits  ieee80211/                net/                      subsystem/
d3cold_allowed            irq                       numa_node                 subsystem_device
device                    leds/                     power/                    subsystem_vendor
dma_mask_bits             local_cpulist             remove                    uevent
driver/                   local_cpus                rescan                    vendor

Есть
# cat /sys/bus/pci/devices/0000\:02\:00.0/leds/phy0-led/brightness 
1
vasek
inotifywatch -r /sys/bus/pci/devices/0000:00:02.0/
так наверно нагляднее?...
Ошибки в тексте-неповторимый стиль автора©
sirocco, спасибо ....... у тебя я вижу intel ....... и не 64 байта, а больше ...... расширенная конфигурация ....
Ошибки не исчезают с опытом - они просто умнеют
Вот где оно у меня
# cat /sys/class/backlight/intel_backlight/brightness 
286
# cat /sys/class/backlight/intel_backlight/brightness 
472
indeviral
или я не совсем догнал задачу))
Плохо я объясняю …... отрывочно — не вини...
Я хотел считать показания регистров, точнее значения 64 байт, прописанные в адресах конфигурационного пространства видеокарты ….. которые можно смотреть разными способами, например
1. lspci -s 0000:02.0 -x ….... (или просто lspci -s 00:02.0 -x)
2. Тот же самый вывод имеется и в файле /sys/bus/pci/devices/0000:00:02.0/config
hexdump -C /sys/bus/pci/devices/0000:00:02.0/config
3. За яркость/подсветку отвечает регистр F4 (значение яркости прописано в этом регистре) и посмотреть это значение можно так
# setpci -s 0000:00:02.0 F4.B
4. …... есть и другой способ ….
И давно пишут, что изменять яркость можно используя утилиту setpci, прописав нужное значение в регистре F4 …..... Но на новых ноутбуках это не проходит — вот и решил уточнить, как с этим обстоит дело у других. Например у меня значение регистра F4 всегда равно нулю, что бы я там не прописывал
# setpci -s 0000:00:02.0 F4.B
00
PS …. как прописывать не привожу … хоть и не опасно, но не дай бог у кого нибудь новичка что то испортится … и я буду виноват ...
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.