Как заставить Logitech Anywhere MX работать в Ubuntu 12.X?

14

У меня есть мышь Logitech Anywhere MX (беспроводная), когда я подключаю ее к компьютеру, она не работает.

Мышь работает на других компьютерах с Windows, а также с Fedora 17 и Fedora 19, но она не работает на двух разных компьютерах с Ubuntu 12.04 и 12.10. Более того, эти же компьютеры работают с другой беспроводной мышью Microsoft.

Поэтому я думаю, что комбинация Logitech MX и Ubuntu не очень хорошо работает.

Запись в dmesgжурнале выглядит так:

[  578.845838] usb 3-2: Product: USB Receiver
[  578.845841] usb 3-2: Manufacturer: Logitech
[  578.851625] logitech-djreceiver 0003:046D:C52B.0009: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-2/input2
[  578.851899] logitech-djreceiver 0003:046D:C52B.0009: logi_dj_probe:logi_dj_recv_query_paired_devices error:-32
[  578.854518] logitech-djreceiver: probe of 0003:046D:C52B.0009 failed with error -32

Вместо ожидаемого (взято из Fedora):

[154344.634520] usb 2-1.2: Manufacturer: Logitech
[154344.647935] logitech-djreceiver 0003:046D:C52B.000D:
hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on
usb-0000:00:1d.0-1.2/input2
[154344.653788] input: Logitech Unifying Device. Wireless PID:1017 as
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/0003:046D:C52B.000D/input/input21
[154344.654192] logitech-djdevice 0003:046D:C52B.000E: input,hidraw1:
USB HID v1.11 Mouse [Logitech Unifying Device. Wireless PID:1017] on
usb-0000:00:1d.0-1.2:1

ОБНОВЛЕНИЕ: Я бы сказал, что на данный момент solaarэто путь. Поэтому я принял предыдущий ответ, предлагающий это.

alfC
источник
Похоже, это обходной путь, он работал для меня пару раз, я пытался: askubuntu.com/a/196915/15943 . Постоянное решение также приветствуется.
AlfC
хорошо, я говорил слишком рано, трюк выше не сработал снова.
AlfC
Зайдите сюда chat.stackexchange.com/rooms/6585/logitech-mice-problems
Луис Альварадо,
Позвольте мне уточнить, что это похоже на проблему с ядром, потому что та же проблема возникает в Fedora 18 (с использованием ядра 3.7.2). К счастью, отмеченное решение также решает эту проблему в Fedora 18.
AlfC
Это может решить проблему устройств Logitech: webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html . Я еще не пробовал.
AlfC

Ответы:

5

Solaar работал для меня в 12.04. В типе терминала:

sudo add-apt-repository ppa:daniel.pavel/solaar  
sudo apt-get update  
sudo apt-get install solaar  

После установки откройте Solaar из меню Dash и нажмите в левом верхнем углу. Нажмите на в правом нижнем углу и следуйте инструкциям.

Если ранее у вас были устройства Logitech, сопряженные с другим компьютером, вам может потребоваться сначала отключить устройства Logitech от других компьютеров. После этого перезагрузите Ubuntu без приемника Logitech по USB, запустите Solaar из Dash / меню, подключите приемник Logitech, нажмите «Добавить новые устройства» и включите / выключите новое устройство, чтобы его можно было распознать. Повторите для каждого устройства.

После сопряжения устройства распознаются при каждом запуске Ubuntu (Solaar автоматически устанавливается в «автозагрузку приложений»).

Также проверьте эту ссылку как источник http://www.webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html или для получения дополнительной информации об устранении неполадок.

ubunoop
источник
Ответ довольно старый, но: 16.04 solaarуже находится в основном репозитории, поэтому его можно установить напрямую!
Лапшин Дмитрий
14

Я улучшил скрипт, а затем добавил правило udev, которое срабатывает при каждом подключении мыши. Я использую Logitech Performance MX, но это правило должно быть схожим.

#!/bin/bash

# loop up to 10 times trying to fix the mouse insertion
for i in {1..10}
do

  # exit the script if there was no mouse error
  if [ `dmesg | grep "logitech-djreceiver" | tail -1 | grep -c "failed with error -32"` -eq 0 ]; then
    echo "No logitech receiver error...exiting" ;
    exit 0 ;
  else
    # try to reload the mouse driver
    echo `date`" Error detected, trying reload of logitech hid driver" ;
    rmmod hid_logitech_dj ;
    modprobe hid_logitech_dj ;
    sleep 1 ;
  fi

done

Это пытается до 10 раз перезагрузить драйвер перед выходом.

Я назвал сценарий /usr/bin/mousefixи сделал chmod +x.

Вот правило udev, строка, которую можно добавить к /etc/udev/rules.d/10-local.rules

SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{manufacturer}=="Logitech", ATTRS{product}=="USB Receiver", ACTION=="add", RUN+="/usr/bin/mousefix"

Надеюсь, это поможет кому-то еще. Казалось, что проще всего запускать скрипт при каждом подключении usb.

Деннис Кубес
источник
1
Работал с Logitech Anywhere MX, как при запуске, так и при подключении USB-штекера. Я приму этот ответ, потому что он дает постоянное решение.
AlfC
Мой mousefixсценарий не запускается без sudo... Я получаю сообщение об ошибке "ОШИБКА: Удаление 'hid_logitech_dj': Операция не разрешена". Какие-либо предложения?
Джесси Уэбб
@JesseWebb - попробуйте chmod a+xдать универсальные привилегии выполнения.
Джесс Телфорд
В течение недели я искал исправление моих проблем с приемником Logitech Unifying, прежде чем нашел это. Работает отлично, СПАСИБО!
Натан Лодинг
Спасибо за решение. Это не позволило мне выбросить то, что я считал неисправной мышью!
Хлипкий
5

Вам нужно только обновить систему, если вы используете 12.04 или 12.10.

У меня было несколько вопросов, связанных с Anywhere Mouse и Touch Mouse M600

Поддерживается ли приемник Logitech Unifying?

Могу ли я использовать Logitech Touch Mouse M600?

Я даже участвовал в этой ошибке панели запуска: https://bugs.launchpad.net/linux/+bug/958174, где несколько решений, таких как:

sudo modprobe -r hid_logitech_dj
sudo modprobe hid_logitech_dj

были упомянуты, но в конце обновления системы исправили все проблемы с обоими мышами.

Здесь даже есть ответ аскубунту: Logitech M515 не работает после обновления до 12.04

Но для всех 4 компьютеров, которые я тестировал, решение состояло в том, чтобы активировать все репозитории по умолчанию, не активированные (юниверс, мультивселенная, предложенный, backport), выполнить обновление и обновление. Перезагрузка и мышь должны работать из коробки отлично.

Если это случайно не решит проблему, то поможет диагностика, например:

  1. После перезагрузки отключите / подключите приемник Logitech. Откройте терминал и введите dmesgпоследние строки, в которых будет указан получатель. Посмотрите, появилась ли ошибка.

  2. Тип lsusb. Вы должны увидеть строку, аналогичную приведенной ниже, если все было обнаружено правильно:

    Bus 002 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver

  3. Включите / выключите мышь (переключатель включения / выключения мыши указан ниже) и проверьте.

Это было проверено в портах USB 2.0 и 3.0. Чтобы убедиться (по крайней мере, для большинства пользователей), что это работает, ВСЕ репозитории должны быть активированы. Как следующие 3 изображения:

Здесь мы видим главное , вселенную , ограниченную и активированную мультиверс . Я также изменил сервер из моей страны на ГЛАВНЫЙ

введите описание изображения здесь

Здесь я активировал, так как они были отключены, Canonical и сторонние репозитории.

введите описание изображения здесь

Здесь можно увидеть предложенные и активированные backports (кроме безопасности и обновлений).

введите описание изображения здесь

После всего, что я сделал sudo apt-get update && sudo apt-get upgrade. Перезагрузил компьютер и сделал.

Мышь должна работать каждый раз, когда она включена, но если это не удается, я вижу пару или причины, почему:

  • Мышь Anywhere MX разряжает батареи быстрее, чем другие мыши, которые я тестировал. В моих тестах Anywhere MX использует в 2 раза больше батареи, чем Touch Mouse M600, и, по крайней мере, в 20 раз больше, чем Logitech V450. Например, используя его каждый день, можно использовать Anywhere MX от 1,5 месяцев до 2 месяцев. Сенсорная мышь длится от 4 до 5 месяцев. V450 длится явно целый год до 16 месяцев. Так что проверь батарейки. Я подозреваю, что это связано с технологией Darkfield.

  • Мышь Anywhere MX при включении зеленого индикатора будет мигать около 3 секунд, а затем выключится. Это не означает, что мышь выключена, это просто означает, что батареи мыши хороши. Если огни были красными, вам нужно их поменять. В любом случае индикатор загорится зеленым или красным, а затем погаснет, чтобы сохранить батареи.

  • Переключатель для включения / выключения мыши, представленный ниже, можно переключать любое количество раз при использовании Ubuntu, но лучше выключать мышь, когда она не используется. Таким образом, это будет длиться дольше. Например, когда спишь, идешь на работу и т.д ..

  • Некоторые параметры BIOS могут влиять на мышь. Проверьте BIOS вашей материнской платы на наличие опций USB. Играйте с ними на всякий случай, если мышь не работает.

  • Измените порт USB, к которому подключен приемник. Известно, что некоторые порты (например, порты на передней панели) действительно плохо работают с устройствами большой мощности.

Луис Альварадо
источник
Похоже, backportsэто ключ. Я не активировал, proposedпотому что у меня были проблемы много раз, и у меня были universeи multiverseс самого начала). Теперь это работает из коробки.
AlfC
Что ж, обновление системы (пока не предложено) сработало один раз, просто случайно. Мне пришлось вернуться к трюку с modprobe, который, казалось, работал тоже только один раз, затем я попробовал решение Wendel, и оно заработало.
AlfC
Я наконец установил proposedрепозиторий и обновил / обновил как последнее средство; это не работает до сих пор. Одна деталь, которую стоит упомянуть, это то, что на этом компьютере все порты USB имеют 3.0.
AlfC
Не беспокойтесь о портах USB 3.0. Только что проверил те в моем компьютере, и мышь все еще работает. Я собираюсь обновить свой ответ, но было бы здорово, если бы мы могли поговорить в чате. Я приглашаю вас в чат и постараюсь решить его там, чтобы избежать тысячи комментариев здесь.
Луис Альварадо
4

Существует обходной путь, использующий этот сценарий (скопируйте его в сценарий .sh, chmod + x этот файл и запустите от имени пользователя root:

#!/bin/bash
while :; do dmesg|grep logitech-djreceiver|tail -1|grep -q -c "failed with error -32" || exit; 
echo -n `date`" Driver Reload" ; 
rmmod hid_logitech_dj ; 
modprobe hid_logitech_dj ; 
dmesg|grep logitech-djreceiver|tail -1 ; sleep 1; done

Или загрузите mousefix.sh, который является ссылкой на этой странице здесь:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1039143/comments/55

Это исправление работает путем удаления и повторного добавления (rmmod + modprobe) hid_logitech_dj, который является модулем, отвечающим за объединяющий получатель. Он делает это в цикле while раз в секунду, пока не будет окончательно распознан.

Очевидно, имеется ошибка в ядре Linux при использовании этого ресивера на порту XHCI (USB 3) и в более новых версиях ядра Linux. Вероятно, он отлично работает на портах USB2. (?)

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

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1039143

Реквизит Джелле Фокс для выяснения этого. Давненько сводил меня с ума.

Когда я все время оставляю свой приемник, я запускаю этот скрипт при загрузке и возобновляю из сна для «автоматического» исправления, и он работал отлично в последний раз.

Дайте мне знать, если это работает.

Уэнделл
источник
0

К, спасибо большое "Деннис Кубес" за твой сценарий, но у меня не получилось. Я должен был настроить это, чтобы заставить это работать:

#!/bin/bash

# loop up to 10 times trying to fix the mouse insertion
    sudo modprobe -r hid_logitech_dj && sudo modprobe hid_logitech_dj ;

for i in {1..10}
do

  # exit the script if there was no mouse error
  if [ `dmesg | tail -1 |  grep "logitech-djreceiver: probe of" | grep -c "error -32"` -eq 0 ]; then
    echo "No logitech receiver error...exiting" ;
    exit 0 ;
  else
    # try to reload the mouse driver
    echo `date`" Error detected, trying reload of logitech hid driver" ;
    sudo modprobe -r hid_logitech_dj && sudo modprobe hid_logitech_dj ;
    sleep 1 ;
  fi

done

Надеюсь, это кому-нибудь поможет.

Süther
источник