mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 13:53:55 -07:00
Update docs
This commit is contained in:
parent
de7b6f35bc
commit
9ff672ca8f
2 changed files with 52 additions and 9 deletions
|
@ -332,9 +332,11 @@ else we get errors about partial packet reception
|
||||||
FTDI 460800 hw status ⇒ we need 30ms
|
FTDI 460800 hw status ⇒ we need 30ms
|
||||||
BT 115200 hf mf fchk --1k -f file.dic ⇒ we need 140ms
|
BT 115200 hf mf fchk --1k -f file.dic ⇒ we need 140ms
|
||||||
|
|
||||||
# define UART_FPC_CLIENT_RX_TIMEOUT_MS 170
|
# define UART_FPC_CLIENT_RX_TIMEOUT_MS 200
|
||||||
# define UART_USB_CLIENT_RX_TIMEOUT_MS 20
|
# define UART_USB_CLIENT_RX_TIMEOUT_MS 20
|
||||||
# define UART_TCP_CLIENT_RX_TIMEOUT_MS 300
|
# define UART_NET_CLIENT_RX_TIMEOUT_MS 500
|
||||||
|
# define UART_TCP_LOCAL_CLIENT_RX_TIMEOUT_MS 40
|
||||||
|
# define UART_UDP_LOCAL_CLIENT_RX_TIMEOUT_MS 20
|
||||||
|
|
||||||
This goes to `uart_posix.c` `timeval` struct
|
This goes to `uart_posix.c` `timeval` struct
|
||||||
and `uart_win32.c` `serial_port_windows` struct
|
and `uart_win32.c` `serial_port_windows` struct
|
||||||
|
@ -342,7 +344,7 @@ and `uart_win32.c` `serial_port_windows` struct
|
||||||
It starts at UART_FPC_CLIENT_RX_TIMEOUT_MS and once we detect we're working over USB
|
It starts at UART_FPC_CLIENT_RX_TIMEOUT_MS and once we detect we're working over USB
|
||||||
it's reduced to UART_USB_CLIENT_RX_TIMEOUT_MS.
|
it's reduced to UART_USB_CLIENT_RX_TIMEOUT_MS.
|
||||||
|
|
||||||
|
The timeout is configurable by the `hw timeout` command (since v4.17140).
|
||||||
|
|
||||||
Add automatically some communication delay in the `WaitForResponseTimeout` & `dl_it` timeouts.
|
Add automatically some communication delay in the `WaitForResponseTimeout` & `dl_it` timeouts.
|
||||||
Only when using FPC, timeout = 2* empirically measured delay (FTDI cable).
|
Only when using FPC, timeout = 2* empirically measured delay (FTDI cable).
|
||||||
|
|
|
@ -15,12 +15,13 @@
|
||||||
* [ Flashing the kernel ](#flashing-the-kernel)
|
* [ Flashing the kernel ](#flashing-the-kernel)
|
||||||
* [ Testing ](#testing)
|
* [ Testing ](#testing)
|
||||||
* [ Troubleshooting ](#troubleshooting)
|
* [ Troubleshooting ](#troubleshooting)
|
||||||
* [ TCP bridge method ](#tcp-bridge-method)
|
* [ TCP/UDP bridge method ](#tcpudp-bridge-method)
|
||||||
* [ USB connection ](#usb-connection)
|
* [ USB connection ](#usb-connection)
|
||||||
* [ USB-UART bridge application ](#usb-uart-bridge-application)
|
* [ USB-UART bridge application ](#usb-uart-bridge-application)
|
||||||
* [ Bluetooth connection ](#bluetooth-connection)
|
* [ Bluetooth connection ](#bluetooth-connection)
|
||||||
* [ BT-UART bridge application ](#bt-uart-bridge-application)
|
* [ BT-UART bridge application ](#bt-uart-bridge-application)
|
||||||
* [ TCP connection ](#tcp-connection)
|
* [ TCP connection ](#tcp-connection)
|
||||||
|
* [ UDP connection ](#udp-connection)
|
||||||
* [Troubleshooting](#troubleshooting-1)
|
* [Troubleshooting](#troubleshooting-1)
|
||||||
* [BTADDON Missing in Firmware of PM3](#btaddon-missing-in-firmware-of-pm3)
|
* [BTADDON Missing in Firmware of PM3](#btaddon-missing-in-firmware-of-pm3)
|
||||||
* [Compiling and Flashing a Proxmark3 Firmware from non-root Android](#compiling-and-flashing-a-proxmark3-firmware-from-non-root-android)
|
* [Compiling and Flashing a Proxmark3 Firmware from non-root Android](#compiling-and-flashing-a-proxmark3-firmware-from-non-root-android)
|
||||||
|
@ -125,16 +126,20 @@ Everything should work just like if it was your PC!
|
||||||
- `dmesg | grep usb` - useful debug info
|
- `dmesg | grep usb` - useful debug info
|
||||||
- `/proc/config.gz` - contains your kernel's build configuration. Look for `CONFIG_USB_ACM`, which should be enabled
|
- `/proc/config.gz` - contains your kernel's build configuration. Look for `CONFIG_USB_ACM`, which should be enabled
|
||||||
|
|
||||||
## TCP bridge method
|
## TCP/UDP bridge method
|
||||||
^[Top](#top)
|
^[Top](#top)
|
||||||
|
|
||||||
Termux doesn't come with usb serial neither bluetooth serial drivers.
|
Termux doesn't come with usb serial neither bluetooth serial drivers.
|
||||||
However, it is fully integrated with phone's network, so we need to talk to the proxmark using serial to tcp sockets (carried out by android apps).
|
However, it is fully integrated with phone's network, so we need to talk to the proxmark using serial to TCP/UDP sockets (carried out by other android apps).
|
||||||
|
|
||||||
|
```
|
||||||
|
|Client in Termux| <--TCP/UDP--> |Bridge App| <--USB/Bluetooth--> |Proxmark3|
|
||||||
|
```
|
||||||
|
|
||||||
### USB connection
|
### USB connection
|
||||||
^[Top](#top)
|
^[Top](#top)
|
||||||
|
|
||||||
#### USB-UART Bridge Application
|
#### USB-UART Bridge Application for TCP to USB bridging
|
||||||
^[Top](#top)
|
^[Top](#top)
|
||||||
|
|
||||||
Install [this free TCPUART app](https://play.google.com/store/apps/details?id=com.hardcodedjoy.tcpuart) on the Play Store
|
Install [this free TCPUART app](https://play.google.com/store/apps/details?id=com.hardcodedjoy.tcpuart) on the Play Store
|
||||||
|
@ -153,7 +158,7 @@ It is possible to record the config as autostart, cf 'Settings' -> 'Autostart se
|
||||||
### Bluetooth connection
|
### Bluetooth connection
|
||||||
^[Top](#top)
|
^[Top](#top)
|
||||||
|
|
||||||
#### BT-UART Bridge Application
|
#### BT-UART Bridge Application for TCP to BT bridging
|
||||||
^[Top](#top)
|
^[Top](#top)
|
||||||
|
|
||||||
Install [this free app](https://play.google.com/store/apps/details?id=masar.bb) or [the paid version](https://play.google.com/store/apps/details?id=masar.bluetoothbridge.pro) (which includes usb bridge)
|
Install [this free app](https://play.google.com/store/apps/details?id=masar.bb) or [the paid version](https://play.google.com/store/apps/details?id=masar.bluetoothbridge.pro) (which includes usb bridge)
|
||||||
|
@ -175,6 +180,42 @@ Alternatively, if you have made the client in the git repo:
|
||||||
```
|
```
|
||||||
./client/proxmark3 tcp:localhost:<chosenPort>
|
./client/proxmark3 tcp:localhost:<chosenPort>
|
||||||
```
|
```
|
||||||
|
If the last colon and the chosen port are missing, the client will use `18888` as the default port.
|
||||||
|
|
||||||
|
### UDP connection
|
||||||
|
^[Top](#top)
|
||||||
|
|
||||||
|
Start a new session, then:
|
||||||
|
```
|
||||||
|
proxmark3 udp:localhost:<chosenPort>
|
||||||
|
```
|
||||||
|
Alternatively, if you have made the client in the git repo:
|
||||||
|
```
|
||||||
|
./client/proxmark3 udp:localhost:<chosenPort>
|
||||||
|
```
|
||||||
|
If the last colon and the chosen port are missing, the client will use `18888` as the default port.
|
||||||
|
|
||||||
|
You can also specify the outbound port for UDP connections, which might be required for some UDP to USB/BT bridge app as the target port of it.
|
||||||
|
The format is
|
||||||
|
```
|
||||||
|
proxmark3 udp:localhost:<chosenPort>,bind=:<outboundPort>
|
||||||
|
```
|
||||||
|
Some examples:
|
||||||
|
```
|
||||||
|
# The bridge app listens on Port 12345, and the client listens on Port 12355
|
||||||
|
proxmark3 udp:localhost:12345,bind=:12355
|
||||||
|
|
||||||
|
# 127.0.0.1 is also a valid local address
|
||||||
|
proxmark3 udp:127.0.0.1:12345,bind=:12355
|
||||||
|
|
||||||
|
# The bridge app listens on the default port 18888, and the client listens on Port 12355
|
||||||
|
proxmark3 udp:127.0.0.1,bind=:12355
|
||||||
|
|
||||||
|
# OutboundPort is randomly picked by the system, which requires the "UDP server" mode for the bridge app
|
||||||
|
proxmark3 udp:localhost:12345
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
^[Top](#top)
|
^[Top](#top)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue