Как правильно установить скорость опроса USB для моей мыши Logitech?

2

У меня очень специфическая потребность изменить значение mousepoll в Ubuntu 15.04.

В программе Kerbal Space есть ошибка Linux, где, если вы перетаскиваете представление правой кнопкой мыши, в то время как значение mousepoll выше 125 Гц, игра будет висеть на секунду или два, что очень затрудняет игру.

У меня есть мышь Logitech G400, которая опросает до 1000 Гц. Я не могу понять, как это изменить.

Я пробовал:

  • Установка options usbhid mousepoll=8 в /etc/modprobe.d/usbhid
  • Установка usbhid.mousepoll=8 в командной строке при загрузке
  • Запуск sudo modprobe -r usbhid && sudo modprobe usbhid mousepoll=8 из командной строки

Они несколько эффективны в том, что cat /sys/module/usbhid/parameters/mousepoll возвращает 8 , как ожидалось. Но проблема остается в KSP, и когда я запускаю evhz из Ссылка , она по-прежнему сообщает о скорости голосования 1000hz.

Возможно, релевантно:

  • Я на ноутбуке. Тачпад не использует usbhid и опросы в 125hz согласно evhz. Нет проблем с выполнением щелчка правой кнопкой мыши в KSP, используя это.
  • Xfce 4.12 (с включенным и отключенным компоновкой, без изменений)
  • Драйверы Nvidia 346.59.
  • Производительность в KSP в противном случае ожидалась на основе оборудования моего ноутбука.
  • Пакеты (включая ядро) - все запасы.
  • Мышь подключена к порту USB 3.0
задан snafu109 15.05.2015 в 16:21
источник

2 ответа

2

Я нашел решение этой проблемы.

Я установил Windows на виртуальную машину, подключил USB-устройство мыши к VM, затем проследил USB-трафик с Wireshark и изолировал команду управления, которую официальный драйвер Logitech использовал для установки частоты опроса. (Это было очень полезно, указывая мне в правильном направлении: Ссылка )

Этот волшебный Ruby-код (должен быть запущен как root или пользователь с разрешением на запись в /dev/hidraw1 ) установит для моей группы скорость опроса до 125 Гц:

#!/bin/ruby
HIDIOCSFEATURE = 0xC0024806

f = File.open("/dev/hidraw1", "w+")
f.ioctl(HIDIOCSFEATURE,"\x20\x03")

/dev/hidraw1 - это устройство hidraw для моей мыши. Этот путь может отличаться в зависимости от того, сколько устройств вы подключили к вашей машине.

Последовательность 0xC0024806 представляет собой значение ioctl, необходимое для отправки отчета о функции на устройство hidraw. Я точно не помню, как я получил это значение, к сожалению, и он не может быть на 100% технически правильным. Работает для меня, хотя!

Последовательность "\x20\x03" - это данные, которые драйвер отправил в отчет о функции мыши. 20 представляется значением в шестнадцатеричном формате, используемым для идентификации запроса на изменение опроса, а 03 устанавливает его на 125 Гц. 02 устанавливает его в 250 Гц,% от co_de% до 500 Гц и 01 до 1000 Гц.

ПРЕДУПРЕЖДЕНИЕ . Это работает для меня на мыши Logitech G400. Я думаю, что есть только один аппаратный вариант этой мыши, поэтому она должна быть безопасной на этой модели. Он не был протестирован ни на одной другой модели и не будет работать на любой мыши Logitech, которая использует протокол HID ++ для связи (это включает в себя множество новых мышей и любые беспроводные модели с использованием приемника Unifying).

Я также едва знал, что делаю, и все, что я сделал, чтобы понять это, было впервые изучено на этом пути, включая эту фразу: Caveat lector (читатель будьте осторожны)!

    
ответ дан snafu109 15.06.2015 в 04:36
источник
0

У меня была такая же проблема с Logitech G302.

Проблемы с задержкой мыши в плане переноса энергии

К сожалению, похоже, что мышь Logitech не поддерживает снижение частоты опроса мыши.

Но если это действительно необходимо, вы можете уменьшить его с помощью аппаратного обеспечения, подключив вашу мышь к более медленному порту USB.

Используя evhz , я заметил, что частота опроса мыши снизилась с 1000 Гц до 250 Гц при использовании другого USB-порта.

    
ответ дан leszek.hanusz 10.06.2015 в 21:28