Bypassing the DELL unrecognized adapter issue
Dell is notoriously infamous for selling adapters that tend to go bad after few years of heavy usage. In the last 3 years of my laptop use, I’ve already had to change my adapter thrice due to an unrecognized adapter bios warning. You can read about why this issue occurs here .
I don’t really mind this message but dell has gone further to annoy their consumers by forcing a cpu throttle to the lowest scaling frequencies. Also, they will not allow you to charge your battery if this message pops up, for no reason but to force you into buying a new adapter. Since this is expensive business and all three of my dead and dying adapters work perfectly fine as far as the voltages required for operation are concerned, I was desperately searching for a software bypass to somehow allow frequency scaling on my CPU and work on reasonable speeds. However googling didn’t help much at which point I started reading up on BIOS and ACPI, the ones responsible for power management. Finally, I stumbled upon this beautiful solution to bypass this limit dell forces upon me.
On probing ACPI on the linux kernel I came across /proc/acpi/processor/CPUx/bios_limit which is the limit the bios is asking the kernel to respect. Hence, all one needs to bypass it is to ask the kernel to ignore bios_limit using a kernel parameter via grub namely processor.ignore_ppc=1. So just add this line to grub.conf [ or to GRUB_CMDLINE_LINUX in /etc/grub.d/grub if you’re using grub2] and you’re set.
Alternately, you can use rmclock[gui] on windows to achieve the same. However don’t forget to set the processor type to mobile if you’re using a laptop to get the right voltage values for various p-states. I hope this helps folks who’ve been annoyed by the way dell handles its adapters like me.