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 2015-10-12 13:12:13

kprc
Member
Registered: 2015-10-12
Posts: 3

Unreliable pm3 to client communication

Hi,

Long time user, first time post here to share some observations with hope to receive feedback.

When trying to get my pm3 working on a new laptop, I notice hardware LEDs behaving as normal but unreliable response from client.

Some info on setup:

$ sudo dmidecode | grep -m1 SKU
    SKU Number: LENOVO_MT_20BX_BU_Think_FM_ThinkPad T450s

$ uname -rvi
3.13.0-65-generic #106-Ubuntu SMP Fri Oct 2 22:08:27 UTC 2015 x86_64

$ lspci | grep USB
00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)

$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 227977]

$ ls devkitARM_r41-x86_64-linux.tar.bz2
devkitARM_r41-x86_64-linux.tar.bz2

$ cat /etc/udev/rules.d/77-mm-usb-device-blacklist.rules
# proxmark3 - http://www.proxmark.org/
ATTRS{idVendor}=="2d2d" ATTRS{idProduct}=="504d", ENV{ID_MM_DEVICE_IGNORE}="1"

When client starts, system info is displayed only 1-2% of the time. All subsequent commands fail regardless of whether the initial system info posts successfully. Although the commands fail, the LEDs respond as expected 100% of the time (example, green LED for hw tune). When I did get output after many client starts, I notice my bootrom and firmware is old.

#db# Prox/RFID mark3 RFID instrument
#db# bootrom: svn 651 2013-01-31 14:52:23
#db# os: svn 842 2014-02-05 05:59:08
#db# FPGA image built on 2013/11/19 at 18:17:10
Prox/RFID mark3 RFID instrument

uC: AT91SAM7S256 Rev B
Embedded Processor: ARM7TDMI
Nonvolatile Program Memory Size: 256K bytes. Used: 0 bytes ( 0%). Free: 262144 bytes (100%).
Second Nonvolatile Program Memory Size: None
Internal SRAM Size: 64K bytes
Architecture Identifier: AT91SAM7Sxx Series
Nonvolatile Program Memory Type: Embedded Flash Memory

Thinking this is the problem, I try to flash to the latest build.

/opt/proxmark3/client/hid-flasher$ sudo ./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 (0x00000b38->0x00000b38) [RWX] @0x298

Waiting for Proxmark to appear on USB...
Connected units:
        1. SN: ChangeMe [001/091]
Found.

Flashing...
Writing segments for file: ../../bootrom/obj/bootrom.elf
0x00100000..0x001001ff [0x200 / 2 blocks].. OK
0x00100200..0x00100d37 [0xb38 / 12 blocks]............ OK

Resetting hardware...
All done.

Have a nice day!

/opt/proxmark3/client$ sudo ./flasher /dev/ttyACM1 ../armsrc/obj/ful$
Loading ELF file '../armsrc/obj/fullimage.elf'...
Loading usable ELF segments:
0: V 0x00102000 P 0x00102000 (0x00025468->0x00025468) [R X] @0x94
1: V 0x00200000 P 0x00127468 (0x00001a04->0x00001a04) [RW ] @0x254fc
Note: Extending previous segment from 0x25468 to 0x26e6c bytes

Waiting for Proxmark to appear on /dev/ttyACM1. Found.

Flashing...
Writing segments for file: ../armsrc/obj/fullimage.elf
0x00102000..0x00128e6b [0x26e6c / 312 blocks]..............................................................................................................................$

Resetting hardware...
All done.

Have a nice day!

After doing this, the problem remains with about 1% reliable print of system info on client start. LEDs still behaving as expected. When information does post it displays the updated versions.

$ sudo ./proxmark3 /dev/ttyACM1
Prox/RFID mark3 RFID instrument
bootrom: master/v2.2.0-58-gdfb387b-suspect 2015-10-10 11:52:19
os: master/v2.2.0-58-gdfb387b-suspect 2015-10-10 11:52:20
LF FPGA image built for 2s30vq100 on 2015/03/06 at 07:38:04
HF FPGA image built for 2s30vq100 on 2015/06/22 at 21:47:54

uC: AT91SAM7S256 Rev B
Embedded Processor: ARM7TDMI
Nonvolatile Program Memory Size: 256K bytes. Used: 167529 bytes (64%). Free: 94615 bytes (36%).
Second Nonvolatile Program Memory Size: None
Internal SRAM Size: 64K bytes
Architecture Identifier: AT91SAM7Sxx Series
Nonvolatile Program Memory Type: Embedded Flash Memory
proxmark3> hw tune

Measuring antenna characteristics, please wait...........
No response from Proxmark. Aborting...
proxmark3> hw status
Status command failed. USB Speed Test timed out
proxmark3> hw ping
Ping failed
proxmark3>

This suggests flashing was successful but behavior is unchanged. Dmesg is still normal so I check usbmon capture. Looks like pm3 is responding to commands but client is not receiving or parsing. Wireshark is showing malformed/bogus packets. I can post some caps after collecting more. Also started looking at /lib/modules/3.13.0-65-generic/kernel/drivers/usb/class/cdc-acm.ko and pm3 source but not so familiar with USB, CDC or drivers.

Things tried:
change usb3 settings in BIOS: auto, enabled, disabled,
unbind in /sys/bus/pci/drivers/xhci_hcd/ and /sys/bus/pci/drivers/ehci-pci
connect via USB 2.0 hub

To try:
new OS
new laptop
....?

Any advice on how to return to reliable function or best approach to troubleshoot? Has worked on several previous laptops and seems to have flashed successfully to latest version but nothing so far results in reliable client parsing of usb comms from pm3.

Thanks,
K

Offline

#2 2015-10-12 13:21:18

kprc
Member
Registered: 2015-10-12
Posts: 3

Re: Unreliable pm3 to client communication

Also tried swapping cables and starting client with/without antennae connected. No change observed.

Offline

#3 2015-10-12 13:53:57

iceman
Administrator
Registered: 2013-04-25
Posts: 6,538
Website

Re: Unreliable pm3 to client communication

What does  dmesg say?

holiman wrote:

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

http://www.proxmark.org/forum/viewforum.php?id=1668

Last edited by iceman (2015-10-12 13:56:40)


If you feel the love,  https://www.patreon.com/iceman1001

modhex(hkhehghthbhudcfcdchkigiehgduiehg)

Offline

#4 2015-10-12 20:17:37

kprc
Member
Registered: 2015-10-12
Posts: 3

Re: Unreliable pm3 to client communication

Thanks Iceman.

Forgot to mention modemmanager is removed. Here is dmesg. Seems the same if I remember when it was working on the previous laptop with the same OS.

[  221.723332] usb 1-1.2: New USB device found, idVendor=2d2d, idProduct=504d
[  221.723342] usb 1-1.2: New USB device strings: Mfr=1, Product=0, SerialNumber=0
[  221.723347] usb 1-1.2: Manufacturer: proxmark.org
[  221.723898] cdc_acm 1-1.2:1.0: This device cannot do calls on its own. It is not a modem.
[  221.723978] cdc_acm 1-1.2:1.0: ttyACM1: USB ACM device

Here is usb-device. Not sure how to interpret this.

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 11 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=02(commc) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=2d2d ProdID=504d Rev=00.01
S:  Manufacturer=proxmark.org
C:  #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm
I:  If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm

Will look more into pcaps tomorrow.

Offline

#5 2015-11-23 15:47:29

nusch
Member
Registered: 2011-07-25
Posts: 4

Re: Unreliable pm3 to client communication

Hello
Did you manage to solve it?
For me it's visible correctly under /dev/ttyACM0, then after 15 seconds during command  hf mf mifare all LEDs are gone, ale device reappers under /dev/ttyACM1, the same happens under Android client

[ 3940.435546] usb 5-4: new full-speed USB device number 70 using ohci-pci
[ 3940.603988] usb 5-4: New USB device found, idVendor=2d2d, idProduct=504d
[ 3940.604000] usb 5-4: New USB device strings: Mfr=1, Product=0, SerialNumber=0
[ 3940.604007] usb 5-4: Manufacturer: proxmark.org
[ 3940.606110] cdc_acm 5-4:1.0: This device cannot do calls on its own. It is not a modem.
[ 3940.606146] cdc_acm 5-4:1.0: ttyACM0: USB ACM device
[ 4037.395915] usb 5-4: USB disconnect, device number 70
[ 4039.330627] usb 5-4: new full-speed USB device number 71 using ohci-pci
[ 4039.500082] usb 5-4: New USB device found, idVendor=2d2d, idProduct=504d
[ 4039.500086] usb 5-4: New USB device strings: Mfr=1, Product=0, SerialNumber=0
[ 4039.500088] usb 5-4: Manufacturer: proxmark.org
[ 4039.502123] cdc_acm 5-4:1.0: This device cannot do calls on its own. It is not a modem.
[ 4039.502140] cdc_acm 5-4:1.0: ttyACM0: USB ACM device
......@......:/.../proxmark3/client$ ./proxmark3 /dev/ttyACM0
proxmark3> hf mf mifare
-------------------------------------------------------------------------
Executing command. Expected execution time: 25sec on average  :-)
Press the key on the proxmark3 device to abort both proxmark3 and client.
-------------------------------------------------------------------------
..#db# Mifare: Can't select card                 
#db# Mifare: Can't select card                 
........................^C
.....@......:/.../proxmark3/client$ dmesg | tail -10
[ 4039.500088] usb 5-4: Manufacturer: proxmark.org
[ 4039.502123] cdc_acm 5-4:1.0: This device cannot do calls on its own. It is not a modem.
[ 4039.502140] cdc_acm 5-4:1.0: ttyACM0: USB ACM device
[ 4530.450368] usb 5-4: USB disconnect, device number 71
[ 4531.333415] usb 5-4: new full-speed USB device number 72 using ohci-pci
[ 4531.498085] usb 5-4: New USB device found, idVendor=2d2d, idProduct=504d
[ 4531.498096] usb 5-4: New USB device strings: Mfr=1, Product=0, SerialNumber=0
[ 4531.498103] usb 5-4: Manufacturer: proxmark.org
[ 4531.500211] cdc_acm 5-4:1.0: This device cannot do calls on its own. It is not a modem.
[ 4531.500249] cdc_acm 5-4:1.0: ttyACM1: USB ACM device

Offline

Board footer

Powered by FluxBB