Dear all,
I'm trying to read a MX25L3206E and a MX25L6406E in-circuit (laptop) with a Raspberry Pi Rev.1 using a POMONA 5220 SOIC clip. flashrom v0.9.9-r1955 on Linux 4.9.35+ (armv6l)
Unfortunately I keep getting images with varying md5sums.
Moreover, when switching between the chips, flashrom always detects the chip it was last connected to (i.e. not the real one) and the MX25L6406E is not correctly detected at all in general (incorrectly detected as some other chip).
If anyone knows those symptoms, I'd love to hear a comment!
All external power sources are disconnected (incl. CMOS battery). The 3v3 of the Pi is used for powering. All 8 Pins were connected (incl. Hold and WP to 3v3).
What I checked so far: - The factory images on the chips work. - SPI loopback on the Pi works (MISO <--> MOSI). - Cables are relatively short (tried 28cm and 2* that with a 10k Pullup on MISO - the latter didn't seem to change much, but I'm not 100% sure yet). - Reducing the clock speed didn't seem to make a difference (e.g. flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1000 -r flash03.bin -c "MX25L3206E/MX25L3208E").
I didn't try yet: - external 3v3 PSU - laptop power (I actually connected the AC adapter once without booting, but it didn't seem to power the chip - I didn't measure 3v3) - putting a 22pF capacitor somewhere (I'm not sure where exactly?) - unsolder the chip - I'm trying to avoid that as I'm not good at that...
Do you have any other ideas? Maybe I'm missing something obvious?
I haven't done this for a few years, so any help would be greatly appreciated.
Thanks & Kind Regards David
For reference:
Apparently the Pi didn't provide enough current to drive the chip and whatever else hang in the motherboard together with it.
So how I got it done:
1. remove the AC adapter & all batteries incl. CMOS from the laptop
2. attach Pomona clip incl 5 wires for CS -> CE0, SO -> MISO, SI -> MOSI, SCLK -> SCLK, GND -> GND (do NOT connect Vcc, HOLD and WP seem optional as the motherboard appears to drive them to 3V3)
3. attach the AC adapter & wait for the laptop to boot (if it doesn't, try it with the keyboard attached)
4. laptop states that there's a md5sum error with the CMOS (the CMOS battery is removed after all)
5. measure CS on the chip - if it's constant 3V3 apparently no one else is driving the chip (might make more sense to do that in a first run without wires attached)
6. power up the Pi and read multiple times, compare the images afterwards
7. power down the pi, then the laptop
I didn't test writing.
Maybe that'll help someone with the same issue.
KR David
On 07/13/2017 11:24 PM, David Hobach wrote:
Dear all,
I'm trying to read a MX25L3206E and a MX25L6406E in-circuit (laptop) with a Raspberry Pi Rev.1 using a POMONA 5220 SOIC clip. flashrom v0.9.9-r1955 on Linux 4.9.35+ (armv6l)
Unfortunately I keep getting images with varying md5sums.
Moreover, when switching between the chips, flashrom always detects the chip it was last connected to (i.e. not the real one) and the MX25L6406E is not correctly detected at all in general (incorrectly detected as some other chip).
If anyone knows those symptoms, I'd love to hear a comment!
All external power sources are disconnected (incl. CMOS battery). The 3v3 of the Pi is used for powering. All 8 Pins were connected (incl. Hold and WP to 3v3).
What I checked so far:
- The factory images on the chips work.
- SPI loopback on the Pi works (MISO <--> MOSI).
- Cables are relatively short (tried 28cm and 2* that with a 10k Pullup
on MISO - the latter didn't seem to change much, but I'm not 100% sure yet).
- Reducing the clock speed didn't seem to make a difference (e.g.
flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1000 -r flash03.bin -c "MX25L3206E/MX25L3208E").
I didn't try yet:
- external 3v3 PSU
- laptop power (I actually connected the AC adapter once without
booting, but it didn't seem to power the chip - I didn't measure 3v3)
- putting a 22pF capacitor somewhere (I'm not sure where exactly?)
- unsolder the chip - I'm trying to avoid that as I'm not good at that...
Do you have any other ideas? Maybe I'm missing something obvious?
I haven't done this for a few years, so any help would be greatly appreciated.
Thanks & Kind Regards David
Hi David,
On 14.07.2017 18:30, David Hobach wrote:
For reference:
Apparently the Pi didn't provide enough current to drive the chip and whatever else hang in the motherboard together with it.
a word of caution: Applying external power (i.e. connecting the sol- dered chip's VCC to an external power supply) should always be the last resort*! Chances are high (especially in case you are flashing a laptop) that you break something on the board by supplying 3V3 only.
Usually there are ways to power the flash chips with the regular power supply (e.g. many ThinkPads always power the chip in S5 with AC con- nected, some if you enable Wake-on-LAN).
Nico
* If you don't have official documentation for your board that states it's safe to do.
Hi,
On 13.07.2017 23:24, David Hobach wrote:
Dear all,
I'm trying to read a MX25L3206E and a MX25L6406E in-circuit (laptop) with a Raspberry Pi Rev.1 using a POMONA 5220 SOIC clip. flashrom v0.9.9-r1955 on Linux 4.9.35+ (armv6l)
Unfortunately I keep getting images with varying md5sums.
Moreover, when switching between the chips, flashrom always detects the chip it was last connected to (i.e. not the real one) and the MX25L6406E is not correctly detected at all in general (incorrectly detected as some other chip).
If anyone knows those symptoms, I'd love to hear a comment!
All external power sources are disconnected (incl. CMOS battery). The 3v3 of the Pi is used for powering. All 8 Pins were connected (incl. Hold and WP to 3v3).
had similar symptoms with a T530 a couple of weeks ago. It contains both a 64MBit and a 32MBit SPI Flash connected to the same Southbridge pins except for the chip selects. Turned out that the chip select of the opposite chip was floating (the Southbridge was not powered), so it was partly active. There are no pull-up resistors on CS#. Connecting CS# of the opposite chip to the 3.3V from the RaspberryPi helped in my case.
Regards,
Joerg