Upgrading your Proxmark3 to V3.0.1

September 23, 2017

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

Download and unpack the V3.0.1 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 V3.0.1 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 V3.0.1.

6. Disconnect and reconnect the Proxmark3 USB cable and launch the client. 

Verify that your Proxmark3 is now running version 3.0.1 by connecting to the client.

sudo ./proxmark3 /dev/ttyACM0
Prox/RFID mark3 RFID instrument          
bootrom: master-rysc/v3.0.1 2017-09-21 19:05:39
os: master-rysc/v3.0.1 2017-09-21 19:05:45
LF FPGA image built for 2s30vq100 on 2015/03/06 at 07:38:04
HF FPGA image built for 2s30vq100 on 2017/05/17 at 17:48:26
          
uC: AT91SAM7S512 Rev B          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 512K bytes. Used: 192390 bytes (37). Free: 331898 bytes (63).          
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. 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. Place the unpacked folder in the Proxspace PM3 folder and navigate to the folder in the proxspace environment. 

Proxspace PM3 folder

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 V3.0.1.

6. Verify that your Proxmark3 is now running version 3.0.1 by connecting to the client.

proxmark3 COM3
Prox/RFID mark3 RFID instrument          
bootrom: master-rysc/v3.0.1 2017-09-21 19:05:39
os: master-rysc/v3.0.1 2017-09-21 19:05:45
LF FPGA image built for 2s30vq100 on 2015/03/06 at 07:38:04
HF FPGA image built for 2s30vq100 on 2017/05/17 at 17:48:26
          
uC: AT91SAM7S512 Rev B          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 512K bytes. Used: 192390 bytes (37). Free: 331898 bytes (63).          
Second Nonvolatile Program Memory Size: None          
Internal SRAM Size: 64K bytes          
Architecture Identifier: AT91SAM7Sxx Series          
Nonvolatile Program Memory Type: Embedded Flash Memory

macOS

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.usbmodem1421

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.usbmodem1421 -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 (0x00000cc8->0x00000cc8) [R X] @0x298

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

Flashing...
Writing segments for file: ../bootrom/obj/bootrom.elf
 0x00100000..0x001001ff [0x200 / 1 blocks]. OK
 0x00100200..0x00100ec7 [0xcc8 / 7 blocks]....... OK

Resetting hardware...
All done.

Have a nice day!

4. Flash the fullimage file with the command below.

sudo ./flasher /dev/cu.usbmodem1421 -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 (0x0002b730->0x0002b730) [R X] @0x94
1: V 0x00200000 P 0x0012d730 (0x00001a28->0x00001a28) [RW ] @0x2b7c4
Note: Extending previous segment from 0x2b730 to 0x2d158 bytes

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

Flashing...
Writing segments for file: ../armsrc/obj/fullimage.elf
 0x00102000..0x0012f157 [0x2d158 / 361 blocks]......................................................................................................................................................................................................................................................................................................................................................................... OK

Resetting hardware...
All done.

Have a nice day!

5. Your Proxmark3 should now be updated to V3.0.1.

6. Verify that your Proxmark3 is now running version 3.0.1.

sudo ./proxmark3 /dev/cu.usbmodem1421
Prox/RFID mark3 RFID instrument          
bootrom: master-rysc/v3.0.1 2017-09-21 16:36:44
os: master-rysc/v3.0.1 2017-09-21 16:36:45
LF FPGA image built for 2s30vq100 on 2015/03/06 at 07:38:04
HF FPGA image built for 2s30vq100 on 2017/05/17 at 17:48:26
          
uC: AT91SAM7S512 Rev B          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 512K bytes. Used: 192856 bytes (37). Free: 331432 bytes (63).          
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

Making a Physical Mifare 1K UID Clone
Making a Physical Mifare 1K UID Clone

January 10, 2019

Follow these steps to learn how to use a Chinese Magic Card 1K to make a Physical Mifare 1K UID clone. This blog is using a Proxmark3 running firmware V3.0.1.

View full article →

Making a physical HID Prox 2 Clone - Firmware V3.0.1
Making a physical HID Prox 2 Clone - Firmware V3.0.1

January 10, 2019

Follow these easy steps to make a physical HID Prox 2 clone using the Proxmark3 with firmware V3.0.1.

View full article →

Making a physical EM4100 Clone - Firmware V3.0.1
Making a physical EM4100 Clone - Firmware V3.0.1

January 10, 2019

Follow these steps to make a physical EM4100 clone using the Proxmark3 firmware version 3.0.1.

View full article →