Рейтинг:2

Ubuntu 20.04: колесо прокрутки не работает для беспроводной мыши после пробуждения системы или при первом подключении

флаг in

У меня есть новый Lenovo ThinkPad E15 с установленной Windows 10. Я добавил Ubuntu 20.04 в качестве опции (двойная загрузка).

Всякий раз, когда ноутбук спит (переходит в состояние «приостановки»), а затем я его просыпаю, колесо прокрутки беспроводной мыши Logitech не работает. («Беспроводная клавиатура и мышь Logitech MK270 Combo», но единственное, что не работает, это колесо прокрутки.)

Затем я отключаю его ключ USB-A и снова подключаю его (мне часто приходится делать это несколько раз), после чего колесико мыши снова работает.

Я вообще не хочу прикасаться к разъему USB. Просто всегда должно работать. Как я могу это исправить?

P.S. Мой вопрос очень похож на Ubuntu 20.04: прокрутка не работает для беспроводной мыши после выхода системы из приостановленного состояния, на который пока нет ответа.

П.П.С. Я подтвердил, что USB-переключатель в моей настройке есть нет связанные с проблемой. Проблема возникает, даже когда крошечный USB-ключ Logitech подключен непосредственно к ноутбуку.

Ryan avatar
флаг in
См. также https://unix.stackexchange.com/questions/309247/linux-mouse-freezes-after-suspend. `sudo modprobe -r hid_logitech_dj && sudo modprobe -r usbhid && sudo modprobe hid_logitech_dj && sudo modprobe usbhid` отключил и снова подключил USB-мышь, но ее колесо по-прежнему не работает (если я физически не отключу и снова не подключу).
Ryan avatar
флаг in
Я также попробовал `sudo modprobe -r hid_logitech_dj && sudo modprobe -r logitech-djreceiver && sudo modprobe -r logitech-hidpp-device && sudo modprobe -r usbhid && sudo modprobe hid_logitech_dj && sudo modprobe usbhid && sudo modprobe logitech-djreceiver && sudo modprobe logitech-hidpp-device», но получил ошибку «FATAL: модуль logitech-djreceiver не найден».
Rho avatar
флаг cn
Rho
Привет @Ryan: попробуйте соединить свои команды с помощью «;» вместо «&&» и проверьте еще раз (это продолжит выполнение ордеров, даже если вы получите ошибку от одного из них). Что касается вывода, который вы опубликовали, похоже, у вас не установлен logitech-djreceiver, поэтому я бы попытался пойти оттуда. Попробуйте новую установку, а затем запустите последовательность modprobe. Надеюсь, это поможет. Ваше здоровье.
emk2203 avatar
флаг in
Я не могу с уверенностью сказать, решит ли это *вашу* проблему, но у меня очень похожая проблема, и я просто хотел сам задать вопрос. То, что я нашел для себя, может помочь вам: `modprobe` не помогает, так как модули не загружены. Что помогает, так это сброс шины usb. Вы можете найти USB ID устройства с помощью `lsusb`. Установите `usbutils` и введите `usbreset `. После этого устройство должно снова распознаваться без отключения и повторного подключения. Сервис systemctl, аналогичный этому ответу, должен автоматизировать его: https://unix.stackexchange.com/a/227293/140914.
Рейтинг:2
флаг in

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

Найдите идентификатор USB в виде VID:PID устройства с lsusb. Установить usbutils и выпуск usbreset VID:PID. После этого устройство должно снова функционировать без отключения и повторного подключения. Сброс шины не совсем равен, но должен быть достаточно близким.

Чтобы автоматизировать это действие, сделайте служба systemctl для этого:

sudo vim /etc/systemd/system/[email protected]

Вставьте эти строки и сохраните файл:

[Ед. изм]
Description="Сбросить USB-устройство после возобновления работы системы"
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

[Оказание услуг]
Тип = ваншот
ExecStart=/usr/bin/usbreset %i

[Установить]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

Вспомните значение VID:PID, полученное из lsusb.

Например, может быть, это было 0бда:5411.

Включите/запустите службу, выполнив команду, например: sudo systemctl start reset-usb-upon-wake@VID:PID.service, такие как sudo systemctl start reset-usb-upon-wake@0bda:5411.service.

Таким образом, даже если у вас есть несколько устройств, которым требуется такая услуга, все они могут использовать один файл службы.

Ryan avatar
флаг in
Спасибо за этот ответ. Я пробую это сейчас и сталкиваюсь с некоторыми проблемами. Я отредактирую ваш ответ выше с тем, что, по моему мнению, может сработать. И я вернусь сюда, когда узнаю больше.
Ryan avatar
флаг in
Я не думаю, что у меня это работает. Когда сегодня утром я вывел свой компьютер из спящего режима, колесо прокрутки не работало. Означает ли это, что мне нужно больше служебных файлов? Есть ли способ заставить это работать при пробуждении из спящего режима и при первой загрузке? Спасибо! :-)
emk2203 avatar
флаг in
Во-первых, загляните в журнал systemd, чтобы убедиться, что все настроено правильно: загрузите компьютер, перейдите в спящий режим, возобновите работу, а затем используйте `journalctl -b`, чтобы увидеть все, что произошло с момента последней загрузки. Посмотрите, запустилась ли ваша служба после резюме. Если это так, есть вероятность, что метод сброса USB, к сожалению, недостаточен в вашем случае. Если сброс USB не работает, боюсь, с одним только программным обеспечением мало что можно сделать.
emk2203 avatar
флаг in
Выключение и включение мыши может быть лучшим решением, если попытки программного обеспечения не увенчались успехом.
Ryan avatar
флаг in
Я попробую изменить на основе https://unix.stackexchange.com/a/492497/48973.
Ryan avatar
флаг in
До сих пор я почти уверен, что запуск `sudo systemctl start reset-usb-upon-wake@046d:c534.service` работал каждый раз, но после этого он странно постоянно нажимал `Enter` (по-видимому) в терминале, вызывая терминал для бесконечной прокрутки, пока я не наберу новую команду. Поэтому я хотел бы это исправить, а также я до сих пор не запустил его автоматически после пробуждения. Я отредактирую ответ выше, чтобы показать, что я пробовал.
Ryan avatar
флаг in
В журнале я вижу это, что *подразумевает*, что это сработало: «11 января 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: запуск «Сброс USB-устройства после возобновления работы системы»… 11 января 09:05:22 Ядро ThinkPad-E15-Gen-2: usb 3-5.3: сброс полноскоростного USB-устройства номер 16 с помощью xhci_hcd 11 января, 09:05:22 ThinkPad-E15-Gen-2 usbreset[12310]: сброс USB-приемника ... хорошо 11 января, 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: reset-usb-upon-wake@046d:c534.service: успешно. 11 января, 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: Завершено «Сброс USB-устройства после возобновления работы системы». `
Ryan avatar
флаг in
... но колесо прокрутки мыши *на самом деле* не работало, пока я не открыл терминал и не запустил эту службу вручную. Любые идеи? Спасибо.
Ryan avatar
флаг in
Я набрал кучу баллов, хотя до сих пор не знаю, как решить мою проблему (потому что я действительно ценю ваши постоянные усилия). :-)
emk2203 avatar
флаг in
Извините за отсутствие на некоторое время. Похоже, что с вашим аппаратным/программным обеспечением что-то не так, и оно *должно* работать, но на самом деле все по-другому. Вы можете попробовать второй сброс через службу, возможно, с паузой в 1 секунду между ними, и надеяться, что это поможет, или, возможно, попробовать другое ядро, чтобы увидеть, получил ли драйвер некоторые обновления и работает ли он с более новой версией. Вы можете попробовать, возможно, с живым USB разработки 22.04. У него ядро ​​5.15, LTS-версия, с множеством улучшений. Если это работает, возможно, используйте ядро ​​​​5.15 в вашей версии 20.04. Спасибо за очки!

Ответить или комментировать

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