I didn’t do this to overclock. The shunt mod was to fix an issue: permanent power throttling with core clock at 139 MHz. Spoiler: it worked.
It all started one night when a favorite game ran at 10 FPS rather than the 200 FPS I was used to. Also, GPU usage was pegged at 100% even though no other programs were open.
GPU-Z quickly showed why: it was power throttled. As a result, the frequency was locked to 139 MHz. No amount of tweaking in MSI Afterburner changed it.
I went to double check if the AC adapter was plugged in. An hour later, I was furiously researching “make GPU exit power saving mode”. I tried quite a few things to bump the frequency:
- CSGO, VALORANT, Streamlabs OBS, Solidworks, FurMark
- Windows Power Options
- High Performance
- Link State Power Management: Off
- Dell Power Manager: Thermal Management – Ultra Performance
- MSI Afterburner and NVidia Inspector
- Booted into Ubuntu
- Booted into an SSD clone from 2 months ago
- Wiped all NVidia drivers with DDU
- Disabled and enabled in Device Manager (Reddit suggestion)
- Dell Pre-Boot System Check: All Tests Passed
- Removed all power (AC, battery, RTC cell) for a few minutes
- Removed all devices except a stick of RAM and the SSD
- Fully disassembled then cleaned. It removed a lot of dirt, especially inside the fan.
- Reapply thermal paste – Thermal Grizzly Kryonaut
- Updated BIOS and firmware
Software issues were essentially ruled out. After a while, my gut told me to check how much power is being consumed. Bingo?
There were two possibilities. Either the power sensing or the GPU itself was bad. I investigated power sensing first since I can’t do anything about a bad GPU.
A video by Gamers Nexus provided a lot of info. For example, a lot of discrete NVidia cards used the INA3221 voltage monitor. However, was this still the case in a laptop? Does it use a different chip? Does it even use a shunt resistor in the first place?
YES. I found it after a day of searching the motherboard. Mysterious ICs and non-public schematics and boardviews did not help. It was hiding under the protective DIMM sticker.
While probing these pairs of points, the upper pair showed around 25-ish Ohms. The lower one was open-circuit.
Shunt Mod (bypass?)
Requirements: A pre-tinned small wire, a fine-tipped soldering iron, a good eye, and a steady hand. Some soldering paste was also used.
My first attempt almost ended in disaster. I remembered Kirchhoff’s Current Law (KCL) while I was putting it back together. A large current would have flowed through those tiny PCB traces and burned the board. Thankfully, I haven’t powered it on yet.
I disassembled it again then modified it as such.
The End Result
In conclusion, the shunt mod worked and clock speed was back to normal. However, due to the methodology, the sensed power consumption was ridiculously low. Around 1 watt idle and 3 watts under load.
Additionally, the mod is within spec of the INA3221, found in page 5 of the datasheet. Differential is essentially 0 volts and common-mode is whatever the GPU supply voltage is.
The unfortunate thing about all this is that I have no idea where the failure was, and what caused it. Was it the traces located between the PCB layers? Was it the soldering on those shunt resistors?
I’m not even sure where those shunt resistors were exactly. The sensor traces went under the board and between layers via microvias. I do have a hunch though, and it’s those large 5 milliOhm resistors on the back of the motherboard, under the foil stickers.