CadMouse Pro Wireless перестает работать через 2-3 секунды после подключения через USB (18.04.3 LTS)

Вопрос или проблема

У меня установлен базовый Ubuntu 18.04.3 LTS.

Я только что приобрел CadMouse Pro Wireless. Эта мышь имеет два режима – она может использоваться в беспроводном режиме через USB-ресивер, или ее можно использовать в проводном режиме, подключив напрямую к компьютеру через кабель microUSB.

В беспроводном режиме она работает хорошо.

В проводном режиме, после подключения, происходит следующее:

  • В первые 2 – 3 секунды она работает хорошо.
    • Когда я физически перемещаю мышь, курсор на экране движется соответствующим образом.
    • Когда я физически нажимаю кнопки, элементы интерфейса на экране (кнопки, меню и т.д.) реагируют соответствующим образом.
  • Спустя 2 – 3 секунды она перестает работать.
    • Когда я физически перемещаю мышь, курсор на экране не движется.
    • Когда я физически нажимаю кнопки, элементы интерфейса на экране не реагируют вовсе.

Я проверил, что мышь работает хорошо в обоих режимах в Windows 10 и macOS.

Вот что выдает dmesg при подключении мыши:

daniel@ubuntu:~$ dmesg -w
[10758.269137] usb 1-3: new full-speed USB device number 10 using xhci_hcd
[10758.608911] usb 1-3: New USB device found, idVendor=256f, idProduct=c654, bcdDevice= 1.06
[10758.608913] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10758.608915] usb 1-3: Product: CadMouse Pro Wireless
[10758.608916] usb 1-3: Manufacturer: 3Dconnexion
[10758.635675] input: 3Dconnexion CadMouse Pro Wireless as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-3/1-3:1.0/0003:256F:C654.001C/input/input44
[10758.636070] hid-generic 0003:256F:C654.001C: input,hidraw0: USB HID v1.11 Mouse [3Dconnexion CadMouse Pro Wireless] on usb-0000:03:00.0-3/input0
[10758.648184] input: 3Dconnexion CadMouse Pro Wireless as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-3/1-3:1.1/0003:256F:C654.001D/input/input45
[10758.648408] hid-generic 0003:256F:C654.001D: input,hiddev0,hidraw1: USB HID v1.11 Multi-Axis Controller [3Dconnexion CadMouse Pro Wireless] on usb-0000:03:00.0-3/input1

После того, как мышь перестает работать, больше никаких сообщений не появляется.

Вот что выдает lsusb после подключения мыши:

daniel@ubuntu:~$ lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 005: ID 05ac:024f Apple, Inc. 
Bus 005 Device 004: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 005 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 005 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 005 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 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 013: ID 256f:c654  
Bus 001 Device 003: ID 1b1c:0c04 Corsair 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

256f:c654 – это CadMouse Pro.

(Ресивер Logitech предназначен для другой, не связанной мыши, которая работает хорошо. Я наблюдаю такое же поведение CadMouse независимо от того, подключен ресивер Logitech или нет).

Я также пытался решить проблему через HID API с помощью cadmousectl, но пока безуспешно, так как HID API видит, но не может открыть CadMouse – см. вопрос на GitHub для получения дополнительной информации.

Есть идеи, как сделать так, чтобы мышь не переставала реагировать через 2 – 3 секунды? Спасибо.

Короткий ответ: также опрашивайте “конфигурационное” устройство, и устройство “мышь” будет продолжать сообщать события:

# Держите это работающим в фоновом режиме:
sudo cat /dev/input/by-id/usb-3Dconnexion_CadMouse_Pro_Wireless-event-if01

(Это скорее диагностическое решение, чем практическое для конечного пользователя.)

Когда она подключена через USB кабель, CadMouse Pro Wireless декларирует два HID “интерфейса”. Первый предоставляет всю “мышиную” функциональность – кнопки, перемещение, колесо и настройку разрешения – и рассматривается как устройство ввода “мышь” в Linux. Второй интерфейс, по-видимому, предназначен для проприетарной настройки через определенные производителем функции HID (и также сообщает уровень заряда батареи).

