Upgrading your Proxmark3 to V2.3.0

September 21, 2016

These instructions describe the process of upgrading your Proxmark3 firmware to V2.3.0 on Linux, Windows, and macOS.

Download and unpack the V2.3.0 distribution.

For information regarding changes made to the Proxmark3 firmware please take a look at the Changelog on Github

Linux

1. Connect your Proxmark3 to your computer. Run "dmesg | grep ttyACM" to determine which port the Proxmark3 is on. Going forward replace ttyACM0 with your port.

dmesg | grep ttyACM
[  157.597236] cdc_acm 2-2.2:1.0: ttyACM0: USB ACM device

2. Navigate to the V2.3 Ubuntu client folder in the unpacked distribution. 

3. While in the client folder flash the bootrom file with the command below.

sudo ./flasher /dev/ttyACM0 -b ../bootrom/obj/bootrom.elf

The output should look similar to the following:

Loading ELF file '../bootrom/obj/bootrom.elf'...
Loading usable ELF segments:
0: V 0x00100000 P 0x00100000 (0x00000200->0x00000200) [R X] @0x94
1: V 0x00200000 P 0x00100200 (0x00000b30->0x00000b30) [RWX] @0x298

Waiting for Proxmark to appear on /dev/ttyACM0. Found.
Entering bootloader...
(Press and release the button only to abort)
Waiting for Proxmark to reappear on /dev/ttyACM0...... Found.

Flashing...
Writing segments for file: ../bootrom/obj/bootrom.elf
 0x00100000..0x001001ff [0x200 / 1 blocks]. OK
 0x00100200..0x00100d2f [0xb30 / 6 blocks]...... OK

Resetting hardware...
All done.

Have a nice day!

4. Flash the fullimage file with the command below.

sudo ./flasher /dev/ttyACM0 -b ../armsrc/obj/fullimage.elf

The output should look similar to the following:

Loading ELF file '../armsrc/obj/fullimage.elf'...
Loading usable ELF segments:
0: V 0x00102000 P 0x00102000 (0x00029448->0x00029448) [R X] @0x94
1: V 0x00200000 P 0x0012b448 (0x00001954->0x00001954) [RW ] @0x294dc
Note: Extending previous segment from 0x29448 to 0x2ad9c bytes

Waiting for Proxmark to appear on /dev/ttyACM0. Found.
Entering bootloader...
(Press and release the button only to abort)
Waiting for Proxmark to reappear on /dev/ttyACM0...... Found.

Flashing...
Writing segments for file: ../armsrc/obj/fullimage.elf
 0x00102000..0x0012cd9b [0x2ad9c / 343 blocks]....... OK

Resetting hardware...
All done.

Have a nice day!

5. Your proxmark3 should now be updated to V2.3.

6. Unplug and replug the Proxmark3 back in. Test your Proxmark3 by trying to connect to client. 

sudo ./proxmark3 /dev/ttyACM0

Verify that your Proxmark3 is now running version 2.3 using the "hw ver" command.

proxmark3> hw ver
Prox/RFID mark3 RFID instrument          
bootrom: master/v2.3 2016-09-19 20:28:38
os: master/v2.3 2016-09-19 20:28:38
LF FPGA image built for 2s30vq100 on 2015/03/06 at 07:38:04
HF FPGA image built for 2s30vq100 on 2015/11/ 2 at  9: 8: 8
          
uC: AT91SAM7S512 Rev B          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 512K bytes. Used: 183707 bytes (35%). Free: 340581 bytes (65%).          
Second Nonvolatile Program Memory Size: None          
Internal SRAM Size: 64K bytes          
Architecture Identifier: AT91SAM7Sxx Series          
Nonvolatile Program Memory Type: Embedded Flash Memory

Windows

1. Connect your Proxmark3 to your computer. Navigate to your device manager and then to the Ports drop down menu. Under there if your driver is properly installed you should see a device named Proxmark3 COM#. Going forward replace your COM# with the one in the examples.

2. Navigate to the Windows client folder in the unpacked distribution. 

3. While in the client folder flash the bootrom file with the command below.

flasher COM3 -b ../bootrom/obj/bootrom.elf

The output should look similar to the following:

Loading ELF file '../bootrom/obj/bootrom.elf'...
Loading usable ELF segments:
0: V 0x00100000 P 0x00100000 (0x00000200->0x00000200) [R X] @0x94
1: V 0x00200000 P 0x00100200 (0x00000b30->0x00000b30) [RWX] @0x298

Waiting for Proxmark to appear on COM3. Found.
Entering bootloader...
(Press and release the button only to abort)
Waiting for Proxmark to reappear on COM3...... Found.

Flashing...
Writing segments for file: ../bootrom/obj/bootrom.elf
 0x00100000..0x001001ff [0x200 / 1 blocks]. OK
 0x00100200..0x00100d2f [0xb30 / 6 blocks]...... OK

Resetting hardware...
All done.

Have a nice day!

4. Flash the fullimage file with the command below.

flasher COM3 -b ../armsrc/obj/fullimage.elf

The output should look similar to the following:

Loading ELF file '../armsrc/obj/fullimage.elf'...
Loading usable ELF segments:
0: V 0x00102000 P 0x00102000 (0x00029448->0x00029448) [R X] @0x94
1: V 0x00200000 P 0x0012b448 (0x00001954->0x00001954) [RW ] @0x294dc
Note: Extending previous segment from 0x29448 to 0x2ad9c bytes

Waiting for Proxmark to appear on COM3. Found.
Entering bootloader...
(Press and release the button only to abort)
Waiting for Proxmark to reappear on COM3...... Found.

Flashing...
Writing segments for file: ../armsrc/obj/fullimage.elf
 0x00102000..0x0012cd9b [0x2ad9c / 343 blocks]....... OK

Resetting hardware...
All done.

Have a nice day!

5. Reconnect the Proxmark3. Your proxmark3 should now be updated to V2.3.

6. Verify that your Proxmark3 is now running version 2.3 using the "hw ver" command.

proxmark3 COM3

Verify that your Proxmark3 is now running version 2.3 using the "hw ver" command.

proxmark3> hw ver
Prox/RFID mark3 RFID instrument          
bootrom: master/v2.3 2016-09-19 20:28:38
os: master/v2.3 2016-09-19 20:28:38
LF FPGA image built for 2s30vq100 on 2015/03/06 at 07:38:04
HF FPGA image built for 2s30vq100 on 2015/11/ 2 at  9: 8: 8
          
uC: AT91SAM7S512 Rev B          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 512K bytes. Used: 183707 bytes (35%). Free: 340581 bytes (65%).          
Second Nonvolatile Program Memory Size: None          
Internal SRAM Size: 64K bytes          
Architecture Identifier: AT91SAM7Sxx Series          
Nonvolatile Program Memory Type: Embedded Flash Memory

Mac OS X

1. Connect your Proxmark3 to your computer. Run "ls /dev/cu*" to determine which port the Proxmark3 is on. Going forward, replace cu.usbmodem# with your port.

ls /dev/cu*
/dev/cu.usbmodem411

2. Navigate to the Mac client folder in the unpacked distribution. 

3. While in the client folder flash the bootrom file with the command below.

sudo ./flasher /dev/cu.usbmodem411 -b ../bootrom/obj/bootrom.elf

The output should look similar to the following:

Loading ELF file '../bootrom/obj/bootrom.elf'...
Loading usable ELF segments:
0: V 0x00100000 P 0x00100000 (0x00000200->0x00000200) [R X] @0x94
1: V 0x00200000 P 0x00100200 (0x00000b30->0x00000b30) [RWX] @0x298

Waiting for Proxmark to appear on /dev/cu.usbmodem411. Found.
Entering bootloader...
(Press and release the button only to abort)
Waiting for Proxmark to reappear on /dev/cu.usbmodem411...... Found.

Flashing...
Writing segments for file: ../bootrom/obj/bootrom.elf
 0x00100000..0x001001ff [0x200 / 1 blocks]. OK
 0x00100200..0x00100d2f [0xb30 / 6 blocks]...... OK

Resetting hardware...
All done.

Have a nice day!

4. Flash the fullimage file with the command below.

sudo ./flasher /dev/cu.usbmodem411 -b ../armsrc/obj/fullimage.elf

The output should look similar to the following:

Loading ELF file '../armsrc/obj/fullimage.elf'...
Loading usable ELF segments:
0: V 0x00102000 P 0x00102000 (0x00029448->0x00029448) [R X] @0x94
1: V 0x00200000 P 0x0012b448 (0x00001954->0x00001954) [RW ] @0x294dc
Note: Extending previous segment from 0x29448 to 0x2ad9c bytes

Waiting for Proxmark to appear on /dev/cu.usbmodem411. Found.
Entering bootloader...
(Press and release the button only to abort)
Waiting for Proxmark to reappear on /dev/cu.usbmodem411...... Found.

Flashing...
Writing segments for file: ../armsrc/obj/fullimage.elf
 0x00102000..0x0012cd9b [0x2ad9c / 343 blocks]....... OK

Resetting hardware...
All done.

Have a nice day!

5. Your proxmark3 should now be updated to V2.3.

6. Verify that your Proxmark3 is now running version 2.3 using the "hw ver" command.

sudo ./proxmark3 /dev/cu.usbmodem411
proxmark3> hw ver
Prox/RFID mark3 RFID instrument          
bootrom: master/v2.3 2016-09-19 20:28:38
os: master/v2.3 2016-09-19 20:28:38
LF FPGA image built for 2s30vq100 on 2015/03/06 at 07:38:04
HF FPGA image built for 2s30vq100 on 2015/11/ 2 at  9: 8: 8
          
uC: AT91SAM7S512 Rev B          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 512K bytes. Used: 183707 bytes (35%). Free: 340581 bytes (65%).          
Second Nonvolatile Program Memory Size: None          
Internal SRAM Size: 64K bytes          
Architecture Identifier: AT91SAM7Sxx Series          
Nonvolatile Program Memory Type: Embedded Flash Memory





Also in Blog

Identifying unknown tags using the ChameleonMini Rev.G
Identifying unknown tags using the ChameleonMini Rev.G

January 06, 2017

Follow these steps to identify an unknown HF tag (13.56 MHz) with the ChameleonMini Rev.G.

View full article →

Reading Tags with the ChameleonMini Rev.G
Reading Tags with the ChameleonMini Rev.G

January 06, 2017

Follow these steps to read a HF tag (13.56 MHz) with the ChameleonMini Rev.G.

View full article →

Getting Started with version 2.3.0 of the Proxmark3
Getting Started with version 2.3.0 of the Proxmark3

November 01, 2016

Step by step instructions for getting started with the Proxmark3 Client V2.3.0 on Windows, Linux, and macOS (OS X).

View full article →