RaspberryPi 4 / RaspberryPi 3B+ MXL7704 PMIC replacement and repair

Ukłon w stronę użytkowników ...
Niechaj i niewierni mają swój kącik .
ODPOWIEDZ
Awatar użytkownika
Nefarious
Magyster
Posty: 56
Rejestracja: 17 paź 2017, 10:03
Lokalizacja: Łódź

RaspberryPi 4 / RaspberryPi 3B+ MXL7704 PMIC replacement and repair

Post autor: Nefarious »

Hi All!

Recently I had little problem with my RPi 4B board. I was working on some project and left my RPi connected to my lab bench power supply for half an hour. When I came back, I saw OCP (over current protection) on my power supply is activated and rPi is taking ca. 2A @ 1V. I turned off everything quickly and measured 5V line on my Pi. It turned out that there is short circuit on 5V rail. Other rails like 3.3V an 1.8V was ok. Propably, voltage that was set on my PS was to high (5.2V). First, I desoldered 5.1V zener diode here:

Obrazek

Unfortunatelly, nothing changed. Next i decided to desolder PMIC - > MXL7704

Obrazek

And v'oila, good news! There was any short circuit anymore! But bad news was I had to replace this PMIC and hopefully, only that. There was also quite high possibilty that some other ICs or passive components have been destroyed during PMIC fail but I was optimistic and decided to try fix my Pi4.
I checked exact part number and it was MxL7704-R4. Unfortunatelly I couldn't find any of these on Aliexpress, but i found MXL7704-R3 here:

https://pl.aliexpress.com/item/32991214 ... 5c0f9p1CI1

I ordered 2PCs and after 3 weeks i received my order. I checked markings and they were looking good so i decided to give a try. First, I have put some gel flux on IC and added some solder on pads, including big ground pad. Next, i used solder wick with gel flux and my soldering iron to clean pads on PCB. I cleaned everything with isopropyl alcohol and applied some more flux on pads, then I have put IC on pads with ESD tweezers. I used hot air, that was set to 390 degrees Celsius and soldered IC to board. You must have some soldering experience to do that. You can find videos on YouTube. I cleaned board again with alcohol and checked with mutimeter if there is no short circuit again. Everything was fine so I decided to power my Pi with my bench PS.

Obrazek

Board was sinking ca 700mA @ 5.0V, green led was blinking but system was not booting. I couldn't see anything on HDMI or serial console. SSH was also not working. I must admit that I expected that. I saw on some topic on rpi official forum that this IC must be correctly programmed over I2C to be compatible with RPI3B+ and RPI4B board. So i decided to do that. I was lucky because I had two other RPi'es laying around. I used RPi0 to read MXL7704 registers from good RPi4 over I2C. I couldn't find any test pins to connect to Pi4 PMIC I2C interface but I inspected PCB and saw two very small VIAS. I removed soldemask from them, soldered some very thin wires and second end of wire was soldered to goldpins. I used three signals, SDA, SCL and GND from Pi0.

Obrazek

i used i2ctools to read and write over i2c interface,

Kod: Zaznacz cały

sudo apt install -y i2c-tools

Kod: Zaznacz cały

sudo i2cdetect -y 1
It detected device on 0x1B address, then I dumped memory from properly programmed PMIC (good RPi4)

Kod: Zaznacz cały

i2cdump -y 1 0x1B > good_pi.txt
and voila, i dumped MXL7704 registers to file. Then I diconnected good Pi4, connected broken one and tried to detect MXL7704 on broken one.

Again, I have hit:

Kod: Zaznacz cały

sudo i2cdetect -y 1
and again it found device on address 0x1B. Very good! It means It's ALIVE! then I dumped again registers from broken PI4 PMIC to file:

Kod: Zaznacz cały

i2cdump -y 1 0x1B > broken_pi.txt
i used diff to compare them

Kod: Zaznacz cały

diff good_pi.txt bad_pi.txt
Few registers was different so I used i2cset few times for each one to program them with values from good Pi4:

Kod: Zaznacz cały

sudo i2cset 0x1B register_addres register_value
I disconnected broken Pi4 after that. Desoldered wires from vias, turned on and HURRAY!!! Pi4 was booting like a charm! :)

Below you can find hexdump from good PI PMIC:

Obrazek
Awatar użytkownika
l3n1n
Administrator
Posty: 357
Rejestracja: 28 paź 2017, 8:46
Lokalizacja: 3M

Re: RaspberryPi 4 / RaspberryPi 3B+ MXL7704 PMIC replacement and repair

Post autor: l3n1n »

Я рада твоей радости. Восхищаюсь вашим упрямством и любознательностью. На самом деле я не знал, что мы международный форум. Но это очень хорошее открытие.

Swoją drogą trzeba mieć nadzieję, że parametry zamiennika nie wpłyną na żywotność Malinki. Nie porównywałem ich not, ale znając ciebie, zanim się zdecydowałeś na spawanie, dokładnie porównałeś ich parametry.
Awatar użytkownika
SunRiver
Użytkownik
Posty: 1076
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Festung Oppeln
Kontakt:

Re: RaspberryPi 4 / RaspberryPi 3B+ MXL7704 PMIC replacement and repair

Post autor: SunRiver »

Genau eine sehr gute Arbeit. Ich bin stolz auf dich, denn es war nicht einfach. Trotzdem hat es funktioniert und die Himbeere funktioniert wie sie soll.

Oby pracowała jak najdużej . I juz wiemy komu wysyłać zepsute malinki :)
ODPOWIEDZ

Wróć do „Raspberry Pi”