Invalid status message with Kraken X42
Closed this issue · 14 comments
The device is successfully connected, but the updates halt due to an invalid status message.
$ sudo dmesg
...
[178009.972879] kraken_x62 1-9:1.0: device connected
[178009.972929] usbcore: registered new interface driver kraken_x62
...
[178010.973818] usb 1-9: received invalid status message: 04 1a 09 01 f3 05 1a 00 00 00 ff 02 00 01 08 00 00
...
[178011.972869] usb 1-9: halting updates: last update failed: 1
(Thanks to @mo3pheus for testing the device.)
Hi - couple of things:
I tried to update color of the kraken using the a miniusb connected to a windows laptop - and that works - but only as long as the laptop is connected on that line. This obviously isn't a sustainable solution because we can't have the usb tethered.
Thank you for the update - I will pull the most recent commit and try. I was wondering should I follow the same process of removing and reinstalling the kraken ?
Yes, temporarily removing the usbhid
module is still necessary for the device to connect properly.
I have added a section to the README specifically to explain this, as both you and I have this same issue so it's likely that others might, too.
One more question - initially when I did the uninstall and reinstall I did it with kraken_x62 as the command. Should I change it now to kraken_x42 ? My initial impression was that the first time around we were installing the driver for X62 and hoping to control the x42 as long as it was connected on the usb and recognized. I see in your commit that you've added a separate footer for x42 so I was wondering if the installation instructions also changed.
kraken
is the driver for X31, X41, and X51.
kraken_x62
is the driver for M22, X42, X52, X62, and X72.
See in the README.
So you should still use kraken_x62
.
The separate footer just refers to the last part of the USB messages the device sends to the computer in its status messages.
Ok - I pulled up to the latest commit removed kraken and installed again. Still observing the same behavior - no error thrown but can't modify color of the ring or logo
- What is the output of
cat /sys/bus/usb/drivers/kraken_x62/$DEVICE/update_interval
- Do you have root permissions to write to the attribute files? Have you tried for example using
tee
echo 'static 1 fixed * * * * f0f' | sudo tee /sys/bus/usb/drivers/kraken_x62/$DEVICE/led_logo
- If you are using proper permissions, have you tried setting the fan speed?
-
cat /sys/bus/usb/drivers/kraken_x62/$DEVICE/update_interval
Output - 0 -
I do have permissions to write to the attribute files
/sys/bus/usb/drivers/kraken_x62/1-9:1.0$ echo 'static 1 fixed * * * * f0f' | sudo tee /sys/bus/usb/drivers/kraken_x62/1-9:1.0/led_logo
[sudo] password for sanket:
static 1 fixed * * * * f0f -
echo '470' | sudo tee /sys/bus/usb/drivers/kraken_x62/1-9:1.0/fan_rpm
tee: '/sys/bus/usb/drivers/kraken_x62/1-9:1.0/fan_rpm': Permission denied
470 -
echo 'static 1 fixed * * * * f00 ff8000 ff0 80ff00 0f0 00ff80 0ff 0080ff' | sudo tee leds_ring
static 1 fixed * * * * f00 ff8000 ff0 80ff00 0f0 00ff80 0ff 0080ff
but color does not change.
Hmm. update_interval
being 0 means that the driver's update cycle was halted. Are you sure there was no error message thrown, like before? I.e. received invalid status message
and halting updates: last update failed
in the logs from dmesg
.
The reason the colours don't change is probably because of halted updates, so any error messages from dmesg
would hopefully shed some light on it. Try
sudo dmesg | grep -F 'usb 1-9:'
Also, fan_rpm
is a read-only attribute (see section Monitoring the fan in the docs), because it's only for monitoring the fan. To set it, you need to use fan_percent
, which is write-only (see section Setting the fan).
Yes you were right.
sudo dmesg | grep -F 'usb 1-9:'
[sudo] password for sanket:
[ 2.616021] usb 1-9: new full-speed USB device number 6 using xhci_hcd
[ 2.757001] usb 1-9: New USB device found, idVendor=1e71, idProduct=170e
[ 2.757002] usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.757003] usb 1-9: Product: NZXT USB Device
[ 2.757004] usb 1-9: Manufacturer: NZXT.-Inc.
[ 2.757004] usb 1-9: SerialNumber: 5D822463333
[ 360.724761] usb 1-9: received invalid status message: 04 1c 00 01 ce 04 c6 00 00 00 10 02 00 01 08 00 00
[ 361.724062] usb 1-9: halting updates: last update failed: 1
Please try with the most recent commit.
The latest commit works - thank you so much!! I can not express how amazing it is to be able to keep windows out of this machine!!
If there is anyway I can help you - please let me know. Although I mostly code in java.
Hopefully once I get a good understanding of the attributes, I can write a java application that will provide a gui and generate the modification commands and apply them.
That's very nice to hear. It's sometimes hard to figure out how these devices work, as there is no open specification and you have to reverse-engineer.
As I've said before, the interface of the driver is still not stable, I'm still planning to make some changes to it. In particular, I'm planning to separate the dynamic updates into a daemon frontend (see jaksi#6 (comment) for some elaboration). I would appreciate any input about how best to do that.
Hey I had a question - Is there a way for the karken to persist its last setting ? Currently if I power down my PC, after restart there is no driver installed. So I have to go through the full process of building the repo, installing the driver, removing the usb hid and then setting the colors. I don't mind - since I don't restart/ shutdown the system often but I was just curious.
Its much better than being stuck with a single color kraken.
I've added how to permanently install the driver to the README, see in section Installation.
I've also added a section with how to permanently fix the issue with usbhid
, see Troubleshooting kraken_x62
.