Proxmark3 developers 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.

#1 2013-04-17 14:17:09

user_it_sec
Member
Registered: 2013-04-17
Posts: 1

How to use new interface on linux

Hi there!

I've read that there is a new usb interface (since rev670). Is the software still useable for linux? I want to use the newest version but there i have to assign a port.
For windows it is just the right COM-Port but what is the right describtion for the linux?
Using lsusb i get "Bus 001 Device 008: ID 9ac4:4b8f J. Westhues ProxMark-3 RFID Instrument". Now trying ./proxmark3 001/008 always returns in "invalid serial port" error.

Thanks for any answer!

Offline

#2 2013-04-18 20:27:56

Neuer_User
Contributor
Registered: 2013-03-26
Posts: 88

Re: How to use new interface on linux

The new interface is still under development. Currently many functions are not working, eg the pretty important "data samples" functions.

It's probably best for the time being to stay with the old interface. Unfortunately, I don't know if and when  the new interface will become usable. Roel is currently not answering any questions concerning the future of the new interface. So it will probably take some time.

Offline

#3 2013-04-18 22:05:10

rule
Administrator
Registered: 2008-05-21
Posts: 416

Re: How to use new interface on linux

@user_it_sec
New interface is much more stable than old one.

@Neuer_User
I'm looking into multiple complex patches. I think patching the data samples problem is not so hard (just some buffer/pointer mixup), that is why I was hoping one you guys would take the time to look into this yourself. If no one is going to pick it up, I'll do it sooner or later anyway. You can always speed up the process yourself wink

Offline

#4 2013-04-18 22:12:18

doegox
Contributor
Registered: 2009-03-19
Posts: 11

Re: How to use new interface on linux

To answer the question about linux: you can use it, no prob, normally you should get a /dev/ttyACM0 port

So to use the client:
./proxmark3 /dev/ttyACM0

And to use the flasher for next upgrade:
./flasher /dev/ttyACM0 fullimage.elf

Phil

Offline

#5 2013-04-19 07:31:57

Neuer_User
Contributor
Registered: 2013-03-26
Posts: 88

Re: How to use new interface on linux

roel wrote:

problem is not so hard (just some buffer/pointer mixup), that is why I was hoping one you guys would take the time to look into this yourself. If no one is going to pick it up, I'll do it sooner or later anyway. You can always speed up the process yourself wink

Hi Roel, good to hear that it is not such a big problem to fix. I'd like to help, but as a noobie of Proxmark I will need to understand the code from the beginning. Will probably take very, very long for me. I wouldn't even know where to start looking. With a hint or two, I might be able to do something. At least I can do testing, if this helps.

I like the new interface also as the old one really stalls when doing long actions. But, honestly, without a working "data samples" there is not much you can do with this firmware...

Offline

#6 2013-05-03 17:44:46

CorneliusStuyvesant
Member
Registered: 2013-05-03
Posts: 5

Re: How to use new interface on linux

doegox wrote:

To answer the question about linux: you can use it, no prob, normally you should get a /dev/ttyACM0 port

So to use the client:
./proxmark3 /dev/ttyACM0

I am following the Unix install guide for a new set up and am stuck at this point. I have noticed a few things in the guide are out of date but easy to figure out, like it does not mention you have to compile the client after checkout. However this one has me suck.

I am not getting that tty on a new plug. ls`ing the /dev dir before and after plug in I get:

root@proxtest:~/prox/pm3/client# diff /tmp/1 /tmp/2
23a24
> hidraw2
184a186
> usb
root@proxtest:~/prox/pm3/client# ls /dev/ttyA*
ls: cannot access /dev/ttyA*: No such file or directory
root@proxtest:~/prox/pm3/client# uname -a
Linux proxtest 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686 i386 GNU/Linux
root@proxtest:~/prox/pm3/client# cat /proc/version
Linux version 3.0.0-12-generic (buildd@vernadsky) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011

Any recommendation on what I could be missing?

Thanks for any help.

Offline

#7 2013-05-03 20:37:48

Neuer_User
Contributor
Registered: 2013-03-26
Posts: 88

Re: How to use new interface on linux

Please post syslog while plugging in the proxmark3.

Offline

#8 2013-05-03 20:52:33

CorneliusStuyvesant
Member
Registered: 2013-05-03
Posts: 5

Re: How to use new interface on linux

Neuer_User wrote:

Please post syslog while plugging in the proxmark3.

Hi There -

Here is the syslog output:

May  3 15:53:36 proxtest kernel: [ 5414.961137] usb 2-2.2: new full speed USB device number 11 using uhci_hcd
May  3 15:53:43 proxtest mtp-probe: checking bus 2, device 11: "/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2"
May  3 15:53:43 proxtest kernel: [ 5422.297626] generic-usb 0003:9AC4:4B8F.0008: hiddev0,hidraw2: USB HID v1.00 Device [ProxMark-3 RFID Instrument] on usb-0000:02:00.0-2.2/input0
May  3 15:53:43 proxtest mtp-probe: bus: 2, device: 11 was not an MTP device


If there is other info that I should provide please let me know.

Thanks!

Offline

#9 2013-05-03 20:54:24

CorneliusStuyvesant
Member
Registered: 2013-05-03
Posts: 5

Re: How to use new interface on linux

Sorry to post again, but FWIW this is a fresh install off the ubuntu-11.10-desktop-i386 ISO.

Thanks!

Offline

#10 2013-05-03 21:07:01

Neuer_User
Contributor
Registered: 2013-03-26
Posts: 88

Re: How to use new interface on linux

Well the syslog is very clear : you still have an old firmware version with the old hid interface. If you want the new interface, you need to upgrade to a newer version.

Offline

#11 2013-05-03 21:08:52

CorneliusStuyvesant
Member
Registered: 2013-05-03
Posts: 5

Re: How to use new interface on linux

Neuer_User wrote:

Well the syslog is very clear : you still have an old firmware version with the old hid interface. If you want the new interface, you need to upgrade to a newer version.

Thanks for the advice. I will google that out, but if you have any links on how to do this for me that would be great.

Thanks!

Offline

#12 2013-05-04 10:21:13

Neuer_User
Contributor
Registered: 2013-03-26
Posts: 88

Re: How to use new interface on linux

Sure, here you find a description of compiling the new version:
http://code.google.com/p/proxmark3/wiki/Compiling#Linux_Platform

It is important to know that you need the OLD flasher to flash to the new version. So you would need to first get the old flash binary. You can do that with the same compile environment by checking out an old revision, e.g. r623 ("svn checkout r623"), then "make clean" and "make". Then you can copy the old flasher binary from client/flasher to whereever you want, then "svn checkout master", "make clean" and "make" again. Then you should have the newest firmware. To flash issue:

/path/to/old/flasher armsrc/fullimage.elf
if successful then unplug proxmark3, issue
/path/to/old/flasher -b bootrom/bootrom.elf
press and keep the button and replug the proxmark3. It should then also flash the bootrom.

DISCLAIMER: I wrote this out of my memories. Some commands might be slightly different.

Could somebody else please check, if there is no mistake in there?

Offline

#13 2013-05-04 23:45:46

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

Re: How to use new interface on linux

@Neuer_User : I followed the steps you outlined, it worked fine. One minor detail though; paths are off. Should be

/path/to/old/flasher armsrc/obj/fullimage.elf
/path/to/old/flasher -b bootrom/obj/bootrom.elf

Offline

#14 2013-05-05 05:27:33

CorneliusStuyvesant
Member
Registered: 2013-05-03
Posts: 5

Re: How to use new interface on linux

Thanks! This was a huge help.

Offline

#15 2013-05-05 07:24:48

Neuer_User
Contributor
Registered: 2013-03-26
Posts: 88

Re: How to use new interface on linux

holiman wrote:

@Neuer_User : I followed the steps you outlined, it worked fine. One minor detail though; paths are off. Should be

/path/to/old/flasher armsrc/obj/fullimage.elf
/path/to/old/flasher -b bootrom/obj/bootrom.elf

Yeah, right. Thanks for correcting.

CorneliusStuyvesant wrote:

Thanks! This was a huge help.

Good to hear that. Have fun with the proxmark3.

Btw, be aware that the new interface still has bugs (actually not necessarily the new interface, rather some functions that have not yet been correctly adapted to the new interface), e.g. at the moment many "hf sim" commands do not work.

Offline

#16 2013-05-08 08:54:26

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

Re: How to use new interface on linux

Regarding the data samples problem - I could take a look, but where do I find details about that? Is there a bug filed or forum post about it? What commands to I run to encounter the problem, and what is the expected output?

Offline

#17 2013-05-09 12:35:40

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

Re: How to use new interface on linux

Everything works fine for me when I do e.g. 'data samples 200'...

Offline

#18 2013-05-10 10:19:56

en4rab
Contributor
Registered: 2013-04-22
Posts: 36

Re: How to use new interface on linux

I fixed data samples and the fix was included in r708 be aware it now gets the number of samples you request not 4x as many as you request so where you see people quoting "data samples 2000" that should now be "data samples 8000". 40000 is the most you can request.
708 should have also fixed bitsamples and a nasty fix for hexsamples that sort of seems to work but shouldnt.
I dont have and probably shouldnt have svn access since im not a programmer but there is a patch to fix hexsamples properly and possibly also fix the legic commands in the post #111 and #113 here http://www.proxmark.org/forum/viewtopic.php?id=1467&p=5

Offline

#19 2013-05-10 11:00:37

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

Re: How to use new interface on linux

I see! Then it appears the major issues with the new interface are fixed, no?

I don't have svn access either, but it would be great if someone with access committed my patches. The bug in iso14443a_select_card affects basically any operation which depends on it (unless they send in null as first parameter). Quite a lot of places :

$ grep iso14443a_select_card **/*.c
armsrc/epa.c:// the card (with iso14443a_select_card etc.). If You want to use these
armsrc/epa.c:	return_code = iso14443a_select_card(uid, &card_select_info, NULL);
armsrc/iso14443a.c:int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, uint32_t* cuid_ptr) {
armsrc/iso14443a.c:		arg0 = iso14443a_select_card(NULL,(iso14a_card_select_t*)buf,NULL);
armsrc/iso14443a.c:		if(!iso14443a_select_card(uid, NULL, &cuid)) continue;
armsrc/mifarecmd.c:		if(!iso14443a_select_card(uid, NULL, &cuid)) {
armsrc/mifarecmd.c:		if(!iso14443a_select_card(uid, NULL, &cuid)) {
armsrc/mifarecmd.c:			if(!iso14443a_select_card(uid, NULL, &cuid)) {
armsrc/mifarecmd.c:		if(!iso14443a_select_card(uid, NULL, &cuid)) {
armsrc/mifarecmd.c:		if(!iso14443a_select_card(uid, NULL, &cuid)) {
armsrc/mifarecmd.c:		if(!iso14443a_select_card(uid, NULL, &cuid)) {
armsrc/mifarecmd.c:		if(!iso14443a_select_card(uid, NULL, &cuid)) {
armsrc/mifarecmd.c:			if(!iso14443a_select_card(uid, NULL, &cuid)) {

Last edited by holiman (2013-05-10 11:01:02)

Offline

Board footer

Powered by FluxBB