The process of saving USB data is easy, but the drivers for these programs are known to conflict with some systems and cause loss of USB port function until the program is uninstalled. The known Solution is to disable ‘Secure Boot’ in BIOS/UEFI. Having a system restore on a flash drive or being able to remotely access your computer in a way that doesn’t require interaction from the client PC on boot is recommended before you start in the event that disabling Secure Boot doesn’t fix the issue on your system and you don’t have system restores or remote access in place to remove the program. you will likely need to do a windows refresh to remove all programs, but keep your personal files. You are doing this at your own risk, if you don’t feel comfortable trying, request your device here. Do not use a laptop system for this process.
This process after install is simple and straightforward and will record all data passing over your USB devices. Please refrain from typing any sensitive information while the capture is running if you're planning on sending this data to someone else as pressed keys are included in the recording. Two third-party programs you can use are Usblyzer(free trial) and Wireshark (free to use). Either will work but if using Wireshark make sure the USBPcap is selected during installation. All photos here will be using Wireshark as it’s free to use.
- A USB capture program installed, i.e. Wireshark or Usblyzer.
- The RGB software of the device your capturing data for is installed and fully updated.
Getting Good Data
During this process make sure to only have only ONE RGB software that is controlling the device, having SignalRGB AND the company's software talking to the device or SDKs like wallpaper engine, ASUS Sync etc. running will make the data captured significantly harder or impossible to decode. The less noise generated during this process the better. If recording a mouse, Try to use a second mouse to control the computer if possible as mouse movement can send over a thousand packets a second that need to be filtered out.
The data you're trying to record is:
- The Device’s Startup / Initialization
- Changing modes (going into Static/Custom mode)
- Changing the colors
- DPI / LCD screens if applicable on your device
- The Device going back to hardware mode again if applicable.
Note: For best results you’ll likely need a few captures to get all the various packets needed for a fully functioning device.
Device Startup / Initialization Starting capture before you open the RGB software (make sure it’s fully closed first) will give the startup data when you open programs like ICUE, Synapse. These are the packets that bring the device out of hardware mode and open it up to software color control. Without these packets working any color changes sent to the device will be ignored.
Changing the colors For color changes use a static color (no modes, profiles, or animated effects). Ideally, get a capture going between solid colors, (Red: #FF0000, Green: #00FF00, and Blue: #0000FF in order) and ones using a mix of colors (#163248 is a good example of the R/G/B channels being different easily identifiable values in HEX as they show up as ‘10 20 30’) Try to do both full device color changes and changing individual zones/LED’s to different colors.
Note: It’s best to break these captures down into smaller sections depending on the device itself as each one will normally send data in a different style.
For AIO’s make captures with just the pump RGB on, with Pump and connected fan RGB, and then just the fan RGB alone if possible. These devices will normally treat the Pump and fans as separate channels.
For Keyboards changing random groups of 5-20 keys is ideal to find the best packets to use. If your device has nonstandard keys make sure to include them in their own capture (G/Macro keys, Media keys, Extra Buttons in general). Some keyboard brands (namely Logitech, Corsair, Steel Series, and HyperX) have numbers to identify each key. For these brands you’ll need to do a capture going from top left to bottom right in rows changing each key to any color starting with a consistent background color. This will give us both all of the key Id’s and the order they go in.
If capturing for a product that is dynamic like Corsair lighting controllers, NZXT hue devices etc. Please include what you have configured with them and the channels they’re on. (i.e., Channel 1 has 2 LL fans, Channel 2 has 3 QL fans) and the LED counts if possible. Each channel’s data is normally spread over multiple packets and the Led count is used to determine the order.
- After installation reboot your computer, at the bottom click on USBPcap1, then shift click down to the last one. Click the shark fin top left to start capture.
- You should then see it start collecting packets. These are every bit of data being send over USB by your system.
- To stop and save the capture hit the Stop Button in the Top left, and then the save button to save it to a file to look over later.
- You’ll need to make sure some of the data is what you’re looking for, I'll use the H100i Platinum Se Aio as an example for capturing color changes. In Icue open the H100i and make a new lighting effect for it. We’ll want a static one.
- Then we’ll want to just change the pump RGB, make sure the rest of the RGB is turned off, then start a new capture and select only the Pump’s LED’s. Change the colors a few times, Going Full Red -> Full Green -> Full Blue is the best. Stop and Save the capture.
If you’re submitting this data to WhirlwindFX
Break these captures up to be as specific as you can and label them accordingly, so we know what to try and find in each of them. As Example:
- K100 Optical Icue Start up
- K100 Optical full Red -> green -> blue
- K100 Optical 10 key sections (Colors #125498, #769812)
- K100 Key Order
- K100 Optical Icue exit
Create an issue on this GitLab or email these and a screenshot of your my rig page in signal to Support@whirlwindfx.com along with your discord name so we have a point of contact to reach out to for additional information, data captures, and testing as needed. We may need you to test out led positioning, key order, key press effects, and other features on the devices before they are perfected or even partially working due to not having them with us in person for rapid debugging. This process can be done piecemeal over days and spread between users, so any help is progress to having your device supported.