Open dali99 opened 4 years ago
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.
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
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)
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
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.
yeah buttons had to be set true even though getting buttons earlier said Enabled
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
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.
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?