Мышь, похоже, требует, чтобы второй интерфейс периодически опрашивался, чтобы она продолжала сообщать о новых событиях мыши на своем первом интерфейсе. (Я бы предположил, что это попытка заставить вас установить их проприетарное программное обеспечение на Windows/Mac, которое, вероятно, постоянно взаимодействует со вторым интерфейсом.) Я обнаружил это случайно, пытаясь диагностировать ту же проблему (мышь работала хорошо через Universal Receiver или Bluetooth, но не через USB кабель) – когда я попытался мониторить события на втором интерфейсе, мышь внезапно начала работать, но перестала спустя некоторое время после того, как я прекратил мониторинг этого интерфейса (и перестал двигать мышь; если продолжать двигать мышь, она продолжает работать до тех пор, пока вы не остановитесь). Если я продолжаю мониторинг этого интерфейса, мышь продолжает работать.

В своих экспериментах я изначально использовал evemu-record, но cat достаточно (проверено на Mint 22, который соответствует Ubuntu 24.04).

Ответ или решение

Проблема, с которой вы столкнулись при эксплуатации CadMouse Pro Wireless на операционной системе Ubuntu 18.04.3 LTS, заключается в том, что мышь перестает функционировать через 2-3 секунды после подключения по USB. Данная ситуация возникает только в проводном режиме; в беспроводном режиме с использованием USB-ресивера работа мыши остается стабильной. Важно рассмотреть несколько теоретических и практических аспектов, чтобы полностью разобраться в этой проблеме и предложить возможные решения.

Теория

Проблема, которую вы описываете, связана с взаимодействием мыши и операционной системы через HID API (Human Interface Device Application Programming Interface). На уровне драйверов в Linux система может не полностью поддерживать или неправильно интерпретировать некоторые устройства HID, особенно если они требуют сложного протокола взаимодействия.

Как указано в случае вашего CadMouse Pro, устройство использует два интерфейса HID. Первый интерфейс отвечает за основные функции мыши: движение курсора, нажатие кнопок и прокрутка колеса. Второй интерфейс используется для конфигурации устройства и, возможно, передачи специфической информации о состоянии батареи и других параметрах. Кажется, что устройство требует постоянного опроса второго интерфейса, чтобы оставаться активным.

Пример

Из приведенного вами dmesg вывода видно, что система успешно распознает устройство и его два интерфейса, но после первоначального подключения перестает взаимодействовать с ним. Аналогичное поведение обсуждалось и было изучено другими пользователями, где было выявлено, что постоянный поток данных или опрос с интерфейса конфигурации обязательно требуется для поддержания работы основного функционала мыши.

Для примера, комьюнити пользователь предложил поддерживать открытым интерфейс конфигурации через команду:

sudo cat /dev/input/by-id/usb-3Dconnexion_CadMouse_Pro_Wireless-event-if01

Задача этой команды — оставаться в постоянном интерфейсе взаимодействия с устройством, что затем может удерживать рабочее состояние мыши.

Применение

Для решения проблемы на вашей стороне, следует провести несколько диагностических и конфигурационных действий.

  1. Диагностическое решение: Попробуйте использовать предложенный метод — оставьте работающей команду на фоне, чтобы удостовериться, что мышь продолжит работать более 2-3 секунд. Это может подтвердить гипотезу о необходимости постоянного опроса устройства.

  2. Проверка обновлений ядра и пакетов: Удостоверьтесь, что все доступные обновления для вашей версии Ubuntu установлены, особенно те, что касаются ядра Linux и связанных пакетов с HID устройствами.

  3. Альтернативные драйверы: Поскольку данная проблема является специфичной для устройства, вы можете попробовать поискать кастомизированные драйверы или реализацию через стороннее ПО. Например, иногда есть неофициальные поддержка для устройств 3Dconnexion на Linux.

  4. Настройка через cadmousectl: Если у вас есть возможность, обратитесь к автору cadmousectl или сообществу проекта для новейших исправлений или патчей, которые могут адресовать проблему.

  5. Обратите внимание на логи: Используйте команды journalctl и dmesg для более детального анализа происходящего в системе при подключении устройства. Возможно, есть дополнительные подсказки о проблемах, не отображаемых в "стандартной" информации.

При обращении с данной проблемой с точки зрения бизнеса, ваше предложение разработки или приобретения подходящего драйвера или конфигурационного ПО могло бы ускорить процесс налаживания работы. Вместе с тем, консультация с техническими специалистами, которые занимаются интеграцией линейных драйверов, могла бы ускорить данную работу.

В заключение следует отметить, что хотя проблема имеет свою техническую специфику, ее решение может потребовать систематического подхода и внимания к деталям всех элементов взаимодействия между устройством и операционной системой.

Оцените материал
Добавить комментарий

Капча загружается...