-
-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Roccat Kain 200/202 AIMO #80
Comments
Hi @nenominal, thank you for your feature request! I currently do not have access to a Do you see the battery levels when using $ upower --dump |
Hi, unfortunately there is no output regarding battery using upower.
If you need assistance, I can help, unfortunately I'm a sysadmin, not a developer. |
@nenominal to add support for the device I need a trace of the packets on the USB bus that initialize the device, set RGB values, query battery levels, etc... Please find more documentation on how to capture such a trace file in the Eruption Wiki. |
Hope it helps. Bellow are the device's details. I captured on all usbports, for some reason wireshark didn't work on only one port but if I selected all of them, it worked.
|
@nenominal Thank you for providing the capture file! It seems that this capture file does not contain the full device initialization sequence. By glancing over the data, I can only see RGB values (?) being set. Please be sure to capture the USB traffic while hotplugging the device, so that ROCCAT Swarm performs the full device initialization. |
I captured as much as I can, see bellow new file. Just remove .zip extension |
@nenominal Thanks again for providing the capture file! I am still unable to locate the device init sequence. Would it be possible to capture the packets that ROCCAT Swarm generates while performing a reset to factory settings? I suspect that this will reset the embedded controller and trigger a full device initialization. |
It includes 2 factory resets and different settings applied in swarm. |
@nenominal Thanks for providing the files! Seems like the device uses a totally redesigned protocol. Will take me a while to reverse this. I am working on it... |
Add (currently very limited) support for the ROCCAT Kain 2xx AIMO References #80
Implement a CRC8 polynom and init parameter reversing utility that can be used for finding checksum algos References #80
Support reading out the current battery level and the signal strength of ROCCAT Kain 2xx AIMO series devices using `eruption-hwutil`. References #80
Hi @nenominal, I have implemented a driver with a basic set of features for the The To show the device status please run the following commands: $ sudo eruption-hwutil list
$ sudo eruption-hwutil -r status <index of Kain 200 mouse> It currently supports reading the signal strength, and maybe battery levels. It would be nice if you could give this a try! |
Wow, thanks man :) I'll give it a try tomorrow and you'll have my feed-back. |
I failed to build the master build, bellow the errors I got:
|
@nenominal Looks like an outdated version of Rust. To build the Eruption |
Ok, I've updated my rustc version and I was able to build from master.
I'm not sure if the battery level is correct as swarm shows it as 60%. My bet is that battery level should be switched with signal strength |
You are right, definitely seems to be incorrect. Seems that I picked the wrong field for the battery level read out. |
Implement `blackout` command, that disables all LEDs but otherwise leaves the device fully functional Fine tune verbosity levels Cleanup driver code WIP: Battery Levels in `status` command References #80
Another try at fixing the battery level reading for the ROCCAT Kain 200/202 series mice References #80
Fix battery level reading for the ROCCAT Kain 200/202 series mice. Update mapping table References #80
@nenominal, I have pushed out another round of commits on the It would be nice if you could give this a try again! |
Still needs fixing, now it show like this
The signal strength is still read from wrong field and the battery level shows unknown but the level is correct, I think. Also, If I want to change some profiles from the Gnome extension, the daemon crash. Do you want me to open another ticket for this error?
|
@nenominal Thanks again for testing!
Yes, I see... I now have full access to a
Will take a few days to see if this table is correct. I have to complete a full charge/discharge cycle of the device.
I believe the signal strength readings to be correct. I determined the scaling factor by placing the transceiver directly beneath the mouse. When positioned this way the indicator should reach 100% signal strength. I could apply a correction factor and show a descriptive text to more closely mimic the behavior of ROCCAT Swarm.
Yes, please open up another issue for this. Please post full logs! A full backtrace of the crash would be very helpful: $ sudo RUST_BACKTRACE=full target/debug/eruption |
Update the battery levels mapping table. Some small fixes. References #80
Okay, I have gathered some more data and updated the mapping table respectively: I have seen the following raw values from the
|
Ok, I've tested with new build and now it seems the battery level is correct. On the other hand I still have some doubts about signal strength as it varies a lot, never goes up 62-63%. Also, is there a way to set the DPI? |
Excellent!
It seems that ROCCAT Swarm applies a correction factor. I will look into this...
No, not currently. but I am planning to implement this as well. |
Maybe add the battery level in the gnome's extension dropdown or show it in some place to be easy noticeable? |
Implement `devices status` subcommand, which will display device specific status values. Tighten delay timings somewhat. References #80
@nenominal, I have released a new version of the |
Yes I published it on extensions.gnome.org (v18)
Sounds good! I will implement this next |
Hello, is it possible to have the battery indicator on something like KDE ? I think plasma uses upower to fetch this data and I don't know if it's possible for you to make the battery data show up on upower ? |
Hi @Nopraz, last time I looked into supporting Plasma / writing a Plasmoid for KDE I got stuck with implementing the D-Bus based protocol to Eruption. I will look into this again as soon as I find the time... As you mentioned in your post, the best solution clearly would be to implement this stuff in upower. |
Introduction
Do you plan to add support for Roccat Kain 200/202 wireless mouse?
Describe The Problem To Be Solved
I'm more interested in battery detection so I can know when I need to recharge the mouse.
Usually I disable all the RGB crap so battery last longer.
The text was updated successfully, but these errors were encountered: