Make the most of your warranty. Register Your Product File a warranty claim. Having issues with your keyboard, mouse or Logitech Options on macOS. Wireless Solar Keyboard K Support. Questions about your Wireless Solar Keyboard K? We’ve got the answers, videos, downloads and information you .
|Published (Last):||19 November 2014|
|PDF File Size:||7.18 Mb|
|ePub File Size:||18.79 Mb|
|Price:||Free* [*Free Regsitration Required]|
Once everything was set-up, I ran my beloved Wireshark. My problem is that there’s obviously no way to know the battery status from Linux, the provided application only working on Windows. Well, actually, you can’t decode them like that, unless you’re a freak or a Logitech engineer.
The Logitech application under Windows works that way: That means that while we’re waiting for the packet, we’re dropping packets corresponding to other events from every connected device key presses, pointer motions….
For the other bytes, they were always the same 0x11 0x2 0x9 0x10 at the beginning, 7 times 0x00 at the end. Interfaces are regrouped into a configuration. I’ve no idea what the GOOD part of the packet is about, but it’s present in every packet and it’s actually very handy to recognize such a packet. And one dark night, while fragging on QuakeLive, my keyboard stopped working: Fortunately, it was easy to decode.
With that document, I may be able to understand the part I reverse engineered and convert this to a more useful and generic library logifech the hidraw interface so we don’t have to disconnect the devices from the kernel driver. To communicate with an USB device, we communicate with one of its endpoints.
It’s not perfect and does not check for error codes, be careful. Unknown 0xffff ] Leftover Capture Data: Sipport we’ve enough information to build our own very basic solar application. Knowing we’re looking for 2 values battery charge and light meterwe just need to observe and compare the packet emitted on the wire with the values displayed by the Logitech Solar App.
Endpoints are regrouped into an interface. In order to solve that, I sent a request for help on the linux-input mailing list. It’s an USB receiver that can be attached up to 6 differents devices mouse, keyboards….
Recently, a driver called hid-logitech-dj has been added to the Linux kernel. There’s llgitech several types of packets in the USB wire protocol, and at least two of them interest us there, they are: Building our solar app Now we’ve enough information to build our own very basic solar application. Unfortunately, this approach has at least one major drawback.
To achieve that, you need a virtual machine emulator that can do USB pass-through. This is the one sent by the keyboard to the host and that contains the data we want to retrieve.
This activity being quite energy consuming, loigtech emptied the whole battery. It has an incredible useful feature: Anyway, my plan was the following: And I have actually no idea what they mean.
Here’s a quick example. I discovered a bit too late that Drew Fisher did a good presentation on USB reverse engineering at 28c3. So the first task to accomplish is, unfortunately, to reverse engineer the program.
You don’t need to know much about USB to understand what I’ll write about below, but for the sake of comprehensibility I’ll write a couple of things here before jumping in. To sniff what happens on the K7750, you need to load the usbmon Linux kernel module.
When pressed, a LED will light up on the keyboard: We know how to triggers the light meter, and we know how to decode the packets.
This packets come in regularly 1 per second on the wire for some time once you sent the “go for the light meter” packet. On the keyboard, there’s a special “light” button up right. It’s basically dark, and that makes sense: With all this, the next logiech was clear: The “light meter and battery values” packet This is most interesting packet.
They’re in the 20 bytes skpport in the capture data part, indicated by Wireshark, at the end of the packet: Someone should write code to get the battery status and light meter from Linux: We’re going to write a small application using libusb. We have to disconnect the Logitech Unifying Receiver from the kernel.
Interrupt packets, a packet send spontaneously; Controls packets, used for command and status operations. At one point they are emitted less often and do not contain the value for the light meter anymore, suggesting that the control packet sent earlier triggers the activation of the light meter for a defined period.