Skip Navigation

need help fixing a hardware problem using linux

so, I have a weird problem with a Dell Latitude 5285, that's a 2-in-1 with a detachable keyboard akin to the MS Surface Pro 5. it has an i5-7300u, 16 GB LPDDR3 (on-board), 500 GB NVMe, 12.3" 1920x1280 3:2 touch screen.

I got it second-hand, unknown history, without a battery. they're stuck at 400 MHz without one, but Thottlestop in Windows and msr-tools in Linux fix the BD_PROCHOT throttling and the machine performed adequately for months.

I've sourced a replacement battery, removed the patch and my problems started. there's weird screen flickering, looks like bad video ram or a flaky connection. it's intermittent, sometimes it runs without issues for hours, sometimes minutes and sometimes it flickers from the start, so troubleshooting and checking if this or that fixed things takes days.

the artefacts are inconsistent with anything that is or isn't happening (load, temps, etc) or power source. the problem is mostly exacerbated when the battery is full and/or when waking from sleep, it's almost always super glitchy then.

here's a demonstration:

would be great if I could try a different battery or try this one in another device, but don't have that option.

at no point are there ANY glitches on the external display (tried DP-Alt over USB Type-C and HDMI over Dell WD19 Dock), regardless if the internal screen is enabled or not.

so, bad luck - faulty screen or backlight or RAM or something, right?

except, when I unplug the battery (but leave it in place) and connect it to power and reenable the BD_PROCHOT patch - zero glitches! it runs for hours - videos, GPU and CPU stress test, not one hiccup, tear, nothing!

if it were a normal laptop, I'd just leave it be and use it as a desktop. it feels like such a waste with the functional touchscreen though.

what I've tried:

  • different USB Type-C chargers
  • fresh paste on CPU, clean vent
  • latest firmware, tried downgrading, no change
  • memtest passed twice on thorough, all clear
  • internal diagnostics also
  • it never froze or crashed
  • screenshot during glitches doesn't contain them
  • disabling turbo, upping/lowering the max/boost GPU clock, forcing cores offline, limiting max frequencies with TLP
  • the battery isn't deformed and doesn't exert pressure on the screen or any cables; also tried running it with the screen slightly lifted from the case, no change
  • pressing, jerking, wiggling of the internal display cable/connector, no change
  • same issues in Windows 11, Ubuntu 23.04 and Fedora WS 38; rarely but sometimes in BIOS/during boot
  • sadly, can't undervolt the CPU/GPU (Throttlestop FIVER says it's locked) but some MSR writes are apparently OK (like disabling BD_PROCHOT works).

at some point, it had both charger and dock with PD attached at the same time to both USB Type-C ports; it's possible this fried something, although I have no evidence of that.

so, I'm sure this is NOT a linux hardware problem, but I would like to use linux to fix the problem. at this point, I am sure it's defective, whether it's age or physical or manufacturing defect or whatever; but since it definitely works perfectly without the battery, I'm looking for some tweaks that makes it perform with the battery the same as without it.

seriously doubt anyone's seen anything similar but are there any ideas what to look at? what to try?

edit: I'm not asking for free hardware troubleshooting, maybe I haven't expressed myself succintly. what I'd like is some sort of snapshot of all relevant registers with battery working. and then one without. and then have somehow the difference between those two computed, so I can see which setting I need to tweak. would this be doable?

26
26 comments
You've viewed 26 comments.