Skip to content

Conversation

ModoloDev
Copy link
Contributor

@ModoloDev ModoloDev commented May 12, 2025

Changes made

Added support for Audeze Maxwell.
Battery, Sidetone. Inactive Time, Volume Limiter and Equalizer Preset capabilities.

Related to #274

Checklist

  • I adjusted the README (if needed)
  • For new features in HeadsetControl: I discussed it beforehand in Issues or Discussions and adhered to the wiki

@inorichi
Copy link

inorichi commented May 17, 2025

I'm trying it on my system, but all I get is:

❯ headsetcontrol -b
Found 1 supported device(s):
 Audeze Maxwell [0x3329:0x4b19]
Error: [battery] Could not open device. Error: Success

I also tried running the command as root to avoid permission issues, and no dice.

I installed headsetcontrol with a custom nix definition:

{pkgs, ...}: {
  environment.systemPackages = with pkgs; [
    (headsetcontrol.overrideAttrs (old: {
      src = fetchFromGitHub {
        owner = "Sapd";
        repo = "HeadsetControl";
        rev = "master";
        sha256 = "sha256-GSq6w0+L15S2m/1d1lhTBJ/f8c1wSPLSMYNG5W3Ct/w=";
      };
      patches = [
        (builtins.fetchurl {
          url = "https://patch-diff.githubusercontent.com/raw/Sapd/HeadsetControl/pull/401.patch";
          sha256 = "sha256:09g9drg1lblx0z1avf6m0gdsayzzs1n8ag9p5ac8qw19w919frn0";
        })
      ];
    }))
  ];
  services.udev.packages = [pkgs.headsetcontrol];
}

Any ideas? Maybe firmware related? I'm still running on 1.0.1.51

@ModoloDev
Copy link
Contributor Author

ModoloDev commented May 17, 2025

I'm trying it on my system, but all I get is:

❯ headsetcontrol -b
Found 1 supported device(s):
 Audeze Maxwell [0x3329:0x4b19]
Error: [battery] Could not open device. Error: Success

I also tried running the command as root to avoid permission issues, and no dice.

I installed headsetcontrol with a custom nix definition:

{pkgs, ...}: {
  environment.systemPackages = with pkgs; [
    (headsetcontrol.overrideAttrs (old: {
      src = fetchFromGitHub {
        owner = "Sapd";
        repo = "HeadsetControl";
        rev = "master";
        sha256 = "sha256-GSq6w0+L15S2m/1d1lhTBJ/f8c1wSPLSMYNG5W3Ct/w=";
      };
      patches = [
        (builtins.fetchurl {
          url = "https://patch-diff.githubusercontent.com/raw/Sapd/HeadsetControl/pull/401.patch";
          sha256 = "sha256:09g9drg1lblx0z1avf6m0gdsayzzs1n8ag9p5ac8qw19w919frn0";
        })
      ];
    }))
  ];
  services.udev.packages = [pkgs.headsetcontrol];
}

Any ideas? Maybe firmware related? I'm still running on 1.0.1.51

Maybe, I'm not sure. I've run all my tests and analysis on the latest version, 1.0.1.74

@sh-jus
Copy link

sh-jus commented May 17, 2025

The Xbox Version of this headset has an additional device id with its usb dongle
3329:4b18 Audeze LLC Audeze Maxwell XBOX Dongle - Unsure if the mapping will be the same (assuming it should be since both the playstation and xbox ones have a pc side switch on the dongle which is what we're using) but happy to test this on my end but will need to add the id to this pr.

@ModoloDev
Copy link
Contributor Author

The Xbox Version of this headset has an additional device id with its usb dongle
3329:4b18 Audeze LLC Audeze Maxwell XBOX Dongle - Unsure if the mapping will be the same (assuming it should be since both the playstation and xbox ones have a pc side switch on the dongle which is what we're using) but happy to test this on my end but will need to add the id to this pr.

Good to know. I’ve invited you as a collaborator on my fork. Feel free to make any necessary changes.

@inorichi
Copy link

I upgraded both the headset and dongle to .74 and got the same result. Probably a fault on my end but I can't think of anything if I run the program as root...

@ModoloDev
Copy link
Contributor Author

The Xbox Version of this headset has an additional device id with its usb dongle
3329:4b18 Audeze LLC Audeze Maxwell XBOX Dongle - Unsure if the mapping will be the same (assuming it should be since both the playstation and xbox ones have a pc side switch on the dongle which is what we're using) but happy to test this on my end but will need to add the id to this pr.

Good to know. I’ve invited you as a collaborator on my fork. Feel free to make any necessary changes.

I've just committed the changes with Maxwell Xbox Dongle ProductId.

@ModoloDev
Copy link
Contributor Author

I upgraded both the headset and dongle to .74 and got the same result. Probably a fault on my end but I can't think of anything if I run the program as root...

I have no idea what the problem might be. If you need me to compare anything with my application running on my PC, I’m here to help.

@inorichi
Copy link

I assume this should work too?

❯ headsetcontrol --dev -- --device 0x3329:0x4b19 --send "0x06, 0x07, 0x80, 0x05, 0x5A, 0x03, 0x00, 0xD6, 0x0C" --receive --timeout 10
No data to read

I also ran the command with strace and the proper /dev/hidraw device was opened. I guess we have to wait for a third person to confirm if it works.

@ModoloDev
Copy link
Contributor Author

I assume this should work too?

❯ headsetcontrol --dev -- --device 0x3329:0x4b19 --send "0x06, 0x07, 0x80, 0x05, 0x5A, 0x03, 0x00, 0xD6, 0x0C" --receive --timeout 10
No data to read

I also ran the command with strace and the proper /dev/hidraw device was opened. I guess we have to wait for a third person to confirm if it works.

It didn't work on my pc:

./headsetcontrol.exe --dev -- --device 0x3329:0x4b19 --send "0x06, 0x07, 0x80, 0x05, 0x5A, 0x03, 0x00, 0xD6, 0x0C" --receive --timeout 10
Failed to send data. Error: -1: WriteFile: (0x00000001) Incorrect function.

@inorichi
Copy link

What's the output of headsetcontrol --dev -- --list --device 0x3329:0x4b19?

Mine is

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: /dev/hidraw11
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell Dongle
  Interface:    0
  Usage-Page: 0xc Usageid: 0x1

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: /dev/hidraw11
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell Dongle
  Interface:    0
  Usage-Page: 0xff13 Usageid: 0x1

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: /dev/hidraw11
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell Dongle
  Interface:    0
  Usage-Page: 0xb Usageid: 0x5

I think it may have to do with the interface. I see in the PR it's 1, but in my output it's 0

@ModoloDev
Copy link
Contributor Author

ModoloDev commented May 17, 2025

Mb, I forgot about usegepage and usageid.
It still doesn't work and doesn't return data:

headsetcontrol.exe --dev -- --device 0x3329:0x4b19 --send "0x06, 0x07, 0x80, 0x05, 0x5A, 0x03, 0x00, 0xD6, 0x0C" --receive --timeout 10 --usage 0xff13:0x1
No data to read

@ModoloDev
Copy link
Contributor Author

What's the output of headsetcontrol --dev -- --list --device 0x3329:0x4b19?

Mine is

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: /dev/hidraw11
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell Dongle
  Interface:    0
  Usage-Page: 0xc Usageid: 0x1

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: /dev/hidraw11
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell Dongle
  Interface:    0
  Usage-Page: 0xff13 Usageid: 0x1

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: /dev/hidraw11
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell Dongle
  Interface:    0
  Usage-Page: 0xb Usageid: 0x5

I think it may have to do with the interface. I see in the PR it's 1, but in my output it's 0

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: \\?\HID#VID_3329&PID_4B19&MI_00&Col01#7&184a9ad1&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell HID
  Interface:    0
  Usage-Page: 0xc Usageid: 0x1

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: \\?\HID#VID_3329&PID_4B19&MI_00&Col02#7&184a9ad1&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell HID
  Interface:    0
  Usage-Page: 0xff13 Usageid: 0x1

Device Found
  VendorID: 0x3329
 ProductID: 0x4b19
  path: \\?\HID#VID_3329&PID_4B19&MI_00&Col03#7&184a9ad1&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 0000000000000000
  Manufacturer: Audeze LLC
  Product:      Audeze Maxwell HID
  Interface:    0
  Usage-Page: 0xb Usageid: 0x5

@inorichi
Copy link

Yep, that was it :).

Found 1 supported device(s):
 Audeze Maxwell (Audeze Maxwell Dongle) [0x3329:0x4b19]
Battery:
        Status: BATTERY_AVAILABLE
        Level: 71%

On Windows interface 1 may still work, but on Linux the interface 1 does not exist and that's why I was getting that error.

Thank you very much for your work :)

@ModoloDev
Copy link
Contributor Author

Yep, that was it :).

Found 1 supported device(s):
 Audeze Maxwell (Audeze Maxwell Dongle) [0x3329:0x4b19]
Battery:
        Status: BATTERY_AVAILABLE
        Level: 71%

On Windows interface 1 may still work, but on Linux the interface 1 does not exist and that's why I was getting that error.

Thank you very much for your work :)

No problem!
And thank you. I'll change the interface to 0.

@sh-jus
Copy link

sh-jus commented May 19, 2025

I've just committed the changes with Maxwell Xbox Dongle ProductId.

Apologies for the delay in getting back, long weekend!

I did end up testing this today on the latest commit 993771c on the Xbox dongle version 0x4b18 with Linux

headsetcontrol -d 0x3329:0x4b18 -b
Found 1 supported device(s):
 Audeze Maxwell (Audeze Maxwell XBOX Dongle) [0x3329:0x4b18]
Battery:
        Status: BATTERY_AVAILABLE
        Level: 74%

Everything works, Sidetone, Battery Reporting, Inactive time and EQ, confirming what I thought in that the PC mode on both dongles works the same which is great.

Thank you for your efforts on this!

..

I'll be testing this additionally on mac OS later today after work and report back.

@sh-jus
Copy link

sh-jus commented May 20, 2025

Testing shows no issues on mac OS (Sequoia 15.4.1) and all advertised functionality is working correctly.

LGTM as testing was performed on Windows, Linux and mac OS. Should be ready for review @Sapd

@Sapd Sapd merged commit 13b843f into Sapd:master May 20, 2025
5 checks passed
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

Successfully merging this pull request may close these issues.

4 participants