SteelSeries Sensei боковые кнопки зависает мышь
Когда я нажимаю одну из правых боковых кнопок (а не обычные кнопки назад / вперед), мышь зависает, и ошибка -22 (см. Ниже) появляется в dmesg. Когда я убираю мышь и вставляю ее снова, она работает, но кнопки все еще замораживают мышь.
Я не смог найти никакой полезной информации ни об ошибке -22, ни о мыши сэнсэя.
Это из dmesg после загрузки:
[ 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
выходы:
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
Обновление 1:
Теперь я попытался прослушать USB-пакеты, чтобы увидеть, что происходит, когда я нажимаю кнопки, которые замораживают мышь. Я поставил их ниже:
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]
Обновление 2:
Я только что попытался перезагрузиться из Windows (не закрываясь и не загружаясь снова) - и теперь мышь хорошо регистрируется с помощью дополнительных кнопок (они имеют значения 10 и 11).
У меня была та же самая вещь, случившаяся с моей сенсорной панелью на моем ноутбуке (когда после перезагрузки из окон она работала иначе - хотя и не в лучшую сторону в этой ситуации). Я думаю, что обоснование заключалось в том, что в оборудовании должно было быть что-то вроде RAM / ROM, в котором хранились некоторые специфичные для драйвера вещи и которые не были очищены должным образом при перезагрузке.
Я понятия не имею, поможет ли это кому-нибудь, но теперь это задокументировано.
5 ответов
Похоже, что проблема была решена в ядре 3.7.x ( https://bbs.archlinux.org/viewtopic.php?id=139994), поэтому у вас должна быть работающая мышь, когда выйдет 13.04.
К счастью, конфигурация настраивается через прошивку мыши. Подключите мышь к любому ПК с Windows 7. Загрузите SteelSeries Engine для Windows, отключите кнопки вверх и вниз страницы. Подключите мышь к вашей Ubuntu.
У меня нет решения, но у меня может быть подсказка о том, что происходит.
У меня та же мышь и та же проблема, и я подозреваю ошибку ядра где-то в подсистеме USB. Использование ядра 3.2.0 (Debian-unstable) и следование документации по 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
Теперь я должен видеть след всего, что происходит на шине USB 3. И действительно, когда я двигаю мышь, я вижу такие строки:
ee561cc0 3981940473 C Ii:3:016:1 0:1 8 = 01000000 ffff0000
ee561cc0 3981940545 S Ii:3:016:1 -115:1 8 <
Но когда я нажимаю одну из этих кнопок мыши справа, я ничего не получаю. И тогда я не получаю никаких данных, когда я больше двигаю мышь. Что я могу только предположить, означает, что драйвер USB пошел Ват.
Я бы поинтересовался мышью (и немного поработаю), но и OSX, и (я полагаю) Windows справляются с этим просто отлично.
То же самое. За исключением того, что отключение этого в Windows только, кажется, временно решает проблему - это появляется снова, если мышь повторно подключена. Что, что интересно, похоже, сохранится до следующего посещения Windows. Я, вероятно, должен прекратить подключать его к моему монитору.
Я также попробовал ядро 3.4 из ядра PPA безрезультатно.
После некоторых поисков этой ошибки и исправлений для устройств ввода, которые исчезают в Linux, я нашел несколько вещей, которые нужно попробовать. Увы, они, как правило, требуют перестройки ядра, чего я не делал в последнее время, за исключением простых монолитных ситуаций bzImage. И поэтому я поделюсь ими здесь, пока не исследую удобные средства восстановления модулей в Ubuntu:
В ядре USB есть файл с именем quirks.c, который реализует обходные пути для некоторых некорректно работающих устройств:
Наша мышь не одна из них. Но, возможно, один из этих твиков поможет? Они задокументированы в шапке.
Кроме того, в hid.h есть константа HID_MAX_USAGES, которая была превышена некоторыми устройствами.
В одном случае, когда это было исправлением, было также замечено, что мышь предлагает несколько интерфейсов. Наша мышь тоже делает это, проверяет lsusb -v и ищет Ideazon (который является материнской компанией / производителем SteelSeries / как их называют на USB-земле). Может быть, мы можем просто как-то занести эту часть в черный список?
Хорошо, это скорее обходной путь, чем решение, но, как сказал @skomorokh, отключите кнопки в Windows, а затем сохраните параметр в новом профиле и сохраните его на мыши, чтобы избежать потери конфигурации при отключении мыши.