samsung nova série 9, nem todas as teclas de função estão funcionando

3

eu comprei o samsung nova série 9 ultrabook (NP900X3C). Eu instalei o Ubuntu 12.04 e o kernel 3.5 principal. quase tudo funciona perfeitamente, exceto que algumas teclas de função importantes não funcionam.

as teclas para o brilho da tela e a retroiluminação do teclado não funcionam, o que é muito chato. Eu adicionei manualmente um novo mapa de teclado necessário para este modelo de notebook (guia: link ) mas o sistema não os carrega.

Eu adicionei as seguintes linhas às regras do udev:

# /lib/udev/rules.d/95-keymap.rules
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*900X3*", RUN+="keymap $name samsung-900x3c"

# /lib/udev/rules.d/95-keyboard-force-release.rules
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*900X3*", RUN+="keyboard-force-release.sh $devpath samsung-900x3c"

o sistema não consegue carregar as informações dmi necessárias (é?) para selecionar o mapa de teclas correto. a ferramenta dmidecode retorna as informações que seguem:

# dmidecode 2.11
# SMBIOS entry point at 0xdac66000
SMBIOS 2.7 present.
64 structures occupying 2917 bytes.
Table at 0x000E0840.

Invalid entry length (0). DMI table is broken! Stop.

alguém sabe como posso corrigir o problema de dmi (se isso for um problema) ou como posso forçar o udev a carregar meus mapas de teclado personalizados?

    
por Michael van der Weg 06.08.2012 / 16:51

2 respostas

3

Para obter as chaves fn funcionando, primeiro tive que atualizar o BIOS (instalar janelas, atualizar bios, instalar o Ubuntu novamente - > muito divertido!) porque o ubuntu não podia ler os dados dmi necessários para carregar configurações e módulos específicos do fornecedor. Você pode verificar se os dados dmi estão acessíveis usando a ferramenta "dmidecode", que deve retornar muitos dados (veja outra resposta):

$ sudo dmidecode

Eu atualizei o kernel para versão 3.5.3 porque ele tem alguns módulos samsung necessários compilados para ele.

Eu também criei dois arquivos keymap e adicionei duas regras do udev, conforme descrito no blog Linux e Samsung Series 9 Teclas Fn para Laptop . É necessário substituir algumas strings específicas do módulo (90X3A > 900X3C *, 90x3a > 900x3c) conforme descrito abaixo.

# /lib/udev/keymaps/samsung-900x3c

0x96 kbdillumup         # Fn+F8 keyboard backlit up
0x97 kbdillumdown       # Fn+F7 keyboard backlit down
0xD5 wlan               # Fn+F12 wifi on/off
0xCE prog1              # Fn+F1 performance mode (?)
0x8D prog2              # Fn+F6 battery life extender
#/lib/udev/keymaps/force-release/samsung-900x3c

# forces key release
0xCE # Fn+F8 keyboard backlit up
0x8D # Fn+F7 keyboard backlit down
0x97 # Fn+F12 wifi on/off
0x96 # Fn+F1 performance mode (?)
0xD5 # Fn+F6 battery life extender

adicione esta linha abaixo das outras linhas relacionadas da samsung

# /lib/udev/rules.d/95-keymap.rules
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keymap $name samsung-900x3c"

adicione esta linha abaixo das outras linhas relacionadas da samsung

# /lib/udev/rules.d/95-keyboard-force-release.rules
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keyboard-force-release.sh $devpath samsung-900x3c"

As teclas fn para o teclado retroiluminado e o brilho da tela funcionam agora. As teclas do modo wifi e desempenho ainda não funcionam. Você provavelmente deve seguir as instruções no blog mencionado acima.

    
por Michael van der Weg 28.08.2012 / 15:40
0

Talvez seja por causa do kernel 3.5. Eu tenho o mesmo computador com o kernel 3.2.0-29 (kernel proposto) e o dmidecode está bem:

$ sudo dmidecode
SMBIOS 2.7 present.
64 structures occupying 2917 bytes.
Table at 0x000E0840.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Phoenix Technologies Ltd.
Version: P02AAC
Release Date: 06/01/2012
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 3072 kB
Characteristics:
PCI is supported
    BIOS is upgradeable
    BIOS shadowing is allowed
    Boot from CD is supported
    Selectable boot is supported
    EDD is supported
    Print screen service is supported (int 5h)
    8042 keyboard services are supported (int 9h)
            ...
    
por sherpa 06.08.2012 / 17:53

Tags