Skip to content

De Bricking Segger

Spencer Owen edited this page Feb 2, 2020 · 4 revisions

JTAG Recovery Procedure

If for whatever reason the USB upgrade procedure (section above) failed and the Proxmark will no longer boot, you will need to load the bootrom on to the Proxmark using the JTAG interface. This procedure assumes that you have a Segger J-LINK (or clones) for the recovery process and J-link commander installed.

The following hardware is known to work

Segger J-Link EDU Mini

Alternative JTAG (Untested)

Plug both the Proxmark and the Segger J-LINK in to the computer. Attach the J-LINK to the Proxmark JTAG port.

Run J-link commander. Then:

exec device = AT91SAM7S256
exec EnableFlashDL
h
loadbin "C:\proxmark3\recovery\proxmark3_recovery.bin" 0x100000

that is it!

for flashing either the bootrom or firmware, these are the files and addresses:

bootrom.bin = 0x100000
fullimage.bin = 0x102000

Now un-plug the proxmark USB and JTAG and re-plug the Proxmark USB to the computer.

Alternative:

In some cases, the JTAG will be locked (more common on Proxmark clones). To unlock, connect ERASE pin AT91SAM7S256(55 pin, show in datasheet) to VCC+3 for one second, then to GND for one second.

Make bin file:

git clone https://github.com/Proxmark/proxmark3.git && cd proxmark3
cd bootrom && make clean && make all
cd ..
cd armsrc && make clean && make
cd ..
cd recovery && make clean && make

Flash:
Run J-link Commander(JLinkExe):

J-Link>exec device = AT91SAM7S256  
J-Link>exec EnableFlashDL  
J-Link>erase  
(target interface: J) JTAG, position in JTAG chain : -1,-1 => Auto-detect, target interface speed: 4000 kHz)  
JTAG chain detection found 1 devices:   
#0 Id: 0x3F0F0F0F, IRLen: 04, ARM7TDMI Core  
ARM7 identified.  
Erasing device...  
Comparing flash   [100%] Done.  
Erasing flash     [100%] Done.  
J-Link: Flash download: Total time needed: 6.309s (Prepare: 0.034s, Compare: 0.000s, Erase: 6.270s, Program: 0.000s, Verify: 0.000s, Restore: 0.004s)  
Erasing done.  
  
J-Link>loadbin "/tmp/proxmark/proxmark3/recovery/proxmark3_recovery.bin" 0x100000  
Downloading file [/tmp/proxmark/proxmark3/recovery/proxmark3_recovery.bin]...  
Comparing flash   [100%] Done.  
Erasing flash     [100%] Done.  
Programming flash [100%] Done.  
Verifying flash   [100%] Done.  
J-Link: Flash download: Bank 0 @ 0x00100000: 2 ranges affected (204288 bytes)  
J-Link: Flash download: Total time needed: 3.702s (Prepare: 0.132s, Compare: 0.123s, Erase: 0.000s, Program: 3.278s, Verify: 0.098s, Restore: 0.068s)  
O.K.  
J-Link>q  

Alternative instructions (openocd)

http://wiki.yobi.be/wiki/Proxmark