Os botões laterais do SteelSeries Sensei congela o mouse

5

Quando pressiono um dos botões do lado direito (não os botões normais de voltar / avançar), o mouse congela e o erro -22 (veja abaixo) aparece no dmesg. Quando eu removo o mouse e o coloco de novo, ele funciona, mas os botões ainda congelam o mouse.

Não encontrei nenhuma informação útil sobre o erro -22 ou sobre o mouse do Sensei.

Isto é do dmesg após o boot:

[    2.473271] input: La-VIEW Technology SteelSeries   as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input3
[    2.473445] generic-usb 0003:1038:1361.0001: input,hidraw0: USB HID v1.00 Mouse [La-VIEW Technology SteelSeries  ] on usb-0000:00:1d.0-1.6/input0
[    2.474360] generic-usb: probe of 0003:1038:1361.0002 failed with error -22
[    2.474427] usbcore: registered new interface driver usbhid
[    2.474493] usbhid: USB HID core driver

xinput list-props 8 yields:

Device 'La-VIEW Technology SteelSeries  ':
Device Enabled (142):   1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (271): 0
Device Accel Constant Deceleration (272):   3.000000
Device Accel Adaptive Deceleration (273):   1.000000
Device Accel Velocity Scaling (274):    10.000000
Device Product ID (260):    4152, 4961
Device Node (261):  "/dev/input/event3"
Evdev Axis Inversion (275): 0, 0
Evdev Axes Swap (277):  0
Axis Labels (278):  "Rel X" (152), "Rel Y" (153), "Rel Horiz Wheel" (269), "Rel Vert Wheel" (270)
Button Labels (279):    "Button Left" (145), "Button Middle" (146), "Button Right" (147), "Button Wheel Up" (148), "Button Wheel Down" (149), "Button Horiz Wheel Left" (150), "Button Horiz Wheel Right" (151), "Button Side" (264), "Button Extra" (265), "Button Forward" (266), "Button Back" (267), "Button Task" (268), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263)
Evdev Middle Button Emulation (280):    0
Evdev Middle Button Timeout (281):  50
Evdev Third Button Emulation (282): 0
Evdev Third Button Emulation Timeout (283): 1000
Evdev Third Button Emulation Button (284):  3
Evdev Third Button Emulation Threshold (285):   20
Evdev Wheel Emulation (286):    0
Evdev Wheel Emulation Axes (287):   0, 0, 4, 5
Evdev Wheel Emulation Inertia (288):    10
Evdev Wheel Emulation Timeout (289):    200
Evdev Wheel Emulation Button (290): 4
Evdev Drag Lock Buttons (291):  0

Atualização 1:

Eu já tentei farejar os pacotes usb para ver o que está acontecendo quando pressiono os botões que congelam o mouse. Eu coloquei abaixo:

No.     Time        Source                Destination           Protocol Length Info
 199479 390.237182  6.1                   host                  USB      64     URB_INTERRUPT in

Frame 199479: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
USB URB
    URB id: 0xffff8801ca55ba80
    URB type: URB_COMPLETE ('C')
    URB transfer type: URB_INTERRUPT (0x01)
    Endpoint: 0x81, Direction: IN
        1... .... = Direction: IN (1)
        .000 0001 = Endpoint value: 1
    Device: 6
    URB bus id: 2
    Device setup request: not relevant ('-')
    Data: present (0)
    URB sec: 1343162038
    URB usec: 333931
    URB status: Protocol error (-EPROTO) (-71)
    URB length [bytes]: 0
    Data length [bytes]: 0
    [Request in: 194548]
    [Time from request: 23.890818000 seconds]

No.     Time        Source                Destination           Protocol Length Info
 199480 390.251625  host                  6.1                   USB      64     URB_INTERRUPT in

Frame 199480: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
USB URB
    URB id: 0xffff8801ca55ba80
    URB type: URB_SUBMIT ('S')
    URB transfer type: URB_INTERRUPT (0x01)
    Endpoint: 0x81, Direction: IN
        1... .... = Direction: IN (1)
        .000 0001 = Endpoint value: 1
    Device: 6
    URB bus id: 2
    Device setup request: not relevant ('-')
    Data: not present ('<')
    URB sec: 1343162038
    URB usec: 348374
    URB status: Operation now in progress (-EINPROGRESS) (-115)
    URB length [bytes]: 8
    Data length [bytes]: 0
    [Response in: 199481]

No.     Time        Source                Destination           Protocol Length Info
 199481 390.255254  6.1                   host                  USB      64     URB_INTERRUPT in

Frame 199481: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
USB URB
    URB id: 0xffff8801ca55ba80
    URB type: URB_COMPLETE ('C')
    URB transfer type: URB_INTERRUPT (0x01)
    Endpoint: 0x81, Direction: IN
        1... .... = Direction: IN (1)
        .000 0001 = Endpoint value: 1
    Device: 6
    URB bus id: 2
    Device setup request: not relevant ('-')
    Data: present (0)
    URB sec: 1343162038
    URB usec: 352003
    URB status: Protocol error (-EPROTO) (-71)
    URB length [bytes]: 0
    Data length [bytes]: 0
    [Request in: 199480]
    [Time from request: 0.003629000 seconds]

No.     Time        Source                Destination           Protocol Length Info
 199488 390.279626  host                  6.1                   USB      64     URB_INTERRUPT in

Frame 199488: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
USB URB
    URB id: 0xffff8801ca55ba80
    URB type: URB_SUBMIT ('S')
    URB transfer type: URB_INTERRUPT (0x01)
    Endpoint: 0x81, Direction: IN
        1... .... = Direction: IN (1)
        .000 0001 = Endpoint value: 1
    Device: 6
    URB bus id: 2
    Device setup request: not relevant ('-')
    Data: not present ('<')
    URB sec: 1343162038
    URB usec: 376375
    URB status: Operation now in progress (-EINPROGRESS) (-115)
    URB length [bytes]: 8
    Data length [bytes]: 0
    [Response in: 199489]

No.     Time        Source                Destination           Protocol Length Info
 199489 390.283255  6.1                   host                  USB      64     URB_INTERRUPT in

Frame 199489: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
USB URB
    URB id: 0xffff8801ca55ba80
    URB type: URB_COMPLETE ('C')
    URB transfer type: URB_INTERRUPT (0x01)
    Endpoint: 0x81, Direction: IN
        1... .... = Direction: IN (1)
        .000 0001 = Endpoint value: 1
    Device: 6
    URB bus id: 2
    Device setup request: not relevant ('-')
    Data: present (0)
    URB sec: 1343162038
    URB usec: 380004
    URB status: Protocol error (-EPROTO) (-71)
    URB length [bytes]: 0
    Data length [bytes]: 0
    [Request in: 199488]
    [Time from request: 0.003629000 seconds]

No.     Time        Source                Destination           Protocol Length Info
 199504 390.331599  host                  6.1                   USB      64     URB_INTERRUPT in

Frame 199504: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
USB URB
    URB id: 0xffff8801ca55ba80
    URB type: URB_SUBMIT ('S')
    URB transfer type: URB_INTERRUPT (0x01)
    Endpoint: 0x81, Direction: IN
        1... .... = Direction: IN (1)
        .000 0001 = Endpoint value: 1
    Device: 6
    URB bus id: 2
    Device setup request: not relevant ('-')
    Data: not present ('<')
    URB sec: 1343162038
    URB usec: 428348
    URB status: Operation now in progress (-EINPROGRESS) (-115)
    URB length [bytes]: 8
    Data length [bytes]: 0
    [Response in: 199505]

No.     Time        Source                Destination           Protocol Length Info
 199505 390.335256  6.1                   host                  USB      64     URB_INTERRUPT in

Frame 199505: 64 bytes on wire (512 bits), 64 bytes captured (512 bits)
USB URB
    URB id: 0xffff8801ca55ba80
    URB type: URB_COMPLETE ('C')
    URB transfer type: URB_INTERRUPT (0x01)
    Endpoint: 0x81, Direction: IN
        1... .... = Direction: IN (1)
        .000 0001 = Endpoint value: 1
    Device: 6
    URB bus id: 2
    Device setup request: not relevant ('-')
    Data: present (0)
    URB sec: 1343162038
    URB usec: 432005
    URB status: Protocol error (-EPROTO) (-71)
    URB length [bytes]: 0
    Data length [bytes]: 0
    [Request in: 199504]
    [Time from request: 0.003657000 seconds]

Atualização 2:

Acabei de tentar reinicializar a partir do Windows (não desligar e inicializar de novo mente) - e agora o mouse registra bem com os botões extras (eles são 10 e 11).

Eu tive uma coisa semelhante acontecendo com o meu touchpad no meu laptop (onde ele se comportou de maneira diferente após a reinicialização do Windows - embora não para o melhor nessa situação). Eu acho que a lógica é que deve ter havido algum tipo de ram / rom no hardware que armazenou algumas coisas específicas do driver e que não foram apagadas corretamente em uma reinicialização.

Não tenho ideia se isso ajudaria alguém, mas agora está documentado.

    
por LasseValentini 29.05.2012 / 13:34

5 respostas

3

O problema parece ter sido resolvido a partir do kernel 3.7.x ( link ), então você deve ter um mouse em funcionamento quando 13.04 navios.

    
por Ben 12.02.2013 / 09:51
3

Felizmente, a configuração é configurável através do firmware no mouse. Conecte o mouse a qualquer computador com Windows 7. Baixe o SteelSeries Engine for Windows, desative os botões page up e page down. Volte a ligar o rato ao seu Ubuntu.

    
por Rampage 31.05.2012 / 10:54
2

Eu não tenho uma correção, mas posso dar uma dica sobre o que está acontecendo.

Eu tenho o mesmo mouse e o mesmo problema, e suspeito de um bug do kernel em algum lugar no subsistema USB. Usando o kernel 3.2.0 (Debian-unstable), e seguindo a documentação usbmon :

# mount -t debugfs none_debugfs /sys/kernel/debug
# modprobe usbmon
# grep -B5 SteelSeries /sys/kernel/debug/usb/devices
T:  Bus=03 ...
...
# cat /sys/kernel/debug/usb/usbmon/3u

Agora eu deveria estar vendo um rastro de tudo que está acontecendo no barramento USB 3. E, de fato, quando eu movo o mouse, vejo linhas como:

ee561cc0 3981940473 C Ii:3:016:1 0:1 8 = 01000000 ffff0000
ee561cc0 3981940545 S Ii:3:016:1 -115:1 8 <

Mas quando eu clico em um desses botões do lado direito do mouse, não recebo nada. E então eu não recebo nenhum dado quando movo o mouse mais. O que eu só posso supor significa que o driver USB foi Wat.

Eu gostaria de saber sobre o mouse (e ainda faço, um pouco), mas tanto o OSX quanto o (eu suponho) o Windows lidam bem com isso.

    
por Jander 05.06.2012 / 08:13
2

Idem. Exceto que desativá-lo no Windows só parece resolver temporariamente o problema - ele ressurge se o mouse for reconectado. O que, curiosamente, parece persistir até a próxima visita ao Windows. Eu provavelmente deveria parar de conectá-lo ao meu monitor.

Eu também tentei o kernel 3.4 do PPA do kernel sem efeito.

Após algumas pesquisas sobre esse erro e correções para dispositivos de entrada que são descartados no Linux, descobri algumas coisas para testar. Infelizmente, eles tendem a exigir uma reconstrução do kernel, o que eu não fiz ultimamente fora das situações fáceis de monolítica da bzImage. Então, vou compartilhá-los aqui até investigar as convenientes instalações de reconstrução do módulo do Ubuntu:

Existe um arquivo no núcleo USB chamado quirks.c, que implementa soluções alternativas para alguns dispositivos com comportamento inadequado:

Nosso mouse não é um deles. Mas talvez um desses ajustes ajudaria? Eles estão documentados no cabeçalho .

Como alternativa, há uma constante HID_MAX_USAGES em hid.h que foi excedida por alguns dispositivos.

Em um caso onde essa foi a correção, também foi observado que o mouse oferecia múltiplas interfaces. Nosso mouse também, verifique lsusb -v e procure por Ideazon (que é a empresa matriz / fabricante SteelSeries / o que eles chamam de terra USB). Talvez possamos apenas colocar essa parte na lista negra de alguma forma?

    
por skomorokh 25.07.2012 / 03:48
0

Ok, é mais uma solução do que uma solução, mas como @skomorokh disse, desative os botões no Windows e salve a configuração em um novo perfil e armazene-o no mouse para evitar perder a configuração ao desconectar o mouse .

    
por Switchkick 03.08.2012 / 11:06