Repository navigation
HeadsetControl reports that my command was successful, but nothing actually happens. #396
Description
Activity
That is really weird.
Could you make here:
A small printf statement and recompile?
printf('test\n');Then check if test is outputted?
I hope I did it right:
now I get this after running the "make" command:
/home/user2540/Downloads/HeadsetControl/src/devices/roccat_elo_7_1_air.c: In function ‘send_receive’:
/home/user2540/Downloads/HeadsetControl/src/devices/roccat_elo_7_1_air.c:55:8: warning: multi-character literal with 5 characters exceeds 'int' size of 4 bytes
55 | printf('test\n');
| ^~~~~~~~
/home/user2540/Downloads/HeadsetControl/src/devices/roccat_elo_7_1_air.c:55:8: error: passing argument 1 of ‘printf’ makes pointer from integer without a cast [-Wint-conversion]
55 | printf('test\n');
| ^~~~~~~~
| |
| int
In file included from /home/user2540/Downloads/HeadsetControl/src/devices/roccat_elo_7_1_air.c:4:
/usr/include/stdio.h:363:43: note: expected ‘const char * restrict’ but argument is of type ‘int’
363 | extern int printf (const char *__restrict __format, ...);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
make[2]: *** [CMakeFiles/headsetcontrol.dir/build.make:429: CMakeFiles/headsetcontrol.dir/src/devices/roccat_elo_7_1_air.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:164: CMakeFiles/headsetcontrol.dir/all] Error 2
make: *** [Makefile:146: all] Error 2I downgraded to HeadsetControl 2.7.0 and it seems to work correctly
Sorry, must be:
printf("test\n");I downgraded to HeadsetControl 2.7.0 and it seems to work correctly
Is the bug already there with 3.0.0?
3.0.0 also works correctly
Sorry, must be:
printf("test\n");I did that and recompiled it without any errors. Should I get a log file somewhere or something?. I have no idea what to do now :D
Sorry, must be:
printf("test\n");I did that and recompiled it without any errors. Should I get a log file somewhere or something?. I have no idea what to do now :D
No just run the command, it should display test somewhere.
@nicola02nb If test is not displayed for him, it could be some issue with the multiple device support
@nicola02nb If test is not displayed for him, it could be some issue with the multiple device support
Seems like... I'll give it look as soon as I can
Reacted by Denis ArnstJust probably found out the issue there:Lines 1080 to 1081 in 7545874
if (!device_check_ids(devices_found[i].device, selected_vendor_id, selected_product_id)) continue; The not!should be removedActually that not
!was correct... actually the problem is when theselected_vendor_idandselected_product_idaren't specified as args and are both0by default.So when it's time to run the actions, the program will skip every device due to
device_selectedvendorIdandproductIdare diferent fromselected_vendor_idandselected_product_idwhich are0.@ogmicco Can you try again with the latest master?
I had the same problem and the fix in PR #397 resolved this 👍.
On an slightly unrelated note, it seems that there's now a different (CRLF?) line terminator after reporting the command status? I see it from the screenshot in the initial reporting here, and I've also noticed the output changing at some point recently:
That's strange, I'm not getting that... can you try using the test device?
headsetcontrol --test-device -l 0 -d 0xf00b:0xa00cApologies, it's actually missing a line terminator, which is what zsh is probably indicating that it has inserted (?). Bash does not show this behavior, it just shows the prompt on the same line as the "Successfully set lights!" message afterwards.
Looks like this changed the output print, where it used to have a trailing
\n, but now doesn't:28cf1b7#diff-cc249218afaaaa3e80151edd87d145b5e8f81f7d43f581f5d81e18bee9e4e96dR800
Not a big deal at all, just something I noticed. I didn't mean to hijack the issue thread over that! 😅
@ogmicco Can you try again with the latest master?
it seems to work now 👌
Apologies, it's actually missing a line terminator, which is what zsh is probably indicating that it has inserted (?). Bash does not show this behavior, it just shows the prompt on the same line as the "Successfully set lights!" message afterwards.
Looks like this changed the output print, where it used to have a trailing
\n, but now doesn't:28cf1b7#diff-cc249218afaaaa3e80151edd87d145b5e8f81f7d43f581f5d81e18bee9e4e96dR800
Not a big deal at all, just something I noticed. I didn't mean to hijack the issue thread over that! 😅
Indeed thanks, there should always be a line terminator. Added it back #404



Description
HeadsetControl reports that my command was successful, but nothing actually happens. For example my headset led is still on, even tho I ran the command to disable it
Headset Name
Roccat Elo Air
On which OS does the problem happen?
Linux
Device information
Detailed Device Information