Andreas Runfalk


At my workplace we have SteelSeries Rival 110 mice equipped with configurable RGB LEDs. Sadly the configuration software does not support Linux, and does not have scripting capabilities. I stumbled upon rivalcfg which is a library and CLI program that allows configuration of various SteelSeries mice on both Windows and Linux systems. At the time rivalcfg did not have support for the Rival 110, so I and a colleague decided to reverse engineer the mouse and submit a pull request.

We used usbpcap on Windows 10 to sniff the USB commands sent by SteelSeries Engine. The pcap files were then analyzed in Wireshark. We compared the packets to the already reverse engineered Rival 100. It turned out that most packets were the same, but with a null byte padding. The big difference was the DPI settings which looked more similar to a Rival 300.