it is incredibly ironic that after i went through a lot of effort to get a working USB PD debugger, the first USB power related issue i try to debug in anger seems to be completely unrelated to USB PD, and also somehow fixed itself when i inserted the debugger
Conversation
what issue? my phone shows 15% battery. i plug it in. an hour later, the phone proudly tells me it is "0% · Charging"
3
1
38
USB-C has the nice feature of making an effectively random choice about which side is supposed to be charged. A phone will happily start charging a power bank. The devices are supposed to negotiate and automatically swap if it doesn't make sense. It doesn't seem to work well.
1
1
7
in this case it's a wall wart that doesn't even have PD (well, no PD messages are being exchanged)
1
4
I've tried plugging it into a PD power source. absolutely nothing happens. no charging, no PD messages, nothing.
¯\_ (ツ)_/¯
2
4
Which phone model is it? I might actually have the solution to your problem.
1
2
For the Pixel 2 XL, the issue we had is that the LG battery kernel module was broken when built into the kernel instead of loaded as a dynamic kernel module. I'd guess that you're using an OS build with it built into the kernel and maybe it's missing appropriate workarounds.
2
2
13
The non-XL Pixel 2 has an HTC battery kernel module. It's possible that it has a similar issue. We had a couple fixes applied for the Pixel 2 XL. The issue that I used to have is that fast charging wouldn't kick in with a generic charger or USB-C to the computer.
It was really annoying before we resolved it because the phone would run out of battery trying to run the Compatibility Test Suite since it takes hours and hours. The GPU tests are really demanding and would drain all the battery. I think it's just a kernel module init issue.
1
1
1
3
Show replies
yeah that sounds exactly like what i'm experiencing. i think i've only seen fast charging with power banks and such. it's non-XL.
1
1
I don't think we had a commit fixing it for the non-XL variant but I remember it being an issue. It's probably a similar issue. In my experience, both in-tree and out-of-tree Linux kernel driver modules are often broken when built into the kernel instead of dynamically loaded.
1
2
Show replies


