protonscr

Excessive battery wear

steamvropen
ValveSoftware/SteamVR-for-Linux#162 · opened 2018-12-13 by h1z1 · updated 2019-04-07 · 3 comments · github
Hh1z1 2018-12-13 github

Your system information

  • Steam client version (build number or date): Dec 8 2018
  • Distribution (e.g. Ubuntu): CentOS
  • Graphics driver version (run nvidia-settings): 396.54.09
  • Gist for SteamVR System Information: NA
  • Opted into Steam client beta?: Yes
  • Opted into SteamVR beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

As a result of controllers lacking battery management they prematurely lose charge and capacity over time. They will stop charging completely if left plugged in until either exhausting their battery or manually disconnect/reconnecting. Both cases ultimately cause the same event.

What should happen is either the hardware or software tracks available power and adjusts as needed to maintain a float voltage.

Steps for reproducing this issue:

  1. Plugin controller, confirm battery charge needed (orange/red LED)
  2. Wait for charge cycle to appear complete
  3. Disconnect and reconnect controller
  4. Observe charge process continues
  5. Repeat 2-5 as needed until reconnectiong results in full charge indication within a short period (few seconds).

Second Test

  1. Plugin controller, confirm battery charge needed
  2. Wait for charge cycle to appear complete
  3. Do not disconnect, leave plugged in
  4. Wait ... depending on battery health 24-48 hours, or more
  5. Observe battery dies, USB disconnect/reconnects to host
  6. Charging process restarts

Though it should, test 2 may or may not result in a red LED. Further indicating the charge circuitry is poorly implemented.

There is no known (public at least) API exposed to gather battery voltage which makes this way more difficult then it should be. Idealy battery conditioning of some kind should be possible (also refered to as battery calibration).

Perhaps related is vrmonitor believes the controllers are in standy which is clearly not the case.
image

Hh1z1 2019-01-28 github

Seriously no reply to this at all?

Rrobobenklein 2019-04-04 github

This seems suspiciously similar to a phone charging issue I have, though I have not seen this problem with VR controllers.

Leaving the phone on the charger for more than 24hrs will cause it to come off the charger without a full battery, too long (a week?) at it'll die as soon as the charger disconnects.

Leaving it unplugged during the day (even when not in use) and only charging overnight appears to have mitigated the issue with the phone. (It's an old battery...)

Haven't seen the issue with controllers (though I haven't left them charging for more than 48hrs at a time), but it seems similar enough that it might be the same underlying cause with a weird charging circuit logic.

Hh1z1 2019-04-07 github

It's indeed a mix of hardware and software problem.

I've been able to confirm part of the the reason for the power draw happens because of steam polling them or something. It's like leaving your car lights on, eventually you'll kill your battery. It happens with them supposedly turned off (physical light is off and vrmonitor shows grey).

HTC's own adapter does the same thing wrt power draining though it supports quickcharge, something that isn't happening in linux (the power never goes above 100mA). The charge controller can be accessed from Linux if Steam adds support for it.

Nothing extracted yet.