HclX / DELL_POWER_SPOOFER

A MSP430 based design spoofing dell power adapter identification
114 stars 27 forks source link

Embedded Controller question #2

Open UDPSendToFailed opened 6 years ago

UDPSendToFailed commented 6 years ago

Hi! Seen your blog, nice work. I can't really do that hardware mod, but i have an idea: manually entering the required values to laptop's embedded controller. Tested out with RW-Everything, when i plug in a broken adapter, and it's charging for 2-3 seconds, then disables, the following happens:

Tried to enter these values, but instantly reverts back to disabled. Editing byte 0x06 sometimes brings up the QuickSet app's unknown adapter warning, for example at values 01, 03, 09, etc.

Also there is an empty space, maybe the laptop would store here the data received from charger?

kep

Found your code...

"Memory dump:

String format: DELL00AC090195046CN09T2157161543835EAL03

Hex format:

44 45 4C 4C 30 30 41 43 30 39 30 31 39 35 30 34 36 43 4E 30 39 54 32 31 35 37 31 36 31 35 34 33 38 33 35 45 41 4C 30 33 E0 A9 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF"

Maybe entering this to empty space should force the laptop to charge, but i don't know, where to start it in bytes? Thanks for reply! :)

crabdancing commented 5 years ago

Any progress on this?

UDPSendToFailed commented 5 years ago

I gave up the EC modding, it looks impossible to do. Sadly the EC firmware is not open-source, Coreboot doesn't support Dell laptops, and I have no enough BIOS modding skills to remove the check. Instead of software trick, I have disassembled the AC adapter, removed the TO-92 package identification chip, and soldered it directly in the laptop to the DC jack. Now the laptop detects every AC adapter as original Dell and charges the battery without problems. If you don't want to mess with disassembling the charger, you can disable the CPU speed limit using ThrottleStop: https://youtu.be/2Cvb30puRwU

crabdancing commented 5 years ago

Oh! i thought about doing that, yeah :)

crabdancing commented 5 years ago

And yeah I don't mind disassembling a charger. I have a bunch of old dell chargers, actually. Thanks for reporting it as working! It's good to know.

crabdancing commented 5 years ago

My only concern is, what if the charger you pulled the chip from was lower wattage than the charger you plug in? Would that cause the power supply voltage to drop because it pulls too much current? Some (bad) charging circuitry can be damaged by that sort of thing.

UDPSendToFailed commented 5 years ago

I think it will be fine. Generally it's safe to use adapters with the same voltage, and same or higher amperage/wattage. For example if you use chip from a 65W charger, and you connect a 90W charger, the laptop will adapt to 65W available power. If you use 65W chip and 45W adapter, then yes, it can cause problems, because the laptop thinks the available power is 65W, so it may overload or damage the 45W adapter, same with 90W chip and 65W adapter, etc. The best way to solve this is checking the laptop's power requirements, and use a chip matching it with an adapter which has matching/higher wattage. I don't know what happens if there are two chips connected, one soldered and one in a working adapter, I have desoldered the identification wire from the DC jack, and placed chip between ID and GND. 19V or other power supply is not needed for the chip, here is the pinout for DS2501:

kép

mozboz commented 5 years ago

I gave up the EC modding, it looks impossible to do. Sadly the EC firmware is not open-source, Coreboot doesn't support Dell laptops, and I have no enough BIOS modding skills to remove the check. Instead of software trick, I have disassembled the AC adapter, removed the TO-92 package identification chip, and soldered it directly in the laptop to the DC jack. Now the laptop detects every AC adapter as original Dell and charges the battery without problems. If you don't want to mess with disassembling the charger, you can disable the CPU speed limit using ThrottleStop: https://youtu.be/2Cvb30puRwU

Sorry for OT post, but for anyone else on the horrendous interwebs search for ThrottleStop for Linux, the answer is here: https://askubuntu.com/questions/337147/throttlestop-for-ubuntu