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
Firmware 2.0.1 breaks Kraken 2023 support #631
Comments
i have arch installed on a system with this cooler but haven't been able to install this PR😬 not familiar enough with AUR anyone got me some instructions? |
Hitting this as well with 2.0.0 firmware on Manjaro. Attached debug log for reference. |
@jklint what command were you trying to run during the capture ? If possible, include the image you were trying to upload. Any other dumps welcome as well ! |
Hi I have firmware version 2.0.0 and have the same problem
|
I used remote virtual windows machine (libvirt) with usb pass-through (and GPU pass-through because NZXT LCD needs GPU) and uploaded the same image with USB packet sniffing on Windows, it worked successfully. Hope it will help to solve the problem |
I managed to figure some parts about the data I'm including a rough patch that works for me and a image that I created for testing it |
@sophipl Thanks, I can confirm that it does work with main. However, when my lcd is set to 'liquid' mode, the static image appears and then is cleared back to 'liquid' mode value instead of staying there. Will I need to continually refresh the image? It appears the onboard firmware is fighting for control of the screen as well. |
Yes, it happens even when you use Windows software after setting in to Liquid (I can switch USB device to Windows) |
My suspicion is that when we force "liquid" state, we are making firmware of the device to do the screen updates. |
Tested this patch on my system and it appears to allow for me to set the image that was previously failing. I haven't set liquid mode since the last reboot, and image remains static with no issue. |
Can confirm. For me the patch allowed me to set a persistent static image. |
I need it back to coolercontrol so here too. Thanks for your work ! |
so theres no way to display a gif if you upgraded the device to 2.0.0 or higher atm? |
I wouldn't know, when I put gif in the manufacturer software, it seems to stream the frames. |
so, all we need is a script that splits our gif to its frames in a compatible format and applies the images to the display using liquidctl and your patch |
I took a stab at it recently. Its been working on my system. Has the ability to stream a single default gif, with optional gifs being used at threshold temps. For the time being I just leave the script running in a terminal. I will probably add it as a service eventually. |
Question regarding the bug: is this bug only seen when sending gifs to the display? Does this bug not affect the operation of the cooler (kraken 360 standard) ? |
That's right. In fact, since #673, liquidctl will stop you if you try to set an image with an unsupported firmware. |
On Firmware 2.0.0 and with the current main branch of liquidctl, i am able to display GIFs on my Kraken 2023 Elite 360. For this i have to just circumvent the firmware check... This is because 1) Did something change on the main branch which would explain this? To be honest, i never really encountered any issues, before or after firmware upgrade. I have seen a similar error about the missing message but only if i did some unnecessary reads. |
That seems to be my mistake in #673... All affected reports in this issue and elsewhere seem related to non-Elite Krakens. There is a difference between them as explained here. So there are two things to fix: |
@aleksamagicka Oh okay, that makes a lot of sense. If i change the firmware check from both Elite ( def unsupported_fw_version():
device_product_id = self.bulk_device.product_id
if device_product_id == 0x300E and self.fw[0] == 2:
_LOGGER.error(
"Setting images for NZXT Kraken 240/360 (non-Elite) is not supported on firmware 2.X.Y, please see issue #631"
)
return True
return False If this problem only affects non-Elite Krakens, i would suggest to make this change on the main branch, because in cases like mine, its just annoying that i can't control my Kraken even though i could. Its really a small change but i plan to finally do the PR relating to #606 , so in principle i could add the change regarding the firmware check. Hence, it would not be necessary to open a new PR only for this. @jonasmalacofilho What do you think about this? |
It's better to keep the two separate, as one is a fix for something on the main branch, and the other is support for new device variants (and it's not even of the same device, even though, I know, we're still talking about the same driver). |
Fair enough! So, can you do the fix on the main branch or should i make a PR for this? |
I'm working on a PR, will open soon but I want to test first. |
I'm confused, so there are no plan to handle new version of interface? |
There isn't any from my side, if that's what you're asking, as I only have the older Kraken Z53. If someone opens a PR, that would of course be appreciated. |
@sophipl, there are no plans for or against handling the new firmware versions. Contributions are most welcome. |
It reminds me of a scene in Start Trek Voyager, when captain says she feels she's getting drafted :D |
Describe the bug
The Kraken 2023 (non elite, non rgb) has had a firmware update (2.0.1 as reported by CAM) . (I think the previous version was 1.2 if I remember correctly.) CAM automatically upgraded itself without asking, so there was no choice.
Since then, setting an image using liquidctl on linux has given this error:
[ERROR] (cli) (log): NZXT Kraken 2023: unexpected error: AssertionError('missing messages (attempts=12, missing=1)')
All other functions of liquidctl seem to be unaffected.
Originally posted by @sossw in #605 (comment)
Commands executed
N/A
Output of all relevant commands with
--debug
flagN/A
Affected device
Kraken 2023 (non elite, non rgb)
Operating system and version
N/A
Installation method
N/A
Version of liquidctl
one of the final states of PR #605
The text was updated successfully, but these errors were encountered: