Proxmark3 community

Research, development and trades concerning the powerful Proxmark3 device.

Remember; sharing is caring. Bring something back to the community.


"Learn the tools of the trade the hard way." +Fravia

You are not logged in.

Announcement

Time changes and with it the technology
Proxmark3 @ discord

Users of this forum, please be aware that information stored on this site is not private.

#1 2013-07-01 02:18:19

sidion
Member
Registered: 2013-05-22
Posts: 8

Tutorial / install steps?

Hello everyone i was trying to get things working over on the windows client but hit a few brick walls, so installed the most recent version of Ubuntu (13.04) on the laptop and was wondering if anywhere has some more up to date documentation on the software?

I grabbed http://proxmark3.googlecode.com/svn/trunk and was able to compile the client but cannot get it to connect to the proxmark, i get the "invalid serrial port" error as the first line.

I have gone through all the /dev/bus/usb values and the /dev/usb/ values but all gave the same error.

I suspected i might have the wrong firmware on the proxmark, but i am getting a make error when trying to make bootrom, is that required to do the flash or should the flasher function with just the client make successful?

Alternatively if there is a good tutorial i could through that would be AwesomeSauce with extra bacon.
thanks
-Kevin

Offline

#2 2013-07-01 06:57:56

0xFFFF
Administrator
From: Vic - Australia
Registered: 2011-05-31
Posts: 632

Re: Tutorial / install steps?

If you have just received a new board from somewhere like proxmark3.com then you will probably need to up update your firmware.
Upgrading your Proxmark...

  1. Checkout an older version of the project

    • svn checkout -r 672 http://proxmark3.googlecode.com/svn/trunk/ ~/proxmark3

  2. build the project

    • cd ~/proxmark3 && make clean && make all

  3. Attach the Proxmark and upgrade the bootloader

    • cd  ~/proxmark3/client && ./flasher.exe -b ../bootrom/obj/bootrom.elf

    • You will need to press and hold the button on the Proxmark 3 before you plug it in.

    • Hold the button until the firmware upgrade process has completed.

  4. Check what port your Proxmark 3 is using:

    • dmesg | grep tty

    • From now on, I will assume that the port is /dev/ttyACM0

  5. Update your project to the latest trunk

    • svn checkout http://proxmark3.googlecode.com/svn/trunk/ ~/proxmark3

  6. build the project again.

    • cd ~/proxmark3 && make clean && make all

  7. Attach the Proxmark and upgrade the bootloader again.

    • I don't think this step is necessary at the moment but may be required in the future.

    • cd  ~/proxmark3/client && ./flasher.exe /dev/ttyACM0 -b ../bootrom/obj/bootrom.elf

  8. Upgrade the FPGA.

    • cd  ~/proxmark3/client && ./flasher.exe /dev/ttyACM0 ../armsrc/obj/fpgaimage.elf

  9. Upgrade the OS.

    • cd  ~/proxmark3/client && ./flasher.exe /dev/ttyACM0 ../armsrc/obj/osimage.elf

If you're running the client under linux then you should be typing something like ./proxmark3.exe /dev/ttyACM0

I'm going from memory so hopefully I've got everything correct.

Offline

#3 2013-07-01 08:04:14

holiman
Contributor
Registered: 2013-05-03
Posts: 566

Re: Tutorial / install steps?

I have done it differently... Something like this:

1. Checkout and build an older version which does not use the new USB interface
svn checkout -r 651 http://proxmark3.googlecode.com/svn/trunk/ ~/proxmark3-old
cd proxmark3-old && make clean && make all && cd..
2. Checkout and build the modern version:
svn checkout http://proxmark3.googlecode.com/svn/trunk/ ~/proxmark3
cd ~/proxmark3 && make clean && make all && cd..
3. Check what port your Proxmark 3 is using, either via dmesg or syslog. Also, disable modem-manager on ubuntu : 'sudo service modemmanager stop'
4. Flash the device with the new software, using the old flasher
proxmark3-old/client/flasher -b proxmark3/armsrc/obj/fullimage.elf

From here on, the device uses the new USB interface. The next time you want to flash, use
proxmark3/client/flasher /dev/ttyACM0 proxmark3/armsrc/obj/fullimage.elf

In the instructions above, I don't really see how that can work : r672 contains the new USB-interface flasher right? So afaict it will fail with old devices?

Last edited by holiman (2013-07-01 08:24:07)

Offline

#4 2013-07-01 22:32:37

sidion
Member
Registered: 2013-05-22
Posts: 8

Re: Tutorial / install steps?

This is great thanks!

However i seem to be getting a syntax error on the 'make all' call on both the older and the newest version

make -C bootrom all
make[1]: Entering directory `/home/sidion/proxmark/pm3/bootrom'
/opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: 6: /opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: Syntax error: ")" unexpected
/opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: 6: /opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: Syntax error: ")" unexpected
/opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: 6: /opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: Syntax error: ")" unexpected
/opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: 6: /opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: Syntax error: ")" unexpected
/opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: 6: /opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: Syntax error: ")" unexpected
perl ../tools/mkversion.pl .. > version.c || cp ../common/default_version.c version.c
arm-none-eabi-gcc -c -I../include -I../common -Wall -Werror -pedantic -std=c99 -I. -Os -mthumb -mthumb-interwork -o obj/version.o version.c
/opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: 6: /opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: Syntax error: ")" unexpected
make[1]: *** [obj/version.o] Error 2
make[1]: Leaving directory `/home/sidion/proxmark/pm3/bootrom'
make: *** [bootrom/all] Error 2


Would this imply that my devKitArm was not set up properly or is there an error in it?
thanks again to you both.

Offline

#5 2013-07-02 04:28:40

0xFFFF
Administrator
From: Vic - Australia
Registered: 2011-05-31
Posts: 632

Re: Tutorial / install steps?

holiman wrote:

Also, disable modem-manager on ubuntu : 'sudo service modemmanager stop'

...I always forget that one tongue

holiman wrote:

In the instructions above, I don't really see how that can work : r672 contains the new USB-interface flasher right? So afaict it will fail with old devices?

You're right.

sidion, could you please let us know what revision you are using? What version of devKitArm are you using?

Offline

#6 2013-07-02 19:39:34

sidion
Member
Registered: 2013-05-22
Posts: 8

Re: Tutorial / install steps?

You were completely right, wrong version, i downloaded the right one and it built properly. YaY.

Even got the flasher to work and pushed the most recent fullimage.elf to the board, only step i'm not 100% on right now is figuring out what port the proxmark is connected on.

I oppened up the syslog after plugging it in freshly and found this:

Jul  2 11:35:35 lapuntu kernel: [ 1286.127306] usb 6-2: new full-speed USB device number 14 using xhci_hcd
Jul  2 11:35:40 lapuntu kernel: [ 1291.125511] xhci_hcd 0000:00:10.0: Timeout while waiting for address device command
Jul  2 11:35:45 lapuntu kernel: [ 1296.327665] xhci_hcd 0000:00:10.0: Timeout while waiting for address device command
Jul  2 11:35:45 lapuntu kernel: [ 1296.531422] usb 6-2: device not accepting address 14, error -62
Jul  2 11:35:45 lapuntu kernel: [ 1296.532287] xhci_hcd 0000:00:10.0: Bad Slot ID 4
Jul  2 11:35:45 lapuntu kernel: [ 1296.532296] xhci_hcd 0000:00:10.0: Could not allocate xHCI USB device data structures
Jul  2 11:35:45 lapuntu kernel: [ 1296.532307] hub 6-0:1.0: couldn't allocate port 2 usb_device


which looks to me like an error (i did turn off modemmanager)  and my /dev does not contain the usb folder i would expect to see when a usb peripheral is plugged in.  which also leads me to think there might be an error there, however the flasher when i ran it had a "waiting for proxmark to show up on usb" when i unplugged and plugged it back it ran smoothly.

so i do know the machine can talk to the proxmark, so i'm a bit lost.
Again thanks for all the help, i hope the thread will end up being useful for others as well.

Offline

#7 2013-07-03 08:07:38

holiman
Contributor
Registered: 2013-05-03
Posts: 566

Re: Tutorial / install steps?

It does look like an error... hm. When you plug it in, what does 'lsusb' show? What does 'dmesg' show after you plug it in?

Also, you seem to have plugged the device into a usb3-port. That may cause issues, although I don't think the issues you're having right now are caused by that. More info here:
http://www.proxmark.org/forum/viewtopic.php?id=1467&p=5

Offline

#8 2013-07-04 00:49:04

sidion
Member
Registered: 2013-05-22
Posts: 8

Re: Tutorial / install steps?

