Skip to content

SteelSeries Arctis 9 not displaying battery when charging #330

Closed

Description

@Novattz

Description

As the title explains when my wireless Steelseries Arctis 9's are charging and i do headsetcontrol -b the output just displays "charging" and nothing else. i would like to get the battery % while also charging. I do not know if this is intended or just a limitation based on the headset but i would atleast like to get confirmation if this is intended or not and if its fixable in any other way on my end.

Headset Name

SteelSeries Arctis 9

On which OS does the problem happen?

Linux

Device information

Detailed Device Information
Device Found
 VendorID: 0x1038
ProductID: 0x12c2
 path: /dev/hidraw9
 serial_number:
 Manufacturer: SteelSeries
 Product:      SteelSeries Arctis 9
 Interface:    0
 Usage-Page: 0xffc0 Usageid: 0x1

Device Found
 VendorID: 0x1038
ProductID: 0x12c2
 path: /dev/hidraw10
 serial_number:
 Manufacturer: SteelSeries
 Product:      SteelSeries Arctis 9
 Interface:    1
 Usage-Page: 0xc Usageid: 0x1

Device Found
 VendorID: 0x1038
ProductID: 0x12c2
 path: /dev/hidraw12
 serial_number:
 Manufacturer: SteelSeries
 Product:      SteelSeries Arctis 9
 Interface:    2
 Usage-Page: 0xff00 Usageid: 0x1

Activity

  1. Sapd commented on Mar 3, 2024

    @Sapd
    Owner

    Its intended. There is a flag inside the battery variable which is set when its charging.
    Its probably possible to get the level anyway, but it will most likely deviate/jump extremely (for example you would plug it in, charge will instantly go to 20%, you plug it out it would plumbed).
    Thats because (in comparison to for example smartphones), battery value is often just derived from voltage, which is highly inaccurate. Smartphones count it by measuring the amount of energy (ampers cumulated) went through.

  2. Novattz commented on Mar 3, 2024

    @Novattz
    Author

    Its intended. There is a flag inside the battery variable which is set when its charging. Its probably possible to get the level anyway, but it will most likely deviate/jump extremely (for example you would plug it in, charge will instantly go to 20%, you plug it out it would plumbed). Thats because (in comparison to for example smartphones), battery value is often just derived from voltage, which is highly inaccurate. Smartphones count it by measuring the amount of energy (ampers cumulated) went through.

    since u mentioned that its possible is it something that could be added? i dont really care if its inaccurate i just want a general percentage so it doesnt just say "charging"

  3. Sapd commented on Mar 7, 2024

    @Sapd
    Owner

    since u mentioned that its possible is it something that could be added? i dont really care if its inaccurate i just want a general percentage so it doesnt just say "charging"

    Possibly yes. You will have to take a look here:

    if (data_read[4] == 0x01)

    Problem is a bit, that the function currently can only return one thing (either the level or a status information). I can change that in the next version

  4. Sapd commented on Mar 14, 2024

    @Sapd
    Owner

    When looking at it again, you can simply "fix it" for now, by just removing

        if (data_read[4] == 0x01)
            return BATTERY_CHARGING;
    

    I first thought that it is saved as flag, but it is saved in a different byte so just removing that two lines should be sufficient.

  5. Sapd commented on Mar 21, 2024

    @Sapd
    Owner

    I implemented it in: #333

    Will be released in around two weeks I think

  6. Sapd commented on Apr 1, 2024

    @Sapd
    Owner

    Released in latest version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions