Skip to content
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

Support for G633 #14

Open
dali99 opened this issue Mar 31, 2020 · 8 comments
Open

Support for G633 #14

dali99 opened this issue Mar 31, 2020 · 8 comments

Comments

@dali99
Copy link

dali99 commented Mar 31, 2020

Does this program work with the G933's little brother, the G633?

If not do you know how difficult it would be to add? Or maybe you have some general pointers and gotchas?

@ashkitten
Copy link
Owner

i don't own a g633, but someone added g533 support in the past here so if it uses the same protocol there should be no issue, just add the usb device id in the same way as that did.

this headset has no battery, correct? that's the main issue i could see with it. let me know if you have problems, i can try to work out a proper fix.

@dali99
Copy link
Author

dali99 commented Mar 31, 2020

yep that's right, seems there is a feature thing for batteries so maybe very little changes are needed.

What would be the recommended way to use this on nixos? Can't exactly place the udev rule in /etc/ unless I package it I guess

@ashkitten
Copy link
Owner

i'm currently using this on nixos. you can copy the derivation from here. you may have to change the cargoSha256 depending on your nixpkgs version.

i set up udev rules here, not actually the same as the 90-logitech.rules in this project (maybe i should change that, it seems a little much to have a logitech group when i doubt it's useful to most people)

@dali99
Copy link
Author

dali99 commented Mar 31, 2020

adding

DeviceMatch {
        pid: 0x0a5c,
        name: "G633 Headset",
    },

to SUPPORTED_DEVICES just kinda, worked. At least for sidetone_volume, buttons and the equalizers stuff.

getting battery and poweroff_timeout hangs the program though

watching for buttons events doesn't seem to be working at all

@ashkitten
Copy link
Owner

watch buttons might require you to run set buttons true first

if get battery and get poweroff_timeout hang, it probably means that the headset does not support those features, which makes sense as it does not have a battery and thus does not need to power off automatically. i haven't worked on this for a while, but there might be a way to query the device for its featureset. i'll have to look into that.

@dali99
Copy link
Author

dali99 commented Mar 31, 2020

yeah buttons had to be set true even though getting buttons earlier said Enabled

@dali99
Copy link
Author

dali99 commented Mar 31, 2020

do you just reverse engineer the proprietary userspace stuff? or is the protocol documented somewhere? I want to try tweak the Automatic Gain Control for my microphone

@ashkitten
Copy link
Owner

i reverse engineered the protocol based on wireshark logs of a windows virtual machine running logitech gaming software. i've got a bunch of packet captures in the notes directory, and notes/notes.txt is where i put down observations about what various packets do. i also wrote a wireshark lua script to parse hid++, instructions to load the script are in the README.

Repository owner deleted a comment from sweeper02 Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants