mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-04-08 05:20:28 +08:00
update new frames doc
This commit is contained in:
parent
4d0875442f
commit
c4e16ebb9b
1 changed files with 42 additions and 12 deletions
|
@ -199,10 +199,12 @@ USART code has been rewritten to cope with unknown size packets.
|
||||||
usart_init:
|
usart_init:
|
||||||
* USART is activated all way long from usart_init(), no need to touch it in RX/TX routines: pUS1->US_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN
|
* USART is activated all way long from usart_init(), no need to touch it in RX/TX routines: pUS1->US_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN
|
||||||
|
|
||||||
usart_writebuffer:
|
usart_writebuffer_sync:
|
||||||
* still using double DMA but accepts arbitrary packet sizes
|
* still using DMA but accepts arbitrary packet sizes
|
||||||
* removed unneeded memcpy.
|
* removed unneeded memcpy
|
||||||
* wait for both DMA buffers to be treated before returning (TODO still needed?)
|
* wait for DMA buffer to be treated before returning, therefore "sync"
|
||||||
|
* we could make an async version but caller must be sure the DMA buffer remains available!
|
||||||
|
* as it's sync, no need for next DMA buffer
|
||||||
|
|
||||||
usart_read_ng:
|
usart_read_ng:
|
||||||
* user tells expected packet length
|
* user tells expected packet length
|
||||||
|
@ -242,16 +244,16 @@ USART_BAUD_RATE defined there
|
||||||
linux usb: #db# USB Transfer Speed PM3 -> Client = 666624 Bytes/s (equiv. to ~7Mbaud)
|
linux usb: #db# USB Transfer Speed PM3 -> Client = 666624 Bytes/s (equiv. to ~7Mbaud)
|
||||||
|
|
||||||
|
|
||||||
At some point, when still activating AT91C_PDC_TXTEN in usart_writebuffer, we needed to increase client uart timeout.
|
|
||||||
We tried 300ms, but then USB flasher failed :
|
|
||||||
[=] UART Setting serial baudrate 460800
|
|
||||||
.Found
|
|
||||||
Error: Unknown Proxmark3 mode
|
|
||||||
Now we're at 60ms
|
|
||||||
(uart/uart_posix.c)
|
(uart/uart_posix.c)
|
||||||
|
// Receiving from USART need more than 30ms as we used on USB
|
||||||
|
// else we get errors about "Received packet frame ... too short"
|
||||||
|
// Now we're using 100ms
|
||||||
|
// FTDI 9600 hw status -> we need 20ms
|
||||||
|
// FTDI 115200 hw status -> we need 50ms
|
||||||
|
// FTDI 460800 hw status -> we need 30ms
|
||||||
struct timeval timeout = {
|
struct timeval timeout = {
|
||||||
.tv_sec = 0, // 0 second
|
.tv_sec = 0, // 0 second
|
||||||
.tv_usec = 60000 // 60 000 micro seconds
|
.tv_usec = 100000 // 100 000 micro seconds
|
||||||
};
|
};
|
||||||
|
|
||||||
Add automatically some communication delay in the WaitForResponseTimeout timeout
|
Add automatically some communication delay in the WaitForResponseTimeout timeout
|
||||||
|
@ -274,6 +276,34 @@ uint32_t usart_read_ng(uint8_t *data, size_t len) {
|
||||||
// Let's take 10x
|
// Let's take 10x
|
||||||
uint32_t maxtry = 10 * ( 3000000 / USART_BAUD_RATE );
|
uint32_t maxtry = 10 * ( 3000000 / USART_BAUD_RATE );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DbpStringEx using reply_old:
|
||||||
|
time client/proxmark3 -p /dev/ttyACM0 -c "hw status"
|
||||||
|
2.52s
|
||||||
|
time client/proxmark3 -p /dev/ttyUSB0 -b 460800 -c "hw status"
|
||||||
|
3.03s
|
||||||
|
time client/proxmark3 -p /dev/ttyUSB0 -b 115200 -c "hw status"
|
||||||
|
4.88s
|
||||||
|
DbpStringEx using reply_old:
|
||||||
|
time client/proxmark3 -p /dev/ttyUSB0 -b 9600 -c "hw status"
|
||||||
|
26.5s
|
||||||
|
|
||||||
|
DbpStringEx using reply_mix:
|
||||||
|
time client/proxmark3 -p /dev/ttyUSB0 -b 9600 -c "hw status"
|
||||||
|
7.08s
|
||||||
|
|
||||||
|
DbpStringEx using reply_ng:
|
||||||
|
time client/proxmark3 -p /dev/ttyACM0 -c "hw status"
|
||||||
|
2.10s
|
||||||
|
time client/proxmark3 -p /dev/ttyUSB0 -b 460800 -c "hw status"
|
||||||
|
2.22s
|
||||||
|
time client/proxmark3 -p /dev/ttyUSB0 -b 115200 -c "hw status"
|
||||||
|
2.43s
|
||||||
|
time client/proxmark3 -p /dev/ttyUSB0 -b 9600 -c "hw status"
|
||||||
|
5.75s
|
||||||
|
|
||||||
|
|
||||||
Reference frames
|
Reference frames
|
||||||
================
|
================
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue