Vulcan TKL support?
Does this have support for the new Roccat Vulcan TLK and TKL Pro?
Hi! The ROCCAT Vulcan TKL series keyboards are not supported yet. I would like to add support for these devices but I don't have the hardware available to test on. If you have access to one of these devices, and are willing to assist, I would need a trace of the device initialization sequence as performed by ROCCAT Swarm, e.g. captured via Wireshark.
Once mine ships from Germany I will get around to giving you the output.
On a similar question about device compatibility, what was the status with the Roccat Nyth? I tried recently to use the feature set to do with mice but it didn't seem to want to recognise anything.
Ok so how do I get the needed data for the TKL? MIne arrived this morning.
Please refer to this wiki article on how to get the required protocol traces: https://github.com/X3n0m0rph59/eruption/wiki
On a similar question about device compatibility, what was the status with the Roccat Nyth? I tried recently to use the feature set to do with mice but it didn't seem to want to recognise anything.
The ROCCAT Nyth should be recognized by Eruption, but the state of the driver is experimental at best. Can you post logs of Eruption? (Please open up a separate issue for this)
sudo journalctl -u eruption.service -b
Roccat TKL linear switches Should be USB device 27, on hub 1. Hope this is what you require.
The capture looks good! Thank you very much!
I have implemented a driver module for the ROCCAT Vulcan TKL series keyboards, based on the driver for the ROCCAT Vulcan 1xx series keyboards.
You may want to run eruption-debug-tool first, to test if the new driver is at least able to initialize your device.
$ sudo eruption-debug-tool list
$ sudo eruption-debug-tool run-tests <device-index of your Vulcan TKL, subdev 0>
Do you want to build from source, or do you prefer me to build a package for you?
I would appreciate an arch PKG build if possible. I haven't really worked out how to install the drivers from source.
I have updated the PKGBUILD now on the master branch.
To build a package from the current state of the master branch please perform these steps:
- Unzip the attached files from eruption-PKGBUILD.zip
- Run
makepkg -crsiinside the unzipped directory - Run the command
sudo systemctl unmask eruption.service && sudo systemctl restart eruption.serviceto restart the daemon
So it would appear the daemon is panicking
Please stop the Eruption daemon prior to running this tool:
$ sudo systemctl mask eruption.service && sudo systemctl stop eruption.service
You can re-enable Eruption with this command afterwards:
$ sudo systemctl unmask eruption.service && sudo systemctl start eruption.service
Index: 00: ID: 1e7d:2fee ROCCAT/ROCCAT Vulcan TKL Subdev: 0
The application panicked (crashed).
Message: Could not open LED sub-device: OpenHidDeviceError
Location: eruption-debug-tool/src/hwdevices/mod.rs:113
Backtrace omitted.
Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
Aborted
Thanks for testing!
Did you run sudo systemctl mask eruption.service && sudo systemctl stop eruption.service prior to running the eruption-debug-tool? Otherwise the control device and maybe the LED device will be locked by eruption.
Could you please post the output of:
$ sudo eruption-debug-tool list
I chedked the dmsg logs, found this
Jan 16 11:28:41 malleus eruption[1144194]: WARN eruption::hwdevices::roccat_vulcan_tkl > Outdated firmware version: 115, should be: >136
Thanks for reporting this, I just corrected the current firmware revision of the ROCCAT Vulcan TKL series keyboard to be 115.
The revision of 136 does only apply to the ROCCAT Vulcan 1xx series keyboards.
Do you notice a change in behavior when you select a different sub device when running eruption-debug-tool run-tests?
Is the driver able to set the LED colors when you specify a different sub-device of your ROCCAT Vulcan TKL?
Only sub device 3 crashes. the others just seem to set the colour of the keyboard to the random rainbow pattern that is the default.
Only sub device 3 crashes. the others just seem to set the colour of the keyboard to the random rainbow pattern that is the default.
It should initialize the device to AIMO mode, and show a red and blue test pattern.
Did the Wireshark capture file that you made capture the initialization sequence to AIMO mode, or did it capture initialization to the rainbow pattern?
Could you please do a second capture of the device being initialized by Swarm to AIMO mode? I am especially looking for captures of the packets starting with "0xa1, 0x01, 0x01, 0xb4", which should be fairly large and set the color of each of the LEDs on the keyboard device. These packets were missing from the first capture file, so it could very well be that it just contained initialization to the rainbow pattern.
@Madcliff I just pushed out the latest changes to the driver code. The Wireshark capture that you created seems to be equivalent to the initialization sequence of the ROCCAT Vulcan 100/12x series devices (into rainbow mode).
I now changed the ROCCAT Vulcan TKL driver to use the init sequence of the ROCCAT Vulcan 100/12x keyboards (into AIMO mode). There is at least a slight chance that this will work.
You may compile the latest release using this PKGBUILD: eruption-PKGBUILD.zip
(The eruption daemon as well as the eruption-debug-tool are using the latest code)
That package just seems to break everything. Had to revert to package 18.4 to get the drivers working again
@Madcliff Then could you please try again to capture the init sequence into AIMO mode, as done by ROCCAT Swarm?
I will do! Just taking some time to do it because I need to remember how to enable the USB listener before I run Qemu.
Sent from Mailspring (https://getmailspring.com/), the best free email app for work On Jan 21 2021, at 11:55 am, X3n0m0rph59 [email protected] wrote:
@Madcliff (https://github.com/Madcliff) Then could you please try again to capture the init sequence into AIMO mode, as done by ROCCAT Swarm? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub (https://github.com/X3n0m0rph59/eruption/issues/37#issuecomment-764593041), or unsubscribe (https://github.com/notifications/unsubscribe-auth/ACVAXJQMFCOQ7KONTIFL67DS3AI2XANCNFSM4VNNB2ZA).
Device 1.13 is the TKL. I set it into snake mode first, and then into AIMO wireshark-tkl.zip
@Madcliff Thank you very much! I have updated eruption as well as eruption-debug-tool, according to the new Wireshark capture file.
You may use the eruption-debug-tool, as described above, to try to initialize the ROCCAT Vulcan TKL to a red/blue test pattern.
Still a no go. Will give it another go after the weekend is over.
INFO eruption > Starting Eruption - Linux user-mode input and LED driver for keyboards, mice and other devices: Version 0.1.19 INFO eruption > Loading saved state... WARN eruption::state > Invalid saved state: slot_names INFO eruption > Registering plugins... INFO eruption::plugin_manager > Registering plugin: Keyboard - Keyboard related functions INFO eruption::plugin_manager > Registering plugin: Mouse - Mouse related functions INFO eruption::plugin_manager > Registering plugin: Macros - Inject programmable keyboard and mouse events INFO eruption::plugin_manager > Registering plugin: Introspection - Provide runtime status of the Eruption daemon INFO eruption::plugin_manager > Registering plugin: Persistence - A storage and persistence layer for Lua Scripts INFO eruption::plugin_manager > Registering plugin: Profiles - Switch profiles based on system state INFO eruption::plugin_manager > Registering plugin: System - Basic system information and status INFO eruption::plugin_manager > Registering plugin: Sensors - Query system sensor values INFO eruption::plugin_manager > Registering plugin: Audio - Audio related functions INFO eruption::plugins::persistence > Loading persistent state data from disk... INFO eruption > Plugins loaded and initialized successfully INFO eruption > Enumerating connected devices... INFO eruption::hwdevices > Found supported keyboard device: 0x1e7d:0x2fee (0001:000a:00) - ROCCAT ROCCAT Vulcan TKL INFO eruption::hwdevices::roccat_vulcan_tkl > Bound driver: ROCCAT Vulcan TKL INFO eruption::hwdevices > Found supported mouse device: 0x1e7d:0x2e7c (0001:0007:00) - ROCCAT ROCCAT Nyth INFO eruption::hwdevices::roccat_nyth > Bound driver: ROCCAT Nyth INFO eruption > Opening keyboard device... INFO eruption > Initializing keyboard device... INFO eruption > Configuring keyboard LEDs... INFO eruption > Firmware revision: 115 INFO eruption > Spawning keyboard input thread... INFO eruption > Opening mouse device... INFO eruption > Now listening on keyboard: /dev/input/event30 INFO eruption > Input device name: "ROCCAT ROCCAT Vulcan TKL" INFO eruption > Input device ID: bus 0x3 vendor 0x1e7d product 0x2fee INFO eruption > Physical location: usb-0000:00:14.0-1.1.2/input0 INFO eruption > Grabbing the keyboard device exclusively INFO eruption > Initializing mouse device... INFO eruption > Configuring mouse LEDs... INFO eruption > Firmware revision: 138 INFO eruption > Spawning mouse input thread... INFO eruption > Device enumeration completed INFO eruption > Performing late initializations... INFO eruption > Initializing D-Bus API... INFO eruption > Late initializations completed INFO eruption > Startup completed INFO eruption > Switching to profile: mcliff-matrix.profile INFO eruption > Now listening on mouse: /dev/input/event21 INFO eruption > Input device name: "ROCCAT ROCCAT Nyth Mouse" INFO eruption > Input device ID: bus 0x3 vendor 0x1e7d product 0x2e7c INFO eruption > Physical location: usb-0000:00:14.0-1.1.1/input0 INFO eruption > Grabbing the mouse device exclusively ^C INFO eruption::plugins::persistence > Storing persistent state data to disk... INFO eruption > Exiting now
So I will be honest, I suspect the TKL and the Regular keyboard config's are clashing and this is meaning I cannot control the keyboard.
When I force restart the demon the keys get to a strange flickering pattern rather than whatever profile is set.
Hi, I ordered a Vulcan Pro TKL that should arrive tuesday. In the meantime I set up the development environment on my Ubuntu-20.10 system and is able to build the master branch using
cargo build --all --release
so I can aid with debugging once I get the keyboard if you'd like.
@RoggeHaj Much appreciated, thanks!
I am currently working on full support for the ROCCAT Vulcan Pro TKL keyboard. Will push the latest changes to the master branch in a few days.
I hope that this work will aid in getting the ROCCAT Vulcan Pro and the ROCCAT Vulcan TKL supported too.
@RoggeHaj I have just pushed out the latest changes to the master branch. We now have working (experimental) support for ROCCAT Vulcan Pro TKL series keyboards!
I will give this a test once I get my system working again! Ended up without a computer due to reasons!
Sent from Mailspring (https://link.getmailspring.com/link/[email protected]/0?redirect=https%3A%2F%2Fgetmailspring.com%2F&recipient=cmVwbHkrQUNWQVhKU1NENUJNR1ZFT0c1RkdMQUY2RVQ1VFRFVkJOSEhDNFFGNFFNQHJlcGx5LmdpdGh1Yi5jb20%3D), the best free email app for work On Feb 2 2021, at 9:24 am, X3n0m0rph59 [email protected] wrote:
@RoggeHaj (https://link.getmailspring.com/link/[email protected]/1?redirect=https%3A%2F%2Fgithub.com%2FRoggeHaj&recipient=cmVwbHkrQUNWQVhKU1NENUJNR1ZFT0c1RkdMQUY2RVQ1VFRFVkJOSEhDNFFGNFFNQHJlcGx5LmdpdGh1Yi5jb20%3D) I have just pushed out the latest changes to the master branch. We now have working (experimental) support for ROCCAT Vulcan Pro TKL series keyboards! — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub (https://link.getmailspring.com/link/[email protected]/2?redirect=https%3A%2F%2Fgithub.com%2FX3n0m0rph59%2Feruption%2Fissues%2F37%23issuecomment-771494430&recipient=cmVwbHkrQUNWQVhKU1NENUJNR1ZFT0c1RkdMQUY2RVQ1VFRFVkJOSEhDNFFGNFFNQHJlcGx5LmdpdGh1Yi5jb20%3D), or unsubscribe (https://link.getmailspring.com/link/[email protected]/3?redirect=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACVAXJVSY3HYDMMTEMO33VDS47ADTANCNFSM4VNNB2ZA&recipient=cmVwbHkrQUNWQVhKU1NENUJNR1ZFT0c1RkdMQUY2RVQ1VFRFVkJOSEhDNFFGNFFNQHJlcGx5LmdpdGh1Yi5jb20%3D).
@Madcliff Ok, thank you! I will update the code to support the "non Pro" variant of the ROCCAT Vulcan TKL with mostly the same code as the Pro variant. But please don't expect too much! I can't promise that it will work, since I can only test on the Pro variant of the keyboard.