Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: джойстик переподключается  (Прочитано 1508 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3031
    • Просмотр профиля
джойстик переподключается
« : 14 Января 2020, 21:10:59 »
Здравствуйте!

Сегодня попробовали джойстик фирмы www.apem.com и во всех Linux он постоянно переподключается и меняет адрес, чего с предидущими
не было. В Windows этого не делает. Смотрели в Интернете - он ещё жалуется, что он не MTP device, от этого легко было избавиться,
включив в начало 69-libmtp.rules выход из правила по iVendor, но всё равно переподключается. Другие советы не помогли, например, при запуске системы выгружать два модуля и тут же загружать снова, т.е. проблема эта есть и у других. Просьба подсказать, можно ли устранить это явления или там уж такая микропрограмма, что она работает только с Windows.
Пётр.

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: джойстик переподключается
« Ответ #1 : 15 Января 2020, 08:33:08 »
он постоянно переподключается и меняет адрес
Peter_I, вот пример создания правила для udev, после применения которого видеоустройство будет всегда определяться как /dev/video0. ИМХО, надо что-то такое сотворить и для джойстика.
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3031
    • Просмотр профиля
Re: джойстик переподключается
« Ответ #2 : 15 Января 2020, 08:59:37 »
zg_nico, благодарю за интерес, мне когда-то уже приходилось делать похожее, чтобы имя ссылки оставалось одним и тем же,
но в данном случае это имя находится в /sys/bus/hid/devices и состоит из четырёх четвёрок и вообще оно является ссылкой.
Мы хотим попробовать включить его через активный usb-хаб, но пока такого, активного, не нашли, а через разветвитель не помогает.
Пётр.

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: джойстик переподключается
« Ответ #3 : 15 Января 2020, 09:09:26 »
Peter_I, покажите выводы usb-devices
dmesg | egrep -i "(error|fail|warning)"
dmesg | tail -n 40
со вставленным геймпадом. Может не тот модуль ядра подхватывается просто. Иногда такое бывает...
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3031
    • Просмотр профиля
Re: джойстик переподключается
« Ответ #4 : 15 Января 2020, 10:41:23 »
zg_nico, вот вывод usb-devices, джойстик там в 4-й группе, Bus=03, Vendor=068e
(Нажмите, чтобы показать/скрыть)

Вот вывод dmesg | tail -n 40, APEM HF. Видно сообщение "disconnect".
(Нажмите, чтобы показать/скрыть)
error, fail and warning не было.
Пётр.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3031
    • Просмотр профиля
Re: джойстик переподключается
« Ответ #5 : 16 Января 2020, 16:59:54 »
Ещё возник вопрос: реально ли попытаться вызывать для этого джойстика другой драйвер, а не evdev?
Я попытался сделать это с помощью xorg.conf из одной секции InputClass, но не получается, всё равно вызывается evdev,
хотя я вроде бы всё делал по "man xorg.conf", указывал, например,
MatchDriver "joydev"и другие тоже, и
NoMatchDriver "evdev"
« Последнее редактирование: 16 Января 2020, 17:48:10 от Peter_I »
Пётр.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3031
    • Просмотр профиля
Re: джойстик переподключается
« Ответ #6 : 21 Января 2020, 21:37:43 »
Для Astra Linux 1.6 удалось найти решение корректировкой правила udev для джойстика. Там есть 60-joystick.rules,
я перенёс его в /etc/udev/rules.d и в начало вставил строки
ACTION=="add", SUBSYSTEM=="usb", ENV{ID_INPUT_ACCELEROMETER}=="1", ENV{ID_INPUT_ACCELEROMETER}="0", ENV{ID_INPUT_JOYSTICK}="1"

ACTION=="add", SUBSYSTEM=="input", ENV{ID_INPUT_ACCELEROMETER}=="1", ENV{ID_INPUT_ACCELEROMETER}="0", ENV{ID_INPUT_JOYSTICK}="1"
Система считала, что этот джойстик - акселерометр. После этого переподключения прекратились, но я ещё не проверял,
работает ли он. А в Astra 1.4 этого правила нет, есть 60-persistent-input.rules, в нём есть строка для джойстика,
но там добавление этих строк не помогло, продолжает переподключаться. Я добавил строку
ENV{ID_INPUT_ACCELEROMETR}=="1", ENV{ID_INPUT_ACCELEROMETER}="", ENV{ID_INPUT_JOYSTICK"="1"но тоже не помогло. В Ubintu попробовать не могу, там нет новой, если только установить в виртуальную машину.

Пётр.

 

Страница сгенерирована за 0.046 секунд. Запросов: 25.