Closed BrokenBrake closed 13 years ago
Добрый вечер (=
Угу, самсунги на эту тему печальны )= Fn+Up/Down как правило вообще отдельная тема (= Я так понял у вас GMA3150 на борту? Общий смысл модуля описывается командой setpci -s 00:02.0 f4.b=FF (FF можно менять от 00 до FF (min и max) значения яркости.) По-этому попробуйте сначала выполнить ее из под рута, и пришлите получилось ли что-либо из этого..
Ура! Спасибо.
Ваш способ работает чётко, без малейших глюков. Значит можно будет набросать просто скриптик на bash и настроить без ядерного модуля даже эти клавиши в крайнем случае. Урррааа! :)
А то я уж смирился и отложил ноут в дальний угол, настроившись на долгую работу за старым компьютером.
А насчёт GMA3150, я пока не знаю как точно определить это. Но попробую.
Хм. Наверно ж через lspci эту информацию получить можно, но там почему-то очень куцая информация, даже если -vv в опциях. Всё то же Intel Corporation N10 Family.
О. ну раз пашет, то уже хорошо (= Правда загадка почему модуль по такому случаю не пашет... Если есть свободное время, то попробуйте следующее
git clone git://github.com/xonatius/samsung-backlight.git
cd samsung-backlight
git checkout samsung_n350
make
sudo make install
sudo rmmod samsung_backlight
sudo modprobe samsung_backlight
Далее пришлите хвост dmesg
и попробуйте
cd /sys
find . -name brightness
Получите что-то вроде
./devices/virtual/backlight/acpi_video0/brightness
./devices/pci0000:00/0000:00:02.0/backlight/samsung/brightness
И попробуйте поменять/считать яркость следующим образом
sudo cat /sys/devices/pci0000:00/0000:00:02.0/backlight/samsung/brightness
sudo su -c 'echo 7 > /sys/devices/pci0000:00/0000:00:02.0/backlight/samsung/brightness'
Где вместо 7 можно числа от 0 до 7. Аналогично можно попытаться для любого из найденного файла. Пришлите результаты, если не трудно (=
Всё сделал.
dmesg | tail [ 2972.892371] Samsung-backlight: checking for SABI support. [ 2972.892644] Samsung-backlight: SABI is supported (f5139)
А вот числа в найденный файл производят странный эффект. Вообще никакой логики. То увеличивается, то уменьшается, причём как-то плавно, а не мгновенно, как в случае с setpci.
И, кстати, увеличение/уменьшение происходит также и через Fn-клавиши, и при этом также (как и с echo любой цифры) только в двух вариантах - или ярко, или темно. Без градаций.
Через setpci поставил 00 и экран отключился :) Хорошо, что до этого было FF. А нафиг вообще тогда модули все эти нужны? И почему производители так намудрили? Ничччего не понимаю.
ого, прикольно (= Точнее странно (= попробуй setpci с параметрами 1F, 3F и 5F... и при этом читая содержимое /sys/devices/pci0000:00/0000:00:02.0/backlight/samsung/brightness. Меняется ли яркость в градациях и что выдает содержимое файла? ага, по нулям - это вообще потушить лампу (= Ну как бы использование setpci - это что-то вроде читерства (= Ты просто отправляешь на некоторый адрес устройству какое-то число. Модули предназначены, что б уже нести какую-то логику и связывать между собой компоненты, те. что это не просто какое-то значение по адресу, а яркость ну и соотв. если у др. производителей другой адрес, то модуль тут посредник. Почему намудрили - это загадка (=
Сделал. 1F и т. п. меняют яркость чётко, но при этом в файле */brightness всегда остаётся 0. Про "читерство" понимаю, конечно, но уж точно лучше так, чем никак :)
Такс. Стоп. Тут еще одна мысля в голове промелькнула. сделайте sudo rmmod samsung-backlight
зайдите в папку где собирали модуль и сделайте sudo insmode ./samsung-backlight.ko
. Попробуйте опять dmesg | tail
и файлы, кнопки.
Вы случайно не ставили пакеты voria, easy-slow-down-manager?
Ко мне можно и лучше на "ты" :) Voria, конечно же, пробовал, и сейчас, оказывается, стоит этот пакет неудалённый. Извините, что сразу не сказал, вылетело из головы. И в ядро при загрузке передаётся acpi_backlight=vendor.
Пакет сейчас удалю, сделаю rmmod и insmode.
Блин, с двумя компьютерами постоянно путаюсь, какой клавиатурой набирать ))
Ок (= Ко мне тоже можно и лучше (= Та я что-то просто сам не подумал, что они конфликтовать могут. То, что передается при загрузке - норм, пусть остается (= (=
Заработало! Во-первых, сменился файл, он теперь с адресом. /sys/devices/pci0000:00/0000:00:02.0/backlight/samsung/brightness
Во-вторых, отлично стали работать кнопки, семь уровней, и в файлике соответственно отображается от 0 до 7. Но при insmod всё ж были ошибочки...
dmesg | tail -n 25
[ 5511.277825] sdb:
[ 5511.282566] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[ 5511.282891] sd 5:0:0:0: [sdb] Attached SCSI removable disk
[ 5562.991581] samsung_backlight: found laptop model 'N350'
[ 5562.997486] ------------[ cut here ]------------
[ 5563.003163] WARNING: at /home/kernel-ppa/COD/linux/drivers/video/backlight/backlight.c:314 backlight_device_register+0x149/0x180()
[ 5563.014608] Hardware name: N350
[ 5563.020618] samsung: invalid backlight type
[ 5563.020818] Modules linked in: samsung_backlight(+) nls_iso8859_1 nls_cp437 vfat fat usb_storage uas snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq btusb bluetooth joydev snd_timer snd_seq_device snd tpm_tis pcspkr soundcore snd_page_alloc uvcvideo tpm videodev tpm_bios psmouse i2c_i801 serio_raw jfs i915 ahci libahci drm_kms_helper drm sky2 i2c_algo_bit video [last unloaded: samsung_backlight]
[ 5563.053348] Pid: 2366, comm: insmod Not tainted 2.6.39-020639rc4-generic #201104191410
[ 5563.060252] Call Trace:
[ 5563.066869] [
Что это всё значит? Ещё +1 модель к проекту? :)
Кстати, ядро у меня сейчас самое распоследнее, 2.6.39, т. к. там как раз для самсунгов чего-то делали в последних патчах. Похоже, именно из-за этого варнинги. Разобраться бы, в чём именно дело. Попробую сейчас ещё со старым ядром.
Ух ты, блин. Крышку закрывал, он, видимо, пытался уснуть, да проснуться теперь и не может. Всё через жопу :) И у Самсунгов, и в Линуксе.
Так, для старого ядра у меня заголовочные файлы не установлены, поэтому модуль не собирается. Чтобы установить, надо переключить сеть, много всяких заморочек. Надо это сделать, или необязательно?
Ура (=
А вот что вот это вот за чудо ошибка - я хз О.о Но то, что работает уже хорошо (= Снеси другие пакеты, которые ты до этого ставил и они не работали и поищи find /lib/modules/
uname -r-name samsung-backlight.ko
, удали их и сделай еще раз sudo make install
из директории с репозиторием. Ну и попробуй ребут и просмотри dmesg | less
после ребута - мб пропали те приколы? (=
Ну по всей видимости да, +1 (=
Да, со сном и гибернацией вечные траблы. Но у моего ноута уже устаканилось вроде. Ну если ты хочешь на старое ядро поставить, то придется заголовки качать, иначе не соберет, а собранное под другое ядро - не канает.
А я уже сперва снёс пакеты, а потом делал то, что ты говорил. Так что всё ОК, замечательно работает. После перезагрузки тоже всё ОК, собранный модуль автоматом подхватывается. Ура, ура :) Спасибо! В блоге написать надо об этой радости, да этим из voria, чтобы тоже обновились.
Я очень рад и немного завидую даже :) Очень клёво столько знать и уметь. Запросто драйверы для дурацких ноутов писать за считанные минуты. Это супер!
Прошу прощения за неправильное обращение, сейчас только понял, что ты не Пётр, а Даниил. А кто Пётр, теперь в этих форках и не разобрать :) В любом случае всем участникам сего хорошего дела очень благодарен.
Это хорошо (= только с новыми ядрами пересобрать придется, до тех пор пока кто-нибудь не отправит этот патч в ядро. Пожалуйста, рад был помочь (= Удачи (= Ну родоначальник модуля не я и не так уж я в этом шарю (= Просто в один день попал в руки самсунговский ноут и пришлось искать решение, набрел на модуль для других моделей, поковырялся, оказалось что просто нужно добавить пару строк о своей модели, форкнул и все (= Ну а потом решил добавить, все че встречалось в сети на эту тему, документировать и собирать аналогичные траблы (= Модуль простой - по сути запись одного числа и куча строк для кого это работает, но зато хоть небольшой опыт в том, как устроены модули ядра. (=
http://brokenbrake.biz/2011/04/22/Samsung-N350-backlight
Ну всё, теперь остальным легче будет, не потратят столько времени как я, балбес :) И мне польза, и людям. Ладно, пойду поработаю наконец-то, да завтра уж займусь продолжением настройки злополучного этого ноута.
Удачи!
Та ниче страшного (= Тут сложно к кому обращаться, людей тут много (= Главное что гуглился пост легко (= П.С. Раз на то пошло, то фамилия у меня не через ё, а е (= Это хроническое у меня, все время путают (= Тебе тоже удачи. Будут самсунги - пиши (=
Здравствуйте, Даниил.
Ох уж эти Самсунги! Замучался :( Ваш модуль тоже, к сожалению, почти не работает. Полное описание проблемы тут - http://brokenbrake.biz/2011/04/20/3aTpax Кратко: попытка убавить/прибавить яркость через xbacklight вводит систему в помешательство: яркость начинает быстро меняться от минимальной до максимальной раз двадцать. А через Fn+Up/Fn+Down вообще никакой реакции.
Я сдаюсь, у меня не хватает знаний, чтобы понять, в чём дело. Убил три дня на попытки решить проблему.
lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation N10 Family DMI Bridge [8086:a010] 00:02.0 VGA compatible controller [0300]: Intel Corporation N10 Family Integrated Graphics Controller [8086:a011] 00:02.1 Display controller [0380]: Intel Corporation N10 Family Integrated Graphics Controller [8086:a012] 00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8](rev 02) 00:1c.0 PCI bridge [0604]: Intel Corporation N10/ICH 7 Family PCI Express Port 1 [8086:27d0](rev 02) 00:1c.1 PCI bridge [0604]: Intel Corporation N10/ICH 7 Family PCI Express Port 2 [8086:27d2](rev 02) 00:1c.2 PCI bridge [0604]: Intel Corporation N10/ICH 7 Family PCI Express Port 3 [8086:27d4](rev 02) 00:1c.3 PCI bridge [0604]: Intel Corporation N10/ICH 7 Family PCI Express Port 4 [8086:27d6](rev 02) 00:1d.0 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 [8086:27c8](rev 02) 00:1d.1 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 [8086:27c9](rev 02) 00:1d.2 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 [8086:27ca](rev 02) 00:1d.3 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 [8086:27cb](rev 02) 00:1d.7 USB Controller [0c03]: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller [8086:27cc](rev 02) 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448](rev e2) 00:1f.0 ISA bridge [0601]: Intel Corporation NM10 Family LPC Controller [8086:27bc](rev 02) 00:1f.2 SATA controller [0106]: Intel Corporation N10/ICH7 Family SATA AHCI Controller [8086:27c1](rev 02) 00:1f.3 SMBus [0c05]: Intel Corporation N10/ICH 7 Family SMBus Controller [8086:27da](rev 02) 05:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727](rev 01) 09:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller [11ab:4354]
dmidecode -s system-product-name N350