Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: [HOWTO] Настройка Fn клавиш на ноутбуках samsung  (Прочитано 314476 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zl0i

  • Автор темы
  • Активист
  • *
  • Сообщений: 344
  • Как много веселых ребят и все делают велосипед...
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #15 : 16 Ноябрь 2009, 19:56:44 »
У меня тоже по кнопке вайфай не отключается, пока пользуюсь для выключения:
sudo rfkill block allи
sudo rfkill unblock allдля включения.
На http://www.voria.org/forum есть скрипт для этого, можно его прикрутить. А так вообще я ожидал, что заработает зта кнопка, потому как в 9.04 она работала - команда отрабатывала, да вот только rfkill подводил - диод не вырубался.
ВЕЛОСИПЕДОВ ДЛЯ ВСЕХ, ДАРОМ, И ПУСТЬ НИКТО НЕ УЙДЁТ ОБИЖЕННЫЙ!

Оффлайн j0hn

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #16 : 17 Ноябрь 2009, 13:38:41 »
В общем все сделал, как описано выше... Последнее ядро и т.д. Кнопки заработали. wi-fi не проверял. Кнопки регулировки яркости значение current в файле brightness меняли, но яркость дисплея оставалась неизменной. Попробовал сделал по совету Mag Net - кнопки вообще перестали работать, в файле brightness "<not supported>"... Куда двигаться дальше?

Оффлайн MagNet

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #17 : 17 Ноябрь 2009, 15:22:17 »
В общем все сделал, как описано выше... Последнее ядро и т.д. Кнопки заработали. wi-fi не проверял. Кнопки регулировки яркости значение current в файле brightness меняли, но яркость дисплея оставалась неизменной. Попробовал сделал по совету Mag Net - кнопки вообще перестали работать, в файле brightness "<not supported>"... Куда двигаться дальше?
Скажи модель ноута и модель видяхи.
И ещё покажи вывод команды:
xrandr --prop
« Последнее редактирование: 17 Ноябрь 2009, 15:33:39 от MagNet »

Оффлайн j0hn

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #18 : 17 Ноябрь 2009, 16:27:35 »
Скажи модель ноута и модель видяхи.
samsung r560, nvidia geforce 9600M GS
И ещё покажи вывод команды:
xrandr --prop
$ xrandr --prop
Screen 0: minimum 320 x 240, current 1680 x 1050, maximum 1680 x 1050
default connected 1680x1050+0+0 0mm x 0mm
   1680x1050      50.0*    51.0 
   1600x1024      52.0 
   1440x900       53.0 
   1360x768       54.0     55.0 
   1280x1024      56.0 
   1280x960       57.0 
   1152x864       58.0 
   1024x768       59.0 
   960x600        60.0 
   960x540        61.0 
   840x525        62.0     63.0 
   800x600        64.0     65.0 
   800x512        66.0 
   720x450        67.0 
   700x525        68.0 
   680x384        69.0     70.0 
   640x512        71.0 
   640x480        72.0     73.0 
   576x432        74.0 
   512x384        75.0 
   400x300        76.0 
   320x240        77.0

Оффлайн zl0i

  • Автор темы
  • Активист
  • *
  • Сообщений: 344
  • Как много веселых ребят и все делают велосипед...
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #19 : 17 Ноябрь 2009, 17:54:10 »
еще smartdimmer советуют именно для nvidia:
smartdimmer -s 50
ВЕЛОСИПЕДОВ ДЛЯ ВСЕХ, ДАРОМ, И ПУСТЬ НИКТО НЕ УЙДЁТ ОБИЖЕННЫЙ!

Оффлайн MagNet

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #20 : 17 Ноябрь 2009, 17:58:45 »
Проприетарные драйвера Nvidia сейчас KMS не поддерживают, поэтому мой совет и не помог.

Оффлайн j0hn

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #21 : 17 Ноябрь 2009, 18:03:48 »
Все понятно. MagNet, спасибо! zl0i, smartdimmer хорош, но кнопочки роднее...

Оффлайн xibatus

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #22 : 20 Ноябрь 2009, 16:59:27 »
Пришлось откатиться на предыдущее ядро :(

помимо того что заработала регулировка яркости, стала наблюдаться следующая проблема:

При открытии крышки ноутбука экран не включается сразу, затем через несколько секунд предлагает выбрать логин и пароль (хотя в настройках установленно логиниться без пароля. Все запущенные программы закрываются. ПРиходиться заргужать все заново :(

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

Оффлайн zl0i

  • Автор темы
  • Активист
  • *
  • Сообщений: 344
  • Как много веселых ребят и все делают велосипед...
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #23 : 20 Ноябрь 2009, 20:15:58 »
Бывает. Ядро-то 32 все-таки пока не совсем стабильно.
ВЕЛОСИПЕДОВ ДЛЯ ВСЕХ, ДАРОМ, И ПУСТЬ НИКТО НЕ УЙДЁТ ОБИЖЕННЫЙ!

Оффлайн [tr]

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #24 : 23 Ноябрь 2009, 23:30:15 »
Мені попався такий пост: http://forum.ubuntu.ru/index.php?topic=35696.msg554065#msg554065
Тут в людини ніби вийшло якось прикрутити можливість виключати WiFi... Навіть індикатор виключається...
В тому пості він використовує метод з використанням ifconfig, але в мене він не працює  :(

Ну я порився форумами... Найшов два способи виключання:

1. sudo modprobe -r iwlagn  (в цьому випадку, я так розумію, дрова вафлі відключаються і система її не бачить.... але я не думаю що WiFi вимикається і не споживає енергію... до тогож індикатор жодним чином на це не реагує)

2. frkill block wifi (незнаю яким чином він працює, але але при введенні rfkill list видає:
phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
тобто пристрій знову не вимикається і інтикатор теж)

Хтось може щось порадити по цьому поводу?
Може є якись патч на ядро чи якись інший вихід?

Оффлайн biggun

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #25 : 27 Ноябрь 2009, 03:58:15 »
Спасибо за инструкцию по включению fn клавиш в новом ядре. Для Samsung R560-ASS0 подошло. Остался открытым вопрос с wifi, rfkill его отключает, но диод не гаснет, поэтому есть некоторые сомнения в достоверности его отключения. Но это не главное, основной вопрос с яркостью. До установки проприетарных драйверов, яркость регулировалась кнопками, после установки перестала. Уведомление о том, что яркость меняется осталось, значение в файле /proc/acpi/video/NVID/LCD/brightness меняется, но яркость остается неизменной. С помощью smartdimmer яркость регулируется. Теперь собственно вопрос, что происходит при нажатии на клавиши fn+up и fn+down? Раньше были скрипты /etc/acpi/video_brightnessup.sh и /etc/acpi/video_brightnessdown.sh, которые вызывались по нажатию на соответствующие комбинации клавиш. И добавив в эти скрипты вызов smartdimmer'а можно было получить желаемый результат. Т.е. оставить визуальную нотификацию, что яркость меняется, изменения в файле /proc/acpi/video/NVID/LCD/brightness, которые в принципе не нужны, и при этом реально изменить яркость. В версии Ubuntu 9.10 эти файлы отсутствуют и их создание ни на что не влияет. Поэтому вопрос, никто не знает куда делтсь эти скрипты или как изменился механизм изменения яркости?

Оффлайн vvv82

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #26 : 27 Ноябрь 2009, 04:42:40 »
Здравствуйте. Парни, подскажите что делать. Ноут Samsung r418 da01, как у товарища MagNet. Система mops7 (слака 13). Более нигде не нашел обсуждение данной проблемы, кроме этого форума. Качнул ванильное ядро 2.6.32-rc6, с патчем rc8 и git1. Скомпилил, поставил. вписал строку echo 130,131,132,134,136,137,177,179,247,249 > /sys/devices/platform/i8042/serio0/force_release, в файл /etc/rc.d/rc.local
Выглядит так:
Цитировать
vvv@mycomp:/sys/devices/platform/i8042/serio0$ cat /sys/devices/platform/i8042/serio0/force_release
130-132,134,136-137,177,179,247,249

fdi выглядет так:
Цитировать
vvv@mycomp:/usr/share/hal/fdi/information/10freedesktop$ cat 30-keymap-misc.fdi
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->              

<deviceinfo version="0.2">
  <device>                

    <!-- These are raw scancodes produced by the atkbd driver -->
    <match key="@input.originating_device:info.linux.driver" string="atkbd">

....поскипано
      
      <match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" prefix_ncase="samsung">
        <match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains_outof="NC10;SP55S;SQ45S70S;SX60P;SX30S;R468/R418;R59P/R60P/R61P;Q210;Q310;X05;P560;R560">                                                                                                                                                          
          <append key="input.keymap.data" type="strlist">e002:switchvideomode</append> <!-- Fn+F4 CRT/LCD (high keycode: "displaytoggle") -->                          
          <append key="input.keymap.data" type="strlist">e003:0x83</append> <!-- Fn+F2 battery icon -->                                                                
          <append key="input.keymap.data" type="strlist">e004:prog1</append> <!-- Fn+F5 backlight on/off -->                                                            
          <append key="input.keymap.data" type="strlist">e006:wlan</append> <!-- Fn+F9 Turn On/Off Wireless -->                                                        
          <append key="input.keymap.data" type="strlist">e008:0x88</append> <!-- Fn-Up Brightness up -->                                                                
          <append key="input.keymap.data" type="strlist">e009:0x89</append> <!-- Fn-Down Brightness down -->                                                            
          <append key="input.keymap.data" type="strlist">e031:prog2</append> <!-- Fn+F7 run Samsung Magic Doctor (keypressed event is generated twice) -->              
          <append key="input.keymap.data" type="strlist">e033:prog3</append> <!-- Fn+F8 switch power mode (battery/dynamic/performance) -->                            
          <append key="input.keymap.data" type="strlist">e034:wlan</append> <!-- Fn+F9 Turn On/Off Wireless (X60P) -->                                                  
          <append key="input.keymap.data" type="strlist">0074:prog1</append> <!-- User key -->                                                                          
          <append key="input.keymap.data" type="strlist">0075:www</append> <!-- WWW key -->                                                                            
          <append key="input.keymap.data" type="strlist">e077:f22</append> <!-- Fn+F10 Touchpad on -->                                                                  
          <append key="input.keymap.data" type="strlist">0078:mail</append> <!-- Mail key -->                                                                          
          <append key="input.keymap.data" type="strlist">e079:f22</append> <!-- Fn+F10 Touchpad off -->                                                                
        </match>                                                                                                                                                        
      </match>                                                                                        

    </match>
  </device>
</deviceinfo>

файл .rules  выглядет так:
Цитировать
vvv@mycomp:/etc/udev/rules.d$ cat 95-keymap.rules        

...поскипано

ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*NC10*|*NC20*|*SP55S*|*SQ45S70S*|*SX60P*|*SX22S*|*SX30S*|*R59P/R60P/R61P*|*Q210*|*Q310*|*X05*|*P560*|*R560*", RUN+="keymap $name samsung-other"
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*SX20S*", RUN+="keymap $name samsung-sx20s"
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="SQ1US", RUN+="keymap $name samsung-sq1us"
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*R468/R418*", RUN+="keymap $name samsung-r468/r418"
...поскипано

LABEL="keyboard_end"

перезагружаю, нихрена не работает. До этого с патчем 31-го ядра манался, тоже ничего не вышло

Цитировать
vvv@mycomp:/etc$ cat lilo.conf
boot = /dev/sda
  bitmap = /boot/slack.bmp
  bmp-colors = 255,0,255,0,255,0
  bmp-table = 60,6,1,16
  bmp-timer = 65,27,0,255

append=" vt.default_utf8=1"
prompt
timeout = 50
vga=791

image = /boot/vmlinuz
  root = /dev/sda3
  append = "nomodeset acpi_backlight=vendor"
  label = Mops
  read-only  # Partitions should be mounted read-only for checking
Что делать-то?? :'( Не получается. Засунул в автостарт кед xbacklight -set 70, а то глаза вылазили, как ярко было. Но кнопок хочу, половина не работает. Кеды 4.3.3
« Последнее редактирование: 27 Ноябрь 2009, 04:46:17 от vvv82 »

Оффлайн MagNet

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #27 : 27 Ноябрь 2009, 12:46:56 »
В файле /lib/udev/rules.d/95-keymap.rules
нужно добавить:
*R418*
вот так должна выглядеть строка:
Цитировать
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*NC10*|*NC20*|*SP55S*|*SQ45S70S*|*SX60P*|*SX22S*|*SX30S*|*R59P/R60P/R61P*|*Q210*|*Q310*|*X05*|*P560*|*R560*|*R418*", RUN+="keymap $name samsung-other"

Ещё не знаю как там в mops7, а в убунте по умолчанию включен KMS, с ним яркость не будет работать, чтобы отключить KMS:
Цитировать
Добовляем "nomodeset acpi_backlight=vendor" в секцию GRUB_CMD_LINUX_DEFAULT  файла /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset acpi_backlight=vendor"

после этого запускаем:

sudo update-grub
На всякий случай прикреплю файл 95-keymap.rules.
« Последнее редактирование: 27 Ноябрь 2009, 12:51:43 от MagNet »

Оффлайн vvv82

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #28 : 27 Ноябрь 2009, 13:45:45 »
Спасибо MagNet, строку к ядру я добавил. А не мог бы ты выложить файл keymap.fdi. Может я что накуралесил слишком. И ещё, ядро как пропатчил, в смысле, я везде прописывал R468/R418. Мне так lshal показал.

Пользователь решил продолжить мысль 27 Ноябрь 2009, 12:13:32:
В общем вот мой fdi
root@mycomp:/usr/share/hal/fdi/information/10freedesktop# cat 30-keymap-misc.fdi
...поскипано
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" contains_ncase="samsung">
        <match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains_outof="NC10;SP55S;SQ45S70S;SX60P;SX30S;R59P/R60P/R461P;R418;Q210;Q310;X05;P560;R560">                                                                                                                                                               
          <append key="input.keymap.data" type="strlist">e002:0x82</append> <!-- Fn+F4 CRT/LCD (high keycode: "displaytoggle") -->                                     
          <append key="input.keymap.data" type="strlist">e003:0x83</append> <!-- Fn+F2 battery icon -->                                                                 
          <append key="input.keymap.data" type="strlist">e004:0x84</append> <!-- Fn+F5 backlight on/off -->                                                             
          <append key="input.keymap.data" type="strlist">e006:0x86</append> <!-- Fn+F9 Turn On/Off Wireless -->                                                         
          <append key="input.keymap.data" type="strlist">e008:0x88</append> <!-- Fn-Up Brightness up -->                                                               
          <append key="input.keymap.data" type="strlist">e009:0x89</append> <!-- Fn-Down Brightness down -->                                                           
          <append key="input.keymap.data" type="strlist">e031:0xb1</append> <!-- Fn+F7 <!-- Mail key -->                                                               
          <append key="input.keymap.data" type="strlist">e033:0xb3</append> <!-- Fn+F8 switch power mode (battery/dynamic/performance) -->                             
          <append key="input.keymap.data" type="strlist">e077:0xf7</append> <!-- Fn+F10 Touchpad on -->                                                                 
          <append key="input.keymap.data" type="strlist">e079:0xf9</append> <!-- Fn+F10 Touchpad off -->                                                               
        </match>

Ядро патчил по инструкции, то есть добавлен код в atkbd.c, только название моего бука там R468/R418. Вот вывод lshal:
root@mycomp:/usr/share/hal/fdi/information/10freedesktop# lshal | grep hardware
  system.hardware.primary_video.product = 10818  (0x2a42)  (int)
  system.hardware.primary_video.vendor = 32902  (0x8086)  (int)
  system.hardware.product = 'R468/R418'  (string)
  system.hardware.serial = 'ZAXP93FS704634'  (string)
  system.hardware.uuid = '40D97473-D21D-B211-8000-98232200FD30'  (string)
  system.hardware.vendor = 'SAMSUNG ELECTRONICS CO., LTD.'  (string)
  system.hardware.version = 'Not Applicable'  (string)
  info.product = 'HDA Intel ALSA hardware specific Device'  (strin
   
Строка к ядру nomodeset acpi_backlight=vendor в лило добавлена , /lib/udev/rules.d/95-keymap.rules, котовый выложил MagNet.
Таблица соответствия комбинаций клавишь моего ноута (такая же как здесь выкладывали), но проверил самостоятельно, чтобы точно было:
hex  dec keycode button
0x83 131 e003    f2
0x82 130 e002    f4
0x84 132 e004    f5
0xb1 177 e031    f7
0xb3 179 e033    f8
0x86 134 e006    f9
0xf9 249 e079    f10 first push
0xf7 247 e077    f10 second push
0x89 137 e009    down
0x88 136 e008    up
 
строка в rc.local и вывод файла
echo 130,131,132,134,136,137,177,179,247,249 > /sys/devices/platform/i8042/serio0/force_release
root@mycomp:/sys/devices/platform/i8042/serio0# cat force_release
130-132,134,136-137,177,179,247,249
все равно не работает, вот что пишет dmesg | grep atkbd
[   59.839023] atkbd.c: Unknown key pressed (translated set 2, code 0x89 on isa0060/serio0).
[   59.839027] atkbd.c: Use 'setkeycodes e009 <keycode>' to make it known.
[   60.197433] atkbd.c: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).
[   60.197437] atkbd.c: Use 'setkeycodes e008 <keycode>' to make it known.
Что я делаю не так? :-[

Пользователь решил продолжить мысль 27 Ноябрь 2009, 14:19:57:
вот ещё и часть кода для бука из файла atkbd.c:
},                                                                         
        {                                                                         
                .ident = "Samsung R468/R418",                                     
                .matches = {                                                       
                        DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
                        DMI_MATCH(DMI_PRODUCT_NAME, "R468/R418"),                 
                },                                                                 
                .callback = atkbd_setup_forced_release,                           
                .driver_data = atkbd_samsung_forced_release_keys,                 
        },                                                                         
        {                                                                         
                .ident = "Samsung SQ45S70S",                                       
                .matches = {
« Последнее редактирование: 27 Ноябрь 2009, 14:19:57 от vvv82 »

Оффлайн MagNet

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: [HOWTO] Настройка Fn клавиш на ноутбуках samsung
« Ответ #29 : 27 Ноябрь 2009, 16:06:29 »
Вот прямо сейчас ещё раз проверял:

1) Скачал последнее ядро v2.6.32-rc8 и установил его
2) Добавил свой ноут в /lib/udev/rules.d/95-keymap.rules - этот файл я уже тебе выложил (строка "R468/R418" у меня не работала, заработало с "*R418*" )
3) Выполнил: echo 130,131,132,134,136,137,177,179,247,249 > /sys/devices/platform/i8042/serio0/force_release
4) Перезагрузился, всё, клавиши заработали.

Файла 30-keymap-misc.fdi у меня нет, и он не нужен, т.к. он уже не используется. Зачем ты правил atkbd.c? это было необходимо только для ядер меньше 2.6.32.
Вообщем попробуй сделать как я написал, без правки atkbd.c

 

Страница сгенерирована за 0.139 секунд. Запросов: 23.