Muitos problemas com o teclado multimídia USB no Ubuntu 13.10

2

Este mesmo teclado funcionou bem o tempo todo no Ubuntu 12.04 (embora em um laptop diferente). Agora tenho 13,10 instalado em um novo laptop e estou recebendo alguns problemas irritantes com o meu teclado USB externo, especificamente as funções de multimídia.

Problema 1:

Os botões " calculadora " ou " www / internet " não fazem nada. Se eu for ao painel de controle Atalhos e tentar ligar "Iniciar calculadora" a um novo acelerador, pressionar o botão Calculadora não será registrado. Apenas não está detectando que eu pressionei.

Problema 2:

As teclas aumentar volume e diminuir volume funcionam um pouco - no entanto, depois de tocá-las uma ou duas vezes, ele continua pressionando a tecla infinitamente, forçando o volume seja para máximo ou silencioso. Eu tenho que desconectar o cabo USB e ligá-lo de volta para pará-lo.

Eu imagino que isso tenha algo a ver com o evdev, mas não tenho ideia de como consertar isso. Eu tentei solucionar problemas usando as etapas no link , mas quando executo sudo evtest não recebo nada quando pressiono as teclas de multimídia ( chaves regulares dão feedback).

Observação: meu laptop possui um teclado integrado com controles de volume e funciona normalmente conforme o esperado.

Saída de lsusb :

Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 8087:07da Intel Corp. 
Bus 003 Device 008: ID 1e54:2030 TypeMatrix 2030 USB Keyboard
Bus 003 Device 006: ID 059f:0828 LaCie, Ltd 
Bus 003 Device 004: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 003 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 002: ID 174f:1474 Syntek 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Saída do lsmod:

Module                  Size  Used by
bbswitch               13943  0 
parport_pc             32701  0 
ppdev                  17671  0 
rfcomm                 69070  12 
bnep                   19564  2 
snd_hda_codec_realtek    55704  1 
snd_hda_codec_hdmi     41117  1 
binfmt_misc            17468  1 
hid_generic            12548  0 
usb_storage            62062  1 
joydev                 17377  0 
uvcvideo               80885  0 
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
hid_logitech_dj        18581  0 
videobuf2_core         40469  1 uvcvideo
videodev              133390  2 uvcvideo,videobuf2_core
usbhid                 53014  0 
btusb                  28267  0 
hid                   105818  5 hid_generic,usbhid,hid_logitech_dj
bluetooth             371880  22 bnep,btusb,rfcomm
x86_pkg_temp_thermal    14162  0 
coretemp               13435  0 
kvm_intel             138538  0 
kvm                   431315  1 kvm_intel
crct10dif_pclmul       14289  0 
crc32_pclmul           13113  0 
ghash_clmulni_intel    13259  0 
aesni_intel            55624  2 
aes_x86_64             17131  1 aesni_intel
lrw                    13257  1 aesni_intel
gf128mul               14951  1 lrw
glue_helper            13990  1 aesni_intel
ablk_helper            13597  1 aesni_intel
cryptd                 20329  3 ghash_clmulni_intel,aesni_intel,ablk_helper
snd_hda_intel          48171  7 
snd_hda_codec         188738  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
snd_pcm               102033  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
arc4                   12608  2 
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0 
snd_seq_midi_event     14899  1 snd_seq_midi
iwldvm                237440  0 
mac80211              596969  1 iwldvm
snd_rawmidi            30095  1 snd_seq_midi
iwlwifi               165398  1 iwldvm
snd_seq                61560  2 snd_seq_midi_event,snd_seq_midi
microcode              23518  0 
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              29433  2 snd_pcm,snd_seq
snd                    69141  24 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
i915                  655752  6 
psmouse                97626  0 
serio_raw              13413  0 
cfg80211              479757  3 iwlwifi,mac80211,iwldvm
drm_kms_helper         52651  1 i915
mei_me                 18421  0 
drm                   296739  5 i915,drm_kms_helper
lpc_ich                21080  0 
mei                    77692  1 mei_me
soundcore              12680  1 snd
i2c_algo_bit           13413  1 i915
ideapad_laptop         18342  0 
sparse_keymap          13948  1 ideapad_laptop
wmi                    19070  0 
video                  19318  1 i915
mac_hid                13205  0 
lp                     17759  0 
parport                42299  3 lp,ppdev,parport_pc
alx                    32255  0 
mdio                   13807  1 alx
ahci                   25819  3 
libahci                31898  1 ahci

