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)
Proxmark Wiki
Hardware
Firmware Upgrade
Client Software
Usage
Low Frequency (125-134kHz)
High Frequency (13.56MHz)
Struggling with this manual? Do you miss some explanation or found something wrong or ambigious? Then please post in the Manual Feedback section of the forum. Any feedback is appreciated.