Linux не видит беспроводную мышь
Обновлено: 21.11.2024
Оглавление
Все в этом руководстве относится к openSUSE Leap 15.3, но в основном применимо и к другим дистрибутивам Linux.
Автор: Себастьян Паршауэр
Этот документ был создан с помощью моих коллег, когда я работал в SUSE. Но мнения мои собственные. Кроме того, эта работа постоянно совершенствуется. Все вклады приветствуются. Просто откройте вопросы на GitHub, чтобы начать обсуждение.
Эта работа находится под лицензией Creative Commons Attribution-ShareAlike 4.0 International License.
USB-мыши в Linux
Оптические USB-мыши обычно основаны на одном чипе от PixArt Imaging. Например, PAN3511 идентифицирует себя с помощью идентификатора USB 093a:2510 .
Многие USB-мыши также поддерживают использование в качестве мыши PS/2 (например, с адаптером). Они также поддерживают устаревший протокол передачи данных PS/2. Это также важно для их использования на текстовых консолях/виртуальных терминалах (VT). В настоящее время общий протокол отчетов USB поддерживается только на серверах отображения в Linux. См. раздел 5 «Интерфейс USB» в техническом описании PAN3511 для получения подробной информации об оборудовании.
USB-драйвер ядра Linux
Почти все проводные USB-мыши используют драйвер usbhid, но требуется дополнительный драйвер пользовательского пространства. Устройства usbhid обычно используют передачу с прерыванием USB. Таким образом, поведение драйвера по умолчанию — ожидание прерываний. Но это может привести к переполнению буферов на некоторых устройствах. Таким образом, исправление причуды usbhid HID_QUIRK_ALWAYS_POLL часто требуется для правильной работы USB-мышей без запущенного драйвера пользовательского пространства.
Проблема в том, что он может использовать только идентификатор поставщика USB и идентификатор продукта, чтобы определить, требуется ли исправление причуды. А с более современными чипами, чем PAN3511, можно изменить идентификаторы USB. Поэтому часто отсутствуют исправления для мышей с одинаковыми чипами, но разными идентификаторами.
Таблица особенностей hid_quirks находится в файле drivers/hid/hid-quirks.c, а идентификаторы поставщиков/продуктов usbhid — в файлах drivers/hid/hid-ids.h исходного кода ядра Linux. Другой важный исходный файл ядра — include/linux/hid.h, содержащий определения причуды. Он показывает, что HID_QUIRK_ALWAYS_POLL имеет значение 0x00000400 ( BIT(10) ).
Причуда usbhid также может быть установлена параметром загрузки ядра usbhid.quirks . Например. usbhid.quirks=0x413c:0x301a:0x00000400 устанавливает HID_QUIRK_ALWAYS_POLL для мыши Dell MS116 с idVendor 0x413c и idProduct 0x301a . Обычно в списке, разделенном запятыми, может быть указано до четырех причуд usbhid. С помощью HID_QUIRK_IGNORE (0x00000004) также можно исключить устройство. Идентификаторы USB можно отобразить с помощью lsusb -vvv .
В hid-quirks.c также есть список hid_have_special_driver, чтобы указать, какие устройства поставляются со специальным драйвером. Обычно это игровые мыши, такие как Roccat.
Последние изменения:
- v4.16: причуды перемещены из hid_blacklist в drivers/hid/usbhid/hid-quirks.c в hid_quirks в drivers/hid/hid-quirks.c
Композиторы Wayland используют libinput . В сеансах GNOME Wayland процессы gnome-shell загружают его. Это драйвер пользовательского пространства для всех устройств ввода.
Список доступных устройств ввода:
Проверьте события мыши:
Используйте устройство событий, которое вы нашли для своей мыши. Моя мышь Dell MS116 находится здесь по адресу /dev/input/event23. Типичными событиями являются BTN_LEFT , BTN_RIGHT , BTN_MIDDLE , REL_X , REL_Y и REL_WHEEL .
В системе X Window
Современные системы Linux также используют libinput с пакетом xf86-input-libinput для X-сервера. Таким образом, он хорошо интегрируется, если X-сервер работает поверх Wayland, чтобы обеспечить совместимость.
Поддержка мыши в системе X Window обычно хорошо работает во всех дистрибутивах Linux почти со всеми мышами USB.
В качестве альтернативы можно использовать пакеты xf86-input-mouse и xf86-input-evdev .
Используйте следующую команду, чтобы проверить, какой драйвер ввода запущен:
Пакет xf86-input-mouse обычно используется только в системах, отличных от Linux.
- man mousedrv
- меньше /usr/share/doc/packages/xf86-input-mouse/README
В отличие от этого, пакет xf86-input-evdev предоставляет другой общий драйвер ввода для Linux.
- человек evdev
- меньше /usr/share/doc/packages/xf86-input-evdev/README
В текстовой консоли/виртуальном терминале
Если вы хотите использовать USB-мышь с поддержкой PS/2 и на VT, вам потребуется GPM (мышь общего назначения) из пакета gpm . Он предоставляет системную службу gpm, которая обычно отключена по умолчанию. Его конфигурация находится в /etc/sysconfig/mouse .
Этот конфиг именно то, что нам нужно. Просто включите и запустите службу gpm в вашем диспетчере служб (например, с помощью YaST2), и ваша USB-мышь с поддержкой PS/2 должна работать с вашими VT.
Примечание. В некоторых случаях после включения и запуска gpm может потребоваться перезагрузка.
Поддерживаемые протоколы/типы мыши можно отобразить с помощью следующей команды, выполненной от имени пользователя root:
Для показов2 это показывает:
Автоматическая приостановка USB в Linux
Мыши часто плохо работают с автоприостановкой USB. Безопаснее всего полностью отключить его с помощью параметра загрузки ядра usbcore.autosuspend=-1, чтобы проверить, не влияет ли это на мышь.
Также можно внести определенные устройства в черный список. Это зависит от того, контролируются ли они tlp, Laptop-Mode-Tools или непосредственно ядром. Для этого в Интернете достаточно руководств.
USB-мышь отключается/подключается каждую минуту в Linux
Давайте рассмотрим оптическую USB-мышь Dell MS116. Это мышь PixArt OEM. Меня очень раздражало, что он каждую минуту спамил виртуальный терминал и журнал ядра сообщениями об отключении USB без запуска драйвера пользовательского пространства:
Отключать его физически каждый раз, когда вы используете VT, не лучший вариант. Его буфер переполняется, если он не всегда опрашивается. Это можно исправить, активировав службу gpm и перезагрузив компьютер, или, что еще лучше, с помощью параметра загрузки ядра usbhid.quirks=0x413c:0x301a:0x00000400, так как это ошибка usbhid.
Битовая маска 0x00000400 активирует HID_QUIRK_ALWAYS_POLL .
Исправление вышестоящего ядра
Конечно, я отправил патч для этого в список рассылки linux-usb (до версии 4.16), который был принят. Поскольку я также отправил его в список рассылки стабильной версии Linux, теперь это исправлено для всех дистрибутивов Linux.
USB-мышь на виртуальных машинах
На виртуальных машинах курсор мыши чаще всего находится не там, где должен быть. Для виртуальных машин Windows требуется абсолютное движение мыши, а для виртуальных машин Linux требуется относительное движение мыши. Убедитесь, что это правильно установлено, например. в вирт-менеджере .
С очень старыми дистрибутивами Linux, которые все еще используют GNOME 2, например, SLES11, эмуляция QEMU EvTouch USB Graphics Tablet не работает должным образом. Удалите его и вместо него добавьте универсальную USB-мышь.
Беспроводные и Bluetooth-мыши
Сделайте одолжение себе и окружающим и избегайте их использования из-за вредного импульсного микроволнового излучения на частоте 2,4 ГГц. Связанная тема - электросмог. Его можно измерить, например. с EMFields Acousticom 2.
Особенно устройства на базе Logitech/Unifying часто оказываются неоптимизированными в этом отношении и могут вызвать боль в запястье как наиболее очевидный эффект.
Я впервые использую Linux (Ubuntu 12.04), и я пытаюсь создать среду разработки, чтобы научиться использовать оболочку, Python и другие вещи по мере того, как я узнаю больше.
Я сделал все возможное, чтобы решить проблему, но не могу найти решение. Я запустил lsusb и вижу, что устройство Novatek исчезает, когда я вхожу в lsusb без подключенного USB-коннектора.
Можно ли как-то использовать мышь? В Windows это подключи и играй. Не знаю, имеет ли это значение.
4 ответа 4
Я бы запустил lsusb с дополнительной отладкой, чтобы посмотреть, что именно система Linux знает о мыши.
Также просмотрите журнал dmesg, чтобы узнать, правильно ли была обнаружена мышь и был ли ей назначен драйвер и/или модуль ядра во время запуска.
Например, в моем журнале dmesg для моей мыши:
Я вижу, что он был обнаружен и назначен на input0 .
Ещё одним полезным инструментом является hwinfo , в частности hwinfo --mouse . Например:
Выше показано, какой драйвер используется для этого устройства, usbhid .
Попробуйте вынуть батарейки из мыши при подключенном USB-ключе. Мне помогло.
Установите solaar через synaptic, и все будет готово!
synaptic — это менеджер пакетов Ubuntu. Solaar — это диспетчер устройств Linux для периферийных устройств Logitech Unifying Receiver (цитата отсюда).
Мыши, даже беспроводные USB, являются довольно стандартными аппаратными средствами (если только вы не говорите о какой-нибудь первоклассной мыши для геймеров или об одной из хитроумных штук с полдюжиной кнопок). Я подозреваю, что ваша мышь (или, возможно, USB-приемник или даже USB-порт) просто сломана. Если это какая-то нестандартная мышь, может быть, мышь просто неправильно настроена (переназначены кнопки или что-то в этом роде). Но в этом случае единственный способ исправить это, вероятно, через «драйвер» под Windows.
Попробуйте мышь на другом компьютере; попробуйте другую мышь на этом компьютере, подключите мышь к другому порту USB. Попробуйте, например. флешку, чтобы проверить, работает ли вообще USB.
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками USB-мышь ubuntu или задайте свой вопрос.
Связанные
Горячие вопросы о сети
Чтобы подписаться на этот RSS-канал, скопируйте и вставьте этот URL-адрес в программу для чтения RSS.
дизайн сайта / логотип © 2022 Stack Exchange Inc; вклады пользователей под лицензией cc by-sa. версия 2022.3.18.41718
Linux является зарегистрированным товарным знаком Линуса Торвальдса. UNIX является зарегистрированным товарным знаком The Open Group.
Этот сайт никоим образом не связан с Линусом Торвальдсом или The Open Group.
Как заставить компьютер распознавать беспроводную мышь?
Способ 1. Запустите средство устранения неполадок оборудования и устройств.
- Способ 2. Попробуйте использовать мышь на другом компьютере и проверьте, сохраняется ли проблема.
- Способ 3. Обновите последнюю версию программного обеспечения/драйверов для мыши с веб-сайта производителя.
- Способ 4. Удалите и переустановите все USB-контроллеры. Для этого выполните следующие действия.
Как подключить беспроводную мышь?
Выполните следующие шаги, чтобы настроить беспроводную мышь.
- Убедитесь, что ваш компьютер включен. …
- Снимите крышку батарейного отсека в нижней части мыши, вставьте батарею и закройте крышку. …
- Включите мышь. …
- Подключите USB-приемник к USB-разъему вашего компьютера.
Почему моя беспроводная мышь не подключается?
Повторно синхронизируйте свои устройства с USB-приемником.
Иногда приемник не синхронизируется с беспроводными устройствами, в результате чего они перестают работать. … Затем нажмите кнопку Connect на клавиатуре и/или мыши, и мигание индикатора на USB-приемнике должно прекратиться. Теперь ваш приемник синхронизирован с клавиатурой и/или мышью.
Как подключить Bluetooth-мышь к Linux?
Нажатие значка Bluetooth на панели открывает элемент управления Bluetooth-устройствами. Нажмите «Поиск» в этом окне и нажмите «Подключиться» в строке, чтобы мышь инициировала подключение. Когда мышь появится в окне «Устройства», выберите ее и нажмите «Настройка».
Как подключить беспроводную мышь без USB-приемника?
Следующие шаги помогут вам подключить беспроводную мышь без нано-приемника исключительно для радиочастоты Bluetooth.
- Компьютер со встроенной функцией Bluetooth. …
- Включите ноутбук и перейдите в настройки. …
- Bluetooth и другие устройства. …
- Bluetooth. …
- Характеристики беспроводной Bluetooth-мыши. …
- Он питается от батареек.
Как подключить беспроводную мышь к другому приемнику?
Сопряжение с другим приемником Unifying
- Загрузите и установите программное обеспечение Logitech Unifying.
- Нажмите кнопку Easy-Switch, чтобы выбрать канал.
- Нажмите кнопку "Подключиться". …
- На компьютере подключите приемник Unifying к USB-порту и следуйте инструкциям на экране для завершения сопряжения.
Как подключить беспроводную мышь к телефону?
Вы можете подключать беспроводные Bluetooth-мыши, клавиатуры и геймпады напрямую к телефону или планшету. Просто используйте экран настроек Bluetooth вашего Android, чтобы соединить его с вашим устройством, так же, как вы соединили бы гарнитуру Bluetooth. Вы найдете этот экран в меню «Настройки» -> «Bluetooth».
Как подключить Bluetooth-мышь?
Как подключить устройство Bluetooth к компьютеру
- Нажмите и удерживайте кнопку подключения в нижней части мыши. …
- На компьютере откройте программное обеспечение Bluetooth. …
- Перейдите на вкладку "Устройства" и нажмите "Добавить".
- Следуйте инструкциям на экране.
Почему моя Bluetooth-мышь перестала работать?
Если проблема возникает более одного раза и вам приходится постоянно повторно добавлять мышь или выключать и снова включать ее, возможно, вам потребуется обновить прошивку или драйверы, связанные с контроллером Bluetooth. … Дополнительные сведения об устранении неполадок беспроводной связи и Bluetooth см. в этой статье «Устранение неполадок: мыши».
Как сбросить настройки приемника беспроводной мыши?
Несколько способов сброса
Проверьте нижнюю часть мыши и включите питание. Найдите под кнопкой питания кнопку сброса. Если он есть, удерживайте сброс в течение пяти полных секунд, чтобы сбросить мышь. Попробуйте использовать мышь, чтобы увидеть, решена ли проблема.
Как переустановить беспроводную мышь?
Способ 4. Переустановите драйвер беспроводной мыши
- Нажмите клавишу Windows + R, затем введите «devmgmt. …
- Разверните узел Мыши и другие указывающие устройства, затем щелкните правой кнопкой мыши беспроводную мышь и выберите Обновить драйвер.
- На следующем экране нажмите «Выполнить поиск драйверов на моем компьютере». …
- Нажмите «Позвольте мне выбрать из списка драйверов устройств на моем компьютере».
Как включить Bluetooth в Linux?
Чтобы включить Bluetooth, откройте обзор действий и начните вводить Bluetooth. Нажмите на Bluetooth, чтобы открыть панель. Включите переключатель вверху.
…
Чтобы выключить Bluetooth:
Привет всем, у меня возникла странная проблема с Arch.Проблема в следующем: у меня беспроводная мышь A4TECH с USB-ресивером. когда я подключаю ресивер до загрузки системы, мышь определяется без проблем. когда я подключаю приемник после загрузки системы, он не будет работать.
С командой lsusb он иногда появляется, а иногда нет. Я не нашел ничего подходящего для команды "dmesg | grep usb".
С помощью команды "cat /var/log/kernel.log | grep A4TECH" я обнаружил это:
10 ноября 18:17:27 Ядро EXO-X352: ввод: USB-устройство A4TECH как /devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0/0003: 09DA:054F.0003/input/input23
10 ноября 18:17:27 Ядро EXO-X352: hid-generic 0003:09DA:054F.0003: input,hiddev0,hidraw0: Клавиатура USB HID v1.11 [A4TECH USB-устройство] на usb-0000:00:1d.2-1/input0
10 ноября 18:17:27 Ядро EXO-X352: ввод: USB-устройство A4TECH как /devices/pci0000:00/0000:00: 1d.2/usb4/4-1/4-1:1.1/0003:09DA:054F.0004/input/input24
10 ноября 18:17:27 Ядро EXO-X352: hid-generic 0003:09DA: 054F.0004: input,hidraw1: Мышь USB HID v1.11 [USB-устройство A4TECH] на usb-0000:00:1d.2-1/input1
Но это тоже не кажется важным. Я помню, что на днях я нашел тему, в которой говорилось, что мне нужно установить пакет «xf86-input-mouse», поэтому я установил его, а затем, когда моя машина уже работала, я подключил мышь, и она заработала. Сегодня я попытался подключить мышь, но система снова не обнаружила. Мне пришлось перезагрузиться, чтобы использовать мышь.
Кто-нибудь может сказать мне, что, черт возьми, мне нужно сделать, чтобы правильно использовать мышь?
Заранее спасибо.
Большое спасибо, я попробую и сообщу, как только смогу.
Большое спасибо, я попробую и сообщу, как только смогу.
Ну привет еще раз! Я пытался найти модуль для своей мыши, но ничего подходящего не нашел. Были некоторые модули ядра, такие как «hid», «usb-hid» и т. д. и т. д., но когда я сравнил вывод lsmod, когда моя мышь не работала, и когда она работала, я не нашел ничего убедительного. Там даже было меньше упомянутых выше модулей, загруженных, когда моя мышь работала. Интересно, что сегодня, когда я подключил мышь к компьютеру после его загрузки, она работала нормально, так что это проблема, которая приходит и уходит. Во всяком случае, я помню, что раньше у меня не было этой проблемы, поэтому я не знаю, что именно может быть источником этой проблемы.
Я нашел этот пост, где говорится, что пользователь должен загрузить модуль "hid -a4tech", так что я сделал это, и я также сделал это с файлом conf, так что я надеюсь, что это не принесет мне больше проблем. Я должен сказать, что этот модуль не был загружен, когда моя мышь работала, поэтому я не знаю, что делать, кроме как ожидать, что проблем больше не будет.
Читайте также: