Solaar: Support MX Master 2S

Created on 27 Jun 2017  路  17Comments  路  Source: pwr-Solaar/Solaar

I would like for support for the MX Master 2S to be available.

More than happy to help out with getting this up and running if I can

Most helpful comment

Just to confirm that the master branch of solaar already supports Master MX 2S - works perfectly, allows setting DPI and smartshift. Not sure when it was added but it was a nice surprise.

For people on Fedora 26, here's how it can be built and installed:

  • Download the master branch
    https://github.com/pwr/Solaar/archive/master.zip

  • extract the zip and browse into the solaar-master directory (the one containing setup.py)

  • the following depdencies may be required before the next step
    sudo dnf install python2-pyudev unifying-receiver-udev

  • build the rpm package for fedora: - this will build a package as version 9.2.6 (so it overrides fedora's official repo version, which does not support MX 2S)

./setup.py bdist_rpm --release="6"

  • finally: install the new package
    sudo dnf install ./dist/solaar-0.9.2-6.noarch.rpm

  • run it:
    env GDK_BACKEND=x11 solaar
    (the change of backend was needed in Fedora 25, but not in 26 - it fixed the missing tray icon when running on wayland)

Thanks to the solaar team for behing ahead of the game :)
This Issue could really be closed now.

All 17 comments

If you have the device, it seems that the first step would be (just quoting from another thread):

Please clone from git and report the output of bin/solaar show > mxmaster2s.txt and lsusb -d 046d.

Unifying Receiver
  Device path  : /dev/hidraw4
  USB id       : 046d:c52b
  Serial       : EF679307
    Firmware   : 12.03.B0025
    Bootloader : 02.15
    Other      : AA.AA
  Has 1 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)
  Device activity counters: 1=240

  1: Wireless Mouse MX Master 2S
     Codename     : MX Master 2S
     Kind         : mouse
     Wireless PID : 4069
     Protocol     : HID++ 4.5
     Polling rate : 8 ms (125Hz)
     Serial number: 9B701852
        Bootloader: BOT 56.00.B0003
          Firmware: MPM 12.00.B0003
          Firmware: MPM 12.00.B0003
             Other: 
     The power switch is located on the base.
     Supports 32 HID++ 2.0 features:
         0: ROOT                   {0000}   
         1: FEATURE SET            {0001}   
         2: DEVICE FW VERSION      {0003}   
         3: DEVICE NAME            {0005}   
         4: WIRELESS DEVICE STATUS {1D4B}   
         5: RESET                  {0020}   
         6: BATTERY STATUS         {1000}   
         7: unknown:1806           {1806}   internal, hidden
         8: CHANGE HOST            {1814}   
         9: REPROG CONTROLS V4     {1B04}   
        10: ADJUSTABLE DPI         {2201}   
        11: VERTICAL SCROLLING     {2100}   
        12: SMART SHIFT            {2110}   
        13: HIRES WHEEL            {2121}   
        14: GESTURE 2              {6501}   
        15: DFUCONTROL 2           {00C1}   
        16: unknown:00C2           {00C2}   
        17: unknown:1813           {1813}   internal, hidden
        18: unknown:1830           {1830}   internal, hidden
        19: unknown:1890           {1890}   internal, hidden
        20: unknown:1891           {1891}   internal, hidden
        21: unknown:18A1           {18A1}   internal, hidden
        22: unknown:18C0           {18C0}   internal, hidden
        23: unknown:1DF3           {1DF3}   internal, hidden
        24: unknown:1E00           {1E00}   hidden
        25: unknown:1EB0           {1EB0}   internal, hidden
        26: unknown:1803           {1803}   internal, hidden
        27: unknown:1861           {1861}   internal, hidden
        28: unknown:9001           {9001}   internal, hidden
        29: unknown:9200           {9200}   internal, hidden
        30: unknown:9240           {9240}   internal, hidden
        31: unknown:1805           {1805}   internal, hidden
     Battery: 90%, discharging.

Bus 001 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046d Logitech, Inc.
  idProduct          0xc52b Unifying Receiver
  bcdDevice           12.03
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          4 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               98mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      59
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     148
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               2
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      93
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               2

Hi,

What is not working?

The new Master 2S support logitech flow.
It can move mouse between computers and copy/paste file/text across systems.
I think at least minimal support for move mouse is very useful.

Is it support for now? Or is it not intended to be supported by solaar and we have to find another project?

There is a Linux tool that has supported similar features for a very long time, check:
https://wiki.archlinux.org/index.php/synergy

"flow" functionality probably has very little to do with solaar, which is a tool meant to easily allow you to pair your mouse with the receiver and configure the mouse features

I know this project before, but I think that's different.
Synergy is a software that simulate mouse and keyboard (and will be recognized as cheater by some game, and may not compatible with some software), while logitech flow is actually attach the mouse to the computer.

I never tried Synergy, correct me if I'm wrong.

Just to confirm that the master branch of solaar already supports Master MX 2S - works perfectly, allows setting DPI and smartshift. Not sure when it was added but it was a nice surprise.

For people on Fedora 26, here's how it can be built and installed:

  • Download the master branch
    https://github.com/pwr/Solaar/archive/master.zip

  • extract the zip and browse into the solaar-master directory (the one containing setup.py)

  • the following depdencies may be required before the next step
    sudo dnf install python2-pyudev unifying-receiver-udev

  • build the rpm package for fedora: - this will build a package as version 9.2.6 (so it overrides fedora's official repo version, which does not support MX 2S)

./setup.py bdist_rpm --release="6"

  • finally: install the new package
    sudo dnf install ./dist/solaar-0.9.2-6.noarch.rpm

  • run it:
    env GDK_BACKEND=x11 solaar
    (the change of backend was needed in Fedora 25, but not in 26 - it fixed the missing tray icon when running on wayland)

Thanks to the solaar team for behing ahead of the game :)
This Issue could really be closed now.

@Mezzle can you confirm that master works?

Seems I'm not realising that this was actually last released as a proper release in 2013 - and therefore, versions aren;t making it through into OSes - which is where the UI and what I'm trying to do isn't working.

Yes, should probably push a release "soon". So does git master work for you or not?

@Lekensteyn I tested the master on a live Ubuntu 17.10 daily build, and I can confirm that it works.

Inverting the "High precision scroll wheel" also works, however I couldn't do the same with the thumb wheel? Is it possible to add that feature as well?

I can help by testing the releases on a real device,

I can also confirm that master works great on Arch using the solaar-git package.

@szabolcsx Thanks for confirming basic support, perhaps you can open a new issue specifically for the thumb wheel issue (and refer to this issue).

For reference, there is a thumb wheel issue: #411

Hi folks,
Do you know if this would work on Ubuntu 19.04?
Thank you for your efforts!

So does Flow work with solaar or not?

Hi, I works nicely with Ubuntu 19.10.
Only the basic functions (left and right clicks, the middle wheel as well as the third click on it) though, but so far this is good for me.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

pauledd picture pauledd  路  16Comments

notaduck picture notaduck  路  15Comments

cement-head picture cement-head  路  5Comments

fdev31 picture fdev31  路  9Comments

Petross404 picture Petross404  路  5Comments