bang on hollman, usb3 port.  plugged into a standard port and and ttyACM0 showed up!
now just to figure out how to use the thing!

proxmark3> hw version
#db# Prox/RFID mark3 RFID instrument                 
#db# bootrom: svn 651 2013-01-31 14:52:23                 
#db# os: svn 752 2013-07-02 18:26:08                 
#db# FPGA image built on 2012/ 1/ 6 at 15:27:56

anyone with recommendations for good up to date documentation?

first project is trying to clone a door fob, pretty sure its low frequency as the the high frequency reader on the phone cant read it

Offline

#9 2013-07-04 09:05:33

holiman
Contributor
Registered: 2013-05-03
Posts: 566

Re: Tutorial / install steps?

I spot an error - your bootrom is stuck on r651. Did you not use -b to enable flashing of the bootrom ? Or did you not rebuild everything? (make clean && make all)

Now, you are stuck in an awkward place - I've landed there myself when I tried to go back to an earlier version of the firmware to do some testing (but for me it was the other way around). When you do flashing, the flasher tells the os to reboot and go into a kind of 'bootrom'-mode. The flasher then waits for the bootrom-mode-device to reconnect, and begin the flashing.  The problem is that when the os is new-usb, and bootrom is old-usb, the bootrom will reconnect ok, but not using the interface that the flasher expects it to turn up on. So it won't work.

Fortunately, if you plug the device in while holding the button pressed, the device will go into bootrom-mode immediately.
So, in order to flash it the next time, you will need to
1. type in the command to use the OLD flasher, but don't press enter 'proxmark3-old/client/flasher -b proxmark3/armsrc/obj/fullimage.elf"
2. Press the button, plug in the device
3. Hit enter

Hopefully, the device will become fully flashed, including bootrom. In the old flasher, you may have to use sudo to do this, not sure.

Last edited by holiman (2013-07-04 09:06:42)

Offline

#10 2013-07-04 21:57:23

sidion
Member
Registered: 2013-05-22
Posts: 8

Re: Tutorial / install steps?

hmm, i ran through the steps you provided there, even did a make clean & make all in the pm3 (not pm3-old) dir to make sure the fullimage.elf was compiled properly and after the successful flash i ran the pm3 client/proxmarc to see the hw version and got this:

sudo pm3/client/proxmark3 /dev/ttyACM0
#db# unknown command:: 0xb0cb5341                 
#db# unknown command:: 0xb0cb5354                 
#db# unknown command:: 0xb0cb532b                 
#db# unknown command:: 0xb0cb5347                 
#db# unknown command:: 0xb0cb5343                 
#db# unknown command:: 0xb0cb5341                 
#db# unknown command:: 0xb0cb5350                 
#db# unknown command:: 0xb0cb530d                 
proxmark3> hw version
#db# Prox/RFID mark3 RFID instrument                 
#db# bootrom: svn 651 2013-01-31 14:52:23                 
#db# os: svn 752 2013-07-04 20:51:56                 
#db# FPGA image built on 2012/ 1/ 6 at 15:27:56                 
#db# unknown command:: 0xf078007e                 
#db# unknown command:: 0xf078007e                 
proxmark3> exit


but the second time i connected i did not get the unknown command lines:
sudo pm3/client/proxmark3 /dev/ttyACM0
proxmark3> hw version
#db# Prox/RFID mark3 RFID instrument                 
#db# bootrom: svn 651 2013-01-31 14:52:23                 
#db# os: svn 752 2013-07-04 20:51:56                 
#db# FPGA image built on 2012/ 1/ 6 at 15:27:56                 
proxmark3>

will there by any issues running the device with this setup or is just the flasher that is going to be borked by this?

Offline

#11 2013-07-05 03:37:16

gusan0r
Member
Registered: 2013-06-28
Posts: 4

Re: Tutorial / install steps?

Hi i have this problem

./flasher -b ../bootrom/obj/bootrom.elf
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 (0x00000b60->0x00000b60) [RWX] @0x298
Attempted to write bootloader but bootloader writes are not enabled
Error while loading ../bootrom/obj/bootrom.elf

any idea?

Offline

#12 2013-07-05 04:57:59

gusan0r
Member
Registered: 2013-06-28
Posts: 4

Re: Tutorial / install steps?

sorry for the double post, but i can't find where can modified

now i have  this  problem http://pastebin.com/UsxFUhgG

