Xperia 10iii suddenly stopped charging while in kernel

REPRODUCIBILITY: 100% once the problem starts, even after a full shutdown.
OS VERSION: 4.4.0.68 (latest at time of writing)
HARDWARE: Xperia 10iii - xqbt52
UI LANGUAGE: English
REGRESSION: No point of comparison (well, it’s the first version running here)

DESCRIPTION:

My Xperia 10iii was hit with the same problem as in this other post and will only charge while running the bootloader, not while running the Sailfish OS Linux Kernel.

PRECONDITIONS:

Note that, it didn’t happen out of the box, it only started happening since last night.
Charger is out of question because it works with multiple other devices, and charging fails with any of the other devices that have worked in the past (see details at end of this post).
Only thing of notice in the past is that the Xperia 10iii specifically seems unable to negotiate USB-PD with the first charger, I don’t if that past “no USB-PD” bug of the charging circuit is linked to current “not charging at all” bug, of it the current bug has happened independently.

STEPS TO REPRODUCE:

  1. Turn phone on
  2. Wait for Linux kernel to boot (either regular Sailfish OS or “play dead” mode)
  3. Plug cable
  4. Pop-up say “Charging…”, status icon shows plugged-in an charging.

EXPECTED RESULT:

Battery should charge.

ACTUAL RESULT:

Battery not charging.
(Reported in both Chargemon and Battery Buddy, confirmed with Watt-meter of Pirl charger)

MODIFICATIONS:

Battery buddy’s background service isn’t running (so it’s not its charging limitation going wrong).
Chargemon self installed (so I can get status directly from the UI, instead of probing /sys/ from the console.
I don’t know which other could be relevant.

ADDITIONAL INFORMATION:

  • I plugged it to the same USB-C charger as usual.
    • which mostly works except that the phone fails to properly negotiate USB-PD 9V over it, same cycling like XA2 over USB QC3
    • that charger’s USB-C PD has worked flawlessly with a Pinecil soldering pen in the past, so it’s definitely not a charger problem (its USB-C PD works with other devices).
    • that charger just before was successfully charging my Pinebook Pro (USB-C 5V ~@2.5 A), so it’s still known good.
  • noticed the “charging” icon, before going to sleep.
  • this morning I worke up and noticed that the battery has dropped to ~50% percent.
    • probing with more advanced tools (e.g.: as self compiled kimoli’s chargemon) shows the phone going from “Discharging” to “Not Charging” instead of “Charging”, and 0amp pulled from the charger.
  • trouble has persisted:
    • despite trying multiple chargers where it has previously worked (car charger, USB port of car onboard computer, Pirl charger), battery has dropped to 30% instead.
    • even trying “play dead mode” (booting in charging only mode) battery doesn’t charge when the “plugged in” animation shows.
    • it survives even a full power down (holding VolUp + Power until 3x vibration)
  • further investigation with the Pirl charger (has a Watts monitor)
    • while booting (during “phone unlocked” message), Smartphone pulls 2.3W (charging 5V ~@450mA)
    • as soon as the Linux kernel boots, power usage goes to 0.
    • further re-plugging, power usage stays at 0.4W (5 <@100mA)
  • Work around of staying in bootloader (e.g.: going to fastboot mode “blue LED” with VolUp + cable) keeps charging at 2.3W

To me, it seems that the kernel driver of the charging circuit has hit some weird corner case / error code.

I’m currently waiting to top up the battery in boot-loader “blue LED” mode, I’ll try investigating further after than.

1 Like

Journal log doesn’t reveal anything critical while plugging the cable in, except for the status switching from “Discharging” to “Not Charging” (confirmed on the Watt meter of the Pirl):

# journalctl --follow
-- Logs begin at Mon 2022-08-08 21:09:21 CEST. --
Aug 08 21:23:39 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:40 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:40 Xperia10III kernel: rpmh_rsc_send_data: 3 callbacks suppressed
Aug 08 21:23:40 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:41 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:41 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:42 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:42 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:43 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:44 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:45 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:45 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:45 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:45 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:45 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:45 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:45 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:45 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:45 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:46 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:46 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:46 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:47 Xperia10III kernel: sec_ts 1-0048: [sec_input] sec_ts_read_event: STATUS 1d 69 1 0 0 0 0 0
Aug 08 21:23:47 Xperia10III kernel: sec_ts 1-0048: [sec_input] sec_ts_read_event: STATUS 1d 69 0 0 0 0 0 0
Aug 08 21:23:47 Xperia10III kernel: sec_ts 1-0048: [sec_input] sec_ts_read_event: STATUS 1d 69 1 0 0 0 0 0
Aug 08 21:23:47 Xperia10III kernel: sec_ts 1-0048: [sec_input] sec_ts_read_event: STATUS 1d 69 0 0 0 0 0 0
Aug 08 21:23:47 Xperia10III kernel: sec_ts 1-0048: [sec_input] sec_ts_read_event: STATUS 1d 69 1 0 0 0 0 0
Aug 08 21:23:47 Xperia10III kernel: sec_ts 1-0048: [sec_input] sec_ts_read_event: STATUS 1d 69 0 0 0 0 0 0
Aug 08 21:23:47 Xperia10III kernel: pm7250b_charger: default_irq_handler: IRQ: usbin-vashdn
Aug 08 21:23:47 Xperia10III kernel: pm7250b_charger: usbin_uv_irq_handler: IRQ: usbin-uv
Aug 08 21:23:47 Xperia10III kernel: pm7250b_charger: smblib_usb_plugin_locked: IRQ: usbin-plugin attached
Aug 08 21:23:47 Xperia10III kernel: QG-K: get_batt_id_ohm: batt_id_mv=243, batt_id_ohm=15000
Aug 08 21:23:47 Xperia10III healthd: battery l=39 v=3790 t=28.8 h=2 st=4 c=-179748 fc=0 cc=0 chg=
Aug 08 21:23:47 Xperia10III usb_moded[10951]: unknown connection type reported, assuming disconnected
Aug 08 21:23:47 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:47 Xperia10III mce[2269]: modules/battery-udev.c: mcebat_update(): charger_state: off -> on
Aug 08 21:23:47 Xperia10III mce[2269]: tklock.c: tklock_datapipe_uiexception_type_cb(): uiexception_type = none -> notif
Aug 08 21:23:47 Xperia10III mce[2269]: tklock.c: tklock_dbus_notification_beg_cb(): notification begin from name=:1.77 owner=:1.77 pid=7326 uid=100000 gid=996 priv=1 cmd=/usr/bin/lipstick -plugin evdevtouch -plugin evdevmous
Aug 08 21:23:48 Xperia10III mce[2269]: modules/proximity.c: mp_datapipe_set_proximity_sensor_actual(): state: UNDEF -> CLOSED
Aug 08 21:23:48 Xperia10III mce[2269]: modules/proximity.c: mp_datapipe_set_proximity_sensor_actual(): state: CLOSED -> OPEN
Aug 08 21:23:48 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:49 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:50 Xperia10III kernel: [schedu][0x59a87cb6c][19:23:50.079012] wlan: [8934:I:OSIF] scan start scan id 41004
Aug 08 21:23:50 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:50 Xperia10III kernel: rpmh_rsc_send_data: 293 callbacks suppressed
Aug 08 21:23:50 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:50 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:50 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:50 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:50 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:50 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:51 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:51 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x50000
Aug 08 21:23:52 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:52 Xperia10III mce[2269]: modules/battery-udev.c: mcebat_update(): battery_state: discharging -> not_charging
Aug 08 21:23:53 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:53 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:53 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:53 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:53 Xperia10III mce[2269]: tklock.c: tklock_datapipe_uiexception_type_cb(): uiexception_type = notif -> none
Aug 08 21:23:54 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:54 Xperia10III kernel: [schedu][0x59fd63109][19:23:54.715674] wlan: [8934:I:OSIF] vdev 0, scan id 41004 type COMPLETED(1) reason COMPLETED(1) scan found 4 bss
Aug 08 21:23:55 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:56 Xperia10III kernel: rpmh_rsc_send_data: 7 callbacks suppressed
Aug 08 21:23:56 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:56 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:56 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:56 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:56 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:56 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:23:56 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:57 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:58 Xperia10III connmand[6857]: ntp: adjust (slew): +0.007645 sec
Aug 08 21:23:58 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:23:58 Xperia10III mce[2269]: modules/proximity.c: mp_datapipe_set_proximity_sensor_actual(): state: OPEN -> UNDEF
Aug 08 21:23:59 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099
Aug 08 21:24:00 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:24:00 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:24:00 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:24:00 Xperia10III kernel: qcom_rpmh DRV:apps_rsc TCS Busy, retrying RPMH message send: addr=0x30010
Aug 08 21:24:00 Xperia10III kernel: binder: 4847:4847 transaction failed 29189/-22, size 32-0 line 3099

Further investigation:

  • phone doesn’t show on USB bus, neither in developer mode (despite making sure that the usb-moded.service is working correctly) nor in any of the boot-loader modes (neither fastboot “blue LED” VolUp+cable nor Emma/newflasher “green LED” VolDown+cable).
  • Found a different charger whose USB-PD works with the smartphone, phone successfully negociates and charges at ~6V @ 3Amps.

So it might not necessarily be a charging circuit driver, I cannot exclude that the USB 2.0 data traces on the USB-C connector got somehow damaged (premature wear ?)

  • data traces are obviously used to communicate over the USB bus, hence not showing up.
  • USB 2.0 data traces are used to negotiate quick charge and other faster mode on chargers with USB-A connectors.
  • USB-C on the other hand use different dedicated pins to negotiate USB-PD (so the lone USB-PD charger that I have around and which can successfully negotiate with the smartphone still works).

(That still doesn’t explain why it doesn’t charge in “dumb 500mA mode” when plugged in the Pirl, while in kernel mode)

1 Like

I have the same problem. But:
the phone wont charge as long as im logged in.
if i turn rhe phone off, wait until its completely done with that and then plug in the charger. It boots up into the charging screen, and everything works fine

1 Like

A friend of mine has the same problem (Xperia 10 iii, build 4.4.0.72, device adaption 1.0.0.176) while my device does not suffer from this (same device, build and device adaption)
Both first flashed with Android 11 before installing SFOS.
What Android versions did your device have prior to installing SFOS?
EDIT:
My device was installed with 4.4.0.64, while my friends’ device was installed with 4.4.0.72 which shouldn’t be an issue.
EDIT 2:
My friends’ phone was originally flashed with Android 11 → SFOS 4.4.0.64 (which was buggy) → Reflashed to 4.40.72. The charging problem occurred some time after.
Today we flashed it back to Android 11 (using emma flash tool) and then flashed to SFOS 4.4.0.72 and charging works again.
EDIT 3:
After a little week the problem reoccurred on my friends’ Xperia 10 iii :frowning:
EDIT 4:
@DrYak What firmware version did you install SFOS on and what SFOS version did you install perior to upgrading?

I’m thinking that this is some strange kind of sw issue where maybe a new SFOS version as base is the root cause and I’m thinking of trying to use the latest Android 11 firmware ( 62.0.A.3.109) with the older SFOS 4.4.0.64 just because this works on my own phone (upgraded in settings afterwards) or maybe try Android 12 (62.1*) and SFOS 4.4.0.72.
EDIT 5: In the changelog from 4.4.0.64 to 4.4.0.68 this is listed under our device adaption “Do not log battery status to kernel log”. I just can’t figure out why this would impact my friends device flashed with 4.4.0.72 while mine (4.4.0.64 and upgraded to .68 → .72) is unaffected.

UPDATE: Possible cause found: Android began complaining about dust/liquid after a week after reflashing. Cleaning the port with a tooth pick and cotton swab made Android stop complaining. My friend will reflash Sailfish in about a week if the issue does not come back.

UPDATE 2: TLDR: Caurse confirmed. Dusty charging port needed cleaning:
Yesterday I had the same issue as my friend. Also with an Xperia 10 iii running 4.4.0.72 showing that et charges without actually charging. Rebooting didn’t help, but powering it off and cleaning the USB-C-port with a couple of cotton swabs that turned dirty helped as it began to charge after booting the device again.

I might submit a feature request for warning the issue depending on charging status.

2 Likes

Definitely also a physical problem on my side, too.

But despite all toothpick and cotton swab clearing, it’s still the same.

My phone very specifically fails anything that should go over the USB2.0 pins D+ and D-.

  • Get access to the laptop with USB1/2 network protocol? Fails.
  • Request charging over USB1/2 protocol? Fails (except that the SailfishOS kernel default to 100mA, whereas the boot loader defaults to 500mA).
  • Negociate 1A/2A with resistors across D pins? Fails.
  • Negociate USB QC (also done accross D pins)? Fails

BUT!

  • Negociate USB PD (done with different USB3 CC pins)? Success, even correctly negociate higher voltage as needed.
  • Connect to laptop over USB3 (done with newer TX/RX 1/2 pins) Success.1+++

So either I have some very resisting speckle of dust that managed to perfectly cover specifically the D pins, or I am just victim of some “left side of the bathtube curve” and the D lines on the ribbon cable inside the smartphone happen to have failed prematurely.

(At least USB connectors are modular on Xperia smartphones. Sony accepted to repair it under warranty, I just need to find another daily driver for the 1~2 months it takes them to process repairs with the current delays).

1 Like

Same issue here. Charged fine yesterday, now it doesn’t. Tried multiple chargers.

It is charging now on the USB port on my laptop(it’s a 5% now). But it seems that all other chargers including laptop PD charger and old 500mA charger that previously worked are a no go. Port doesn’t seem dirty.
@DrYak : did Sony repair the issue? How long did it take them to repair it.

Btw i dont have this anymore since a long time

I didnt remember what it was that helped me, but i can remember cleaning my usbport once

I’ve been having issues with PC connectivity lately. Turning the USB cable 180° usually helps. I’ll have to switch the cable (it’s quite old) and see if that helps. If not, I’ll try q-tips and IPA next.