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.
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.
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.
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.
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?
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 .