Code Monkey home page Code Monkey logo

Comments (19)

Sapd avatar Sapd commented on August 19, 2024

You can try this
HeadsetControl-Windows.zip

I just compiled it using msys2 and mingw. It runs fine without an headset, but as I don't have a headset here, I can't test it fully. So report back if it works or doesn't.

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

I get this output:
C:\Users\MyName\Downloads\HeadsetControl-Windows>HeadsetControl -s 0
Found Logitech g933-935 Wireless!

Failed to set sidetone. Error: -1: Incorrect function.

from headsetcontrol.

KrDimitrov avatar KrDimitrov commented on August 19, 2024

Same on my windows pc!

from headsetcontrol.

Sapd avatar Sapd commented on August 19, 2024

Could be that the size of the data is not correct.
See signal11/hidapi#135 Windows seems to be more strict.

In the download page of hidapi, there is a hidapi-externals.zip here. Download it and run the testgui. Then check what reportID 0x11 expects.

It is also a good idea to check the other features (LED and battery).

This is btw how I compiled:

  1. Install http://www.msys2.org and the packages it shows on the site with pacman
    2.pacman -Su
    3.pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-hidapi make git
  2. Open a new window of msys2, when asked, choose mingw 64 bit
  3. cd into the project and create a build folder and cd into it
  4. cmake -G"MSYS Makefiles" ..
  5. make

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

Could not get feature report from device. Error reported was: Incorrect function.

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

is this what i'm supposed to do

from headsetcontrol.

Sapd avatar Sapd commented on August 19, 2024

@RandomOofer
Try this with the 4 different endpoints in the GUI (connect each one of them beforehand).
For each of them, insert this 0x11,0xff,0x07,0x1a,20 and press Send Feature Report

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

Disabling voicemeeter got me further.
046d:0a87
0x11: Incorrect function
0xff: The parameter was incorrect
0x07: The parameter was incorrect
0x1a: The parameter was incorrect
20: The parameter was incorrect

from headsetcontrol.

Sapd avatar Sapd commented on August 19, 2024

Did you insert them one-by-one? You have to insert it as one line besides the button Send Feature Report and click this button. But make sure to try the different connections which you can select in the first box.

You can also try this:
0x11,0xff,0x07,0x1a,20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

0x11,0xff,0x07,0x1a,20 didn't work on any, reporting Incorrect function.
0x11,0xff,0x07,0x1a,20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, reporting incorrect function.

from headsetcontrol.

Sapd avatar Sapd commented on August 19, 2024

I think I have an idea, can you try this? (It will ask for sidetone level)

HeadsetHidTest.zip

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

Enter wished sidetone level (100 max): 5
Try: 1
HID enumeration failure.

from headsetcontrol.

Sapd avatar Sapd commented on August 19, 2024

Ooops, I specified the wrong vendor/deviceid in code no surprise. Always a bit hard to do something like that remotely.
Binary with the correct deviceid:
HeadsetHidTest.zip

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

IT WORKED!
HeadsetHidTest.exe
Enter wished sidetone level (100 max): 0
Try: 1
Device - interface: 3 - usage_page: c
Failed Incorrect function.
Try: 2
Device - interface: 3 - usage_page: b
Failed Incorrect function.
Try: 3
Device - interface: 3 - usage_page: ff43
success!!
Try: 4
Device - interface: 3 - usage_page: ff00
Failed Incorrect function.
Try: 5

from headsetcontrol.

Sapd avatar Sapd commented on August 19, 2024

Ah then I wasn't wrong. For some reason, Windows uses a different endpoint by default. After my tests the interfaceId remains the same and the endpoint can only be distinguished by the variable usage_page. The correct endpoint for my old G930 was ff00. The correct for your device seems to be ff43.
Also I had to adjust the amount of bytes sent to the correct amount, as Windows is very strict here.

According to my tests, there are practically these errors:

  1. Incorrect function -> The endpoint is wrong, or the reportid (the first byte in the data) is wrong
  2. Wrong parameter -> Wrong amount of bytes sent or wrong bytes

Currently the software does not support searching for usage_page, so there is no quick fix. I will probably implement it soon after new year.

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

To add, that file you made keeps the sidetone even after restart.

from headsetcontrol.

Sapd avatar Sapd commented on August 19, 2024

I think that's because of Windows.

I now updated the software, you can now try this
headsetcontrol-win-rel.zip

from headsetcontrol.

Rosentti avatar Rosentti commented on August 19, 2024

Every function works. Also the sidetone settings being kept is lovely. Thank you for being so much assistance. You can ask me later if any new features need testing.

from headsetcontrol.

Sapd avatar Sapd commented on August 19, 2024

Thank you for testing! #62

from headsetcontrol.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.