Logitech Unifying Receiver Protocol?

13,227

Solution 1

There is some info at Tequals0 blog, and AveryLouie also got some python tool operating with unifying

Solution 2

This is Avery, aka Tequals0. The USB dongle is a USB HID mouse/keyboard device, so all that traffic that you are seeing is basically generic HID traffic- if you want to pair your phone to your dongle, you will have to emulate the wireless traffic, not the USB traffic-that is generated by the dongle.

Solution 3

I have discovered some Logitech documents on a shared folder in Google Docs via this Chromium bug report. For convenience, I converted all doc(x) files to PDFs and put those on https://lekensteyn.nl/files/logitech/.

You will find Logitech HID++ 1.0 Specification for Unifying Receivers (pdf) very interesting, it describes the USB traffic (instead of the 2.4GHz wireless traffic as noted by Avery). My article Logitech Unifying for Linux: Reverse Engineering and unpairing tool documents a way to capture the traffic with usbmon and QEMU. It also includes tools to make the usbmon output prettier to read (for this protocol).

Share:
13,227
Michael0x2a
Author by

Michael0x2a

As I'm sure you can probably guess from looking at my posting history, I'm primarily interested in computer science and have been programming in some capacity for about the past decade or so. I sporadically answer questions on StackOverflow and lurk in the other StackExchange websites. I've also become interested in CS education semi-recently, so I do some stuff there too. Background: I'm currently a software developer at Dropbox. I also contribute pretty heavily to mypy, a static type checker to Python, and so as of late have been focusing mostly on answering questions related to static typing in Python.

Updated on June 28, 2022

Comments

  • Michael0x2a
    Michael0x2a almost 2 years

    Is there a place where I can find documentation or an SDK about the Logitech Unifying Receiver?

    I recently obtained a wireless mouse, which came with a Logitech Unifying Receiver (a small USB dongle that plugs into the computer and communicates with the mouse/other compatible devices (such as keyboards)).

    I wanted to try writing an app for my smartphone that pretends to be a mouse and sends data to the receiver.

    I was able to monitor the data from the USB bus by using usbmon, and could probably use that to hack something out, but wanted to know if I could find the info I need somewhere on the internet without having to derive it on my own.

    I'm going to try using SL4A on Android, if that helps any.

  • Alexander
    Alexander almost 9 years
    There have since been a (fully working) utility developed for providing the functionality. The source is open at lekensteyn.nl/logitech-unifying.html
  • Damn Vegetables
    Damn Vegetables almost 3 years
    I don't get it. If I understood it correctly, OP seems to be emulating a wireless keyboard using an Android phone. then why did he monitor the communication between the USB receiver and the system? And isn't the work in your link is doing what Logitech's management software does, that is talking to the USB dongle? How does it help his case? He needs to send the wireless signal to the dongle.
  • Damn Vegetables
    Damn Vegetables almost 3 years
    Yeah, so the accepted work or Tequals0 is not the thing that can help this task, right? I searched for this to know if I could create a custom wireless mouse using an Arduino and reuse a Logitech receiver USB dongle. I was looking for the wireless communication protocol between the mouse and the dongle. Is there any existing work on that, or should I give up (because I myself is not talented enough to be able to reverse-engineer a likey-encrypted wireless traffic).