public inbox for linux-mediatek@lists.infradead.org
 help / color / mirror / Atom feed
From: "Nícolas F. R. A. Prado" <nfraprado@collabora.com>
To: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Cc: chrome-platform@lists.linux.dev, linux-pm@vger.kernel.org,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Sebastian Reichel <sre@kernel.org>,
	Benson Leung <bleung@chromium.org>,
	Guenter Roeck <groeck@chromium.org>,
	Tzung-Bi Shih <tzungbi@kernel.org>,
	Pin-yen Lin <treapking@chromium.org>,
	linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: Erroneous sbs-battery sysfs info a MT8173 Chromebook
Date: Thu, 3 Oct 2024 12:08:03 -0400	[thread overview]
Message-ID: <a83e80f7-2bb8-423d-b24e-e793ce5da988@notapiano> (raw)
In-Reply-To: <6e341522-70f6-413c-b9ba-8ac86a19b5f3@gmail.com>

On Thu, Oct 03, 2024 at 06:15:49PM +0300, Alper Nebi Yasak wrote:
> Hello,
> 
> I have a MT8173 Chromebook ("Lenovo 300e") where I'm getting a lot of 
> battery-related errors:
> 
> [   34.678473] sbs-battery 6-000b: sbs_read_string_data_fallback: Returned block_length is longer than 0x20
> [   34.702079] power_supply_show_property: 5 callbacks suppressed
> [   34.702096] power_supply sbs-6-000b: driver failed to report `technology' property: -22
> [   34.754401] sbs-battery 6-000b: sbs_read_string_data_fallback: Returned block_length is longer than 0x20
> [   34.782568] sbs-battery 6-000b: sbs_read_string_data_fallback: Returned block_length is longer than 0x20
> [   34.806020] power_supply sbs-6-000b: driver failed to report `manufacturer' property: -22
> [   34.826135] power_supply sbs-6-000b: driver failed to report `technology' property: -22
> [   34.844078] sbs-battery 6-000b: sbs_read_string_data_fallback: Returned block_length is longer than 0x20
> [   34.864128] sbs-battery 6-000b: sbs_read_string_data_fallback: Returned block_length is longer than 0x20
> [   34.889015] power_supply sbs-6-000b: driver failed to report `model_name' property: -22
> [   34.895486] power_supply sbs-6-000b: driver failed to report `technology' property: -22
> [   34.945035] sbs-battery 6-000b: sbs_read_string_data_fallback: Returned block_length is longer than 0x20
> 
> These infinitely repeat because upower keeps trying to read them. I also 
> see this which might be important:
> 
> [   18.111500] cros-usbpd-charger cros-usbpd-charger.7.auto: Could not get charger port count
> [   18.197166] sbs-battery 6-000b: sbs-battery: battery gas gauge device registered
> [   18.248105] sbs-battery 6-000b: I2C adapter does not support I2C_FUNC_SMBUS_READ_BLOCK_DATA.
>                Fallback method does not support PEC.
> 
> Properties seem to be stuck to weird values (0xffff ?):
> 
>   $ for f in /sys/class/power_supply/sbs-6-000b/*; do
>       printf "$(basename "$f"):  "
>       cat "$f" 2>/dev/null || echo
>     done
>   capacity:  100
>   capacity_error_margin:  0
>   capacity_level:  Full
>   charge_full:  65535000
>   charge_full_design:  65535000
>   charge_now:  65535000
>   constant_charge_current_max:  65535000
>   constant_charge_voltage_max:  65535000
>   current_avg:  -1000
>   current_now:  -1000
>   cycle_count:  65535
>   device:
>   energy_full:  655350000
>   energy_full_design:  655350000
>   energy_now:  655350000
>   health:  Calibration required
>   hwmon2:
>   manufacture_day:  31
>   manufacture_month:  15
>   manufacturer:  
>   manufacture_year:  2107
>   model_name:
>   of_node:
>   power:
>   present:  1
>   serial_number:  ffff
>   status:  Discharging
>   subsystem:
>   technology:  Unknown
>   temp:  62804
>   time_to_empty_avg:  3932100
>   time_to_empty_now:  3932100
>   time_to_full_avg:  3932100
>   type:  Battery
>   uevent:
>   voltage_max_design:  65535000
>   voltage_min_design:  65535000
>   voltage_now:  65535000
>   wakeup10:
> 
> I suspected a hardware issue, but I can get battery info from the EC 
> just fine with the same kernel:
> 
>   $ sudo ectool battery
>   Battery info:
>     OEM name:               LGC
>     Model number:           L15L3PB
>     Chemistry   :           LiP
>     Serial number:          0E0C
>     Design capacity:        4050 mAh
>     Last full charge:       3341 mAh
>     Design output voltage   11100 mV
>     Cycle count             115
>     Present voltage         11671 mV
>     Present current         344 mA
>     Remaining capacity      2734 mAh
>     Flags                   0x06 BATT_PRESENT DISCHARGING
>   
>   $ sudo ectool version
>   RO version:    hana_v1.1.4824-d58e50539
>   RW version:    hana_v1.1.4825-1473136d99
>   Firmware copy: RW
>   Build info:    hana_v1.1.4825-1473136d99 2021-09-11 00:11:48 @chromeos-ci-firmware-us-central2-d-x32-0-jx9e
> 
> I have _another_ MT8173 Chromebook ("ASUS C202X") where things work 
> fine. But I couldn't find a good mainline kernel version for this one.
> Anyone have any idea what is going on?

FWIW, I have also experienced issues reading properties from the SBS batteries
before on chromebooks:

https://lore.kernel.org/all/924db470-8163-4454-8f59-f7372a132186@notapiano/

In those cases it was due to the EC firmware not implementing the SBS commands,
but that had already been fixed in the latest EC firmware release, so simply
updating the firmware fixed it.

I don't know how ectool works, but it might be fetching the battery properties
through a different mechanism (ie not SBS commands), so this might also be a bug
in the EC FW despite ectool working.

Thanks,
Nícolas


  reply	other threads:[~2024-10-03 16:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-03 15:15 Erroneous sbs-battery sysfs info a MT8173 Chromebook Alper Nebi Yasak
2024-10-03 16:08 ` Nícolas F. R. A. Prado [this message]
2024-10-03 22:27   ` Alper Nebi Yasak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a83e80f7-2bb8-423d-b24e-e793ce5da988@notapiano \
    --to=nfraprado@collabora.com \
    --cc=alpernebiyasak@gmail.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bleung@chromium.org \
    --cc=chrome-platform@lists.linux.dev \
    --cc=groeck@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=sre@kernel.org \
    --cc=treapking@chromium.org \
    --cc=tzungbi@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox