Skip to main content
Topic: Problems with flashrom and SOIC16 Winbond W25X64 (Read 2615 times) previous topic - next topic

Problems with flashrom and SOIC16 Winbond W25X64

Hello,
i'm trying to use flashrom with a bus pirate to flash the BIOS of a X200 thinkpad.

The chip model is Winbond W25X64 (8MB)

The bus pirate and the bus pirate cable are from seeed studio
Code: [Select]
HiZ>i
Bus Pirate v3.5
Firmware v6.1 r1676  Bootloader v4.4
DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8)
URL: dangerousprototypes+com

Since I don't want to solder anything and all guide on flashing over the internet included a SOIC CLIP a bought a Pomona 5252 and followed the schema given here:
URL: github+com/bibanon/Coreboot-ThinkPads/wiki/X200-X201-Hardware-Flashing
which seems to match the schema on the official datahseet here
URL: datasheet4u+com/datasheet/2/5/X/25X32_Winbond.pdf.html

I'm on Linux
Code: [Select]
Linux hostname 4.4.4.201603032158-1-grsec #1 SMP PREEMPT Sat Mar 5 06:59:24 EST 2016 i686 GNU/Linux


Here's my bus pirate configuration:
Code: [Select]
HiZ>i
Bus Pirate v3.5
Firmware v6.1 r1676  Bootloader v4.4
DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8)
dangerousprototypes+com
HiZ>m
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. LCD
x. exit(without change)

(1)>5
Set speed:
 1. 30KHz
 2. 125KHz
 3. 250KHz
 4. 1MHz

(1)>3
Clock polarity:
 1. Idle low *default
 2. Idle high

(1)>
Output clock edge:
 1. Idle to active
 2. Active to idle *default

(2)>
Input sample phase:
 1. Middle *default
 2. End

(1)>
CS:
 1. CS
 2. /CS *default

(2)>
Select output type:
 1. Open drain (H=Hi-Z, L=GND)
 2. Normal (H=3.3V, L=GND)

(1)>2
Ready
SPI>v
Pinstates:
1.(BR)  2.(RD)  3.(OR)  4.(YW)  5.(GN)  6.(BL)  7.(PU)  8.(GR)  9.(WT)  0.(Blk)
GND    3.3V    5.0V    ADC    VPU    AUX    CLK    MOSI    CS      MISO
P      P      P      I      I      I      O      O      O      I
GND    1.38V  0.00V  0.00V  0.00V  L      L      L      H      H
SPI>W
POWER SUPPLIES ON
SPI>v
Pinstates:
1.(BR)  2.(RD)  3.(OR)  4.(YW)  5.(GN)  6.(BL)  7.(PU)  8.(GR)  9.(WT)  0.(Blk)
GND    3.3V    5.0V    ADC    VPU    AUX    CLK    MOSI    CS      MISO
P      P      P      I      I      I      O      O      O      I
GND    3.29V  4.93V  0.00V  0.00V  L      L      L      H      H
SPI>

Now on the bus pirate both MODE and VREG leds are on.

If i run
Code: [Select]
flashrom -p buspirate_spi:dev=/dev/ttyUSB3
flashrom v0.9.9-r1955 on Linux 4.4.4.201603032158-1-grsec (i686)
flashrom is free software, get the source code at URL: flashrom+org
 2. Normal (H=3.3V, L=GND)
Calibrating delay loop... OK.
Bus Pirate firmware 6.1 and older does not support SPI speeds above 2 MHz. Limiting speed to 2 MHz.
It is recommended to upgrade to firmware 6.2 or newer.
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.Blk)

Durin this process, both MODE and VREG leds are turned off and the bus pirate seems to reset (or at least it exits from the SPI mode)

PICTURES: URL: imgur+com/a/rfel5

Re: Problems with flashrom and SOIC16 Winbond W25X64

Reply #1
It is not so easy to program a flash in circuit. Usually you have got an Vcc line which is powering a bunch of devices. maybe you need to plugin in the power cord for this laptop and get a basic Vcc. if that does work, you have to check the Pin for WP. It is normally connected to the Vcc, so that it is constantly write protected.

ask here, how they woudl do this: https://www.coreboot.org/