when i try to compile the svn checkout http://proxmark3.googlecode.com/svn/trunk/ ~/proxmark3

can any help me?

Offline

#13 2013-07-05 07:47:40

holiman
Contributor
Registered: 2013-05-03
Posts: 566

Re: Tutorial / install steps?

@sidion - my gues is it's only the flasher that 'gets borked'. However, could you try one more time, this time using 'sudo ./flasher -b ../bootrom/obj/bootrom.elf' instead of fullimage.elf ? It would be good to know the cause of this.

@gusan032 1) that looks very strange. What version were you using?
@gusan032 2) what OS are you using?

Offline

#14 2013-07-05 09:32:56

holiman
Contributor
Registered: 2013-05-03
Posts: 566

Re: Tutorial / install steps?

Sidion wrote:

sudo pm3/client/proxmark3 /dev/ttyACM0
#db# unknown command:: 0xb0cb5341                 
#db# unknown command:: 0xb0cb5354                 
#db# unknown command:: 0xb0cb532b                 
#db# unknown command:: 0xb0cb5347                 
#db# unknown command:: 0xb0cb5343                 
#db# unknown command:: 0xb0cb5341                 
#db# unknown command:: 0xb0cb5350                 
#db# unknown command:: 0xb0cb530d

Regarding these, it happens if something sends stuff over USB. I have seen the same thing (though not recently) - in my case it may have been the modem manager doing it's thing.   Every output that goes "#db#..." is the device doing debug-printouts over USB.

Offline

#15 2013-07-05 19:55:09

gusan0r
Member
Registered: 2013-06-28
Posts: 4

Re: Tutorial / install steps?

holiman wrote:

@sidion - my gues is it's only the flasher that 'gets borked'. However, could you try one more time, this time using 'sudo ./flasher -b ../bootrom/obj/bootrom.elf' instead of fullimage.elf ? It would be good to know the cause of this.

@gusan032 1) that looks very strange. What version were you using?
@gusan032 2) what OS are you using?

Hi i'm using UbuntuMint but i think this not the problem, the problem is when i try to compile the last release version.

when i try with older version 650,651 don't have problem, but when i try with 672 or the last version don't compile throwing the error of compile.

maybe if i try with previous version?  ( 672? )

regards!!

Offline

#16 2013-09-22 21:27:11

urkis
Contributor
Registered: 2012-02-12
Posts: 30

Re: Tutorial / install steps?

I can't compile the linux client.. Keeps getting this error
/opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: 6: /opt/devkitpro/devkitARM/bin//arm-none-eabi-gcc: Syntax error: ")" unexpected

I have downloaded this devkitARM that was mentioned in the wiki, but no success.
http://sourceforge.net/projects/devkitpro/files/devkitARM/devkitARM_r41-x86_64-linux.tar.bz2/download

What is wrong?

Offline

#17 2013-09-22 21:45:14

urkis
Contributor
Registered: 2012-02-12
Posts: 30

Re: Tutorial / install steps?

Tried the other one (devkitARM_r41-i686-linux.tar.bz2) and it works now! Is the wiki wrong or is it different depending on what type of linux machine you have?

Offline

#18 2013-09-26 18:28:34

pms
Member
Registered: 2013-09-22
Posts: 4

Re: Tutorial / install steps?

urkis wrote:

Tried the other one (devkitARM_r41-i686-linux.tar.bz2) and it works now! Is the wiki wrong or is it different depending on what type of linux machine you have?

The difference is that i686 for 32-bit OS's and x86_64 is for 64-bit OS's. I've been trying to get access to update the wiki, but it appears to be difficult...

Offline

#19 2013-09-27 08:48:32

holiman
Contributor
Registered: 2013-05-03
Posts: 566

Re: Tutorial / install steps?

@pms - if you have any changes you want to make to the wiki, just mail a patch to me or submit to the forum. I can commit it, but don't have privileges to grant access

Offline

#20 2013-12-12 21:00:08

holiman
Contributor
Registered: 2013-05-03
Posts: 566

Re: Tutorial / install steps?

You have new bootrom, old os. So, you need use the NEW flasher and talk to the BOOTROM directly without using the os. To do so, hold the button while plugging the pm3 in. That way, it enters bootrom (flashing-mode) directly. Then use the new flasher to flash with fullimage.elf.

Offline

Board footer

Powered by FluxBB