Atualização de 28 de julho de 2013 :

O problema ainda ocorre no Ubuntu 14.04, embora as teclas multimídia WWW, Mail e Calculator pareçam funcionar agora. O problema de aumento / diminuição do volume persiste.

    
por Michael Butler 05.12.2013 / 02:33

1 resposta

1

Soa como um problema USB para mim. Aqui está o que você pode tentar: construir seu próprio kernel com um valor hid.h modificado (driver usb2.0), para permitir que o USB 2.0 seja mais permissivo. Eu costumava fazer isso até que o kernel 3.11 estivesse fora do meu mouse para jogos Perixx.

Criando um novo kernel com o valor do modifier hid.h :

1) Abra um terminal ( ctrl-alt-T )

2) Inicie o comando:

  • sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev

Instala os pacotes requeridos para o desenvolvimento do kernel. Você pode apt-get remove <packages> depois desinstalá-los, se desejar.

3) Digite os seguintes comandos para criar um diretório para as fontes do kernel:

  • mkdir ~/source
  • cd ~/source
  • apt-get source linux-image-$(uname -r)

4) Tipo:

  • cd linux

Pressione Tab para preencher automaticamente o nome e, em seguida, pressione Enter .

5) Lançamento:

  • gedit include/linux/hid.h

Encontre ( Ctrl + F ) a linha #define HID_MAX_USAGES e altere seu valor para '64000' .

6) Lançamento:

cp -vi /boot/config-'uname -r' .config

Para copiar o arquivo de configuração do seu sistema atual.

7) ( Opcional ) Para acelerar o processo de construção, você pode ajustar o nível de simultaneidade . Lançamento:

  • export CONCURRENCY_LEVEL=#

Substitua # pelo número de núcleos da sua CPU + 1 (Dual-core será "3", Quad-core "5",…)

8) Lançamento:

  • make-kpkg clean

Para preparar o diretório necessário para o processo de construção.

9) Lançamento :

  • fakeroot make-kpkg --initrd --append-to-version=-sk kernel-image kernel-headers

Isto irá iniciar o processo de construção do kernel. Pode demorar um pouco (entre 1h e 8h seguindo o seu hardware). Se o processo for interrompido por algum motivo, você deve iniciar o comando rm ~/source e começar novamente a partir do passo 3. Os binários do kernel .deb serão colocados em ~ / source .

Para instalar o novo kernel:

1) Abra o nautilus (explorador de arquivos) e vá para / lib / modules .

2) Abra um Terminal e inicie:

  • cd ~/source

3) Digite os seguintes comandos e pressione ** Tab para preencher automaticamente a versão do kernel, chamada aqui (KERNEL_VERSION): **

  • sudo dpkg -i linux-image-
  • sudo dpkg -i linux-headers-

Ambos os comandos (uma vez preenchidos pelo Tab ) devem terminar com .deb

4) Lançamento:

  • sudo update-initramfs -c -k KERNEL_NAME

Você precisa substituir KERNEL_NAME pelo nome usado pelo diretório que contém o modificador kernel (deve terminar com "-sk" no nautilus).

5) Lançamento:

  • sudo update-grub

(e também sudo update-burg se você usar o BURG).

6) Reinicie o computador.

Agora você executa um kernel personalizado! Parabéns '

Se isso não funcionar, o problema NÃO é causado pelo HID (driver usb2.0) e não tenho idéia de como ajudá-lo:)

    
por MrVaykadji 04.01.2014 / 05:50