Commit Graph
100 Commits
Author SHA1 Message Date
Philippe Teuwen 47d0a8fa00 typo 2026-09-04 19:59:40 +02:00
Philippe Teuwen fc4bf7cf51 doc 2026-09-03 08:12:04 +02:00
Philippe Teuwen 9573cb355c BWM-related fcts: make sure every usage of I2C starts with StartTicks() & I2C_init() 2026-09-02 12:06:37 +02:00
Philippe Teuwen 38e0c068d9 A few less hardcoded 40000 samples 2026-09-01 19:54:05 +02:00
Philippe Teuwen 0cde2124c8 Replace pm3_max_cmd_data_size() by g_conn.max_cmd_data_size 2026-09-01 17:58:14 +02:00
Philippe Teuwen b69fa20233 Precompute max_cmd_data_size in TestProxmark 2026-09-01 17:58:07 +02:00
Philippe Teuwen 18aed4eaa4 spurious hidden char 2026-09-01 14:09:49 +02:00
Philippe Teuwen 3ed5792b23 fix doc link 2026-09-01 14:07:12 +02:00
Philippe Teuwen 2b7a436ada Warn if sending bitstream to FPGA fails 2026-09-01 00:17:28 +02:00
Philippe Teuwen c356ce7f14 Restore client and fw capabilities version parity 2026-08-30 22:42:52 +02:00
Philippe Teuwen 519e0f6de9 pm5_battery_test: misc fixes 2026-08-30 14:11:47 +02:00
Philippe Teuwen aa052ca444 pm5_battery_test: fix missing arg 2026-08-30 13:58:20 +02:00
Philippe Teuwen bf32513d1b pm5_battery_test: merge nieldk version and add test scenarios 2026-08-30 13:44:46 +02:00
Philippe Teuwen 0197fe8484 Battery test graph: elapsed time 2026-08-30 00:06:13 +02:00
Philippe Teuwen 8017246fd5 Battery test scripts 2026-08-30 00:06:13 +02:00
Philippe Teuwen 09bf8fb04e doc 2026-08-29 18:33:01 +02:00
Philippe Teuwen ff6954f8a6 First attempt at providing guidance to LLMs, don't hesitate to try it out 2026-08-28 15:17:11 +02:00
Philippe Teuwen a6b4107066 Add --on to hw bwmcharge, same syntax as hw bwmautooff 2026-08-28 13:17:05 +02:00
Philippe Teuwen f08792fef0 Add -n to hf 14a reader 2026-08-28 10:29:26 +02:00
Philippe Teuwen 1871fe942c bwm doc 2026-08-27 20:44:39 +02:00
Philippe Teuwen 18c7e69295 rework pm5 doc 2026-08-27 09:15:37 +02:00
Philippe Teuwen 60a61fc343 rework pm5 doc 2026-08-27 09:11:07 +02:00
Philippe Teuwen 7fb8927523 Fix streaming bug affecting mostly the pm5
Bug triggered with:
lf read -s 50000
hw ping

ReadLF_realtime() in lfsampling.c never knew how many samples the client wanted — for the realtime path, lf_sample_payload_t.samples was never populated on the client side, and the ARM handler in appmain.c (CMD_LF_ACQ_RAW_ADC/CMD_LF_SNIFF_RAW_ADC) ignored it anyway. So the device just streamed samples indefinitely, only checking for a stop request roughly once per 64-sample USB burst, and even after noticing it, flushed one more trailing partial burst via async_usb_write_stop().

Meanwhile the client (WaitForRawDataTimeout in comms.c) stops listening in raw mode the instant it has collected exactly the number of bytes it asked for (e.g. 50000), then switches back to normal framed-packet parsing. Since the device kept sending more bytes past that point, those extra bytes sat unread in the pipe and got misinterpreted as a PacketResponseNGPreamble/OLD-frame header, corrupting every subsequent USB exchange (hw ping, etc.) — reproducible even with a plain lf read -s 50000, no trigger/COTAG needed.

Moreover, we make sure the client doesn't stop listening, even briefly, during stream reception.
2026-08-26 20:16:46 +02:00
Philippe Teuwen 18bc735822 ARM: err on more warnings 2026-08-26 17:19:13 +02:00
Philippe Teuwen 0c8005b9c1 Remove inline keyword to fix compiler warning about it not being fulfilled anyway 2026-08-26 16:26:48 +02:00
Philippe Teuwen d6c28f7c90 minor 2026-08-26 16:26:05 +02:00
Philippe Teuwen 9c6ca6be4a Add missing prototype 2026-08-26 16:24:44 +02:00
Philippe Teuwen 4001b11d9c Cleaning some lf_finalize <> StartTicks <> StopTicks 2026-08-25 19:30:43 +02:00
Philippe Teuwen b5b39cdcf3 pm5 todo for hw tune 2026-08-25 13:27:43 +02:00
Philippe Teuwen 47b4ea58ee minor doc fixes 2026-08-25 13:20:49 +02:00
Philippe Teuwen 4165844a98 minor doc changes 2026-08-25 12:56:39 +02:00
Philippe Teuwen 32e2e414cd doc 2026-08-24 21:16:57 +02:00
Philippe Teuwen cb56d04eff Restore Makefile.platform.sample content 2026-08-24 21:08:42 +02:00
Philippe Teuwen 73cc583b0e Flash: skip warning when the bootrom gets updated 2026-08-23 01:28:47 +02:00
Philippe Teuwen 644ebba3d7 Try to fix MSYS2 compilation with openjpeg 2026-08-22 00:54:36 +02:00
Philippe Teuwen 95db547747 Remove object file 2026-08-22 00:16:25 +02:00
Philippe Teuwen 4682271488 add sleep to rdv4_init_extflash t55xx config 2026-08-20 17:49:12 +02:00
Philippe Teuwen 76dfb643d3 pm5 instructions 2026-08-20 17:37:58 +02:00
Philippe Teuwen c9581bde4d rdv4_init_extflash: use same values as init_rdv4.lua 2026-08-20 15:45:57 +02:00
Philippe Teuwen 08f8dc8692 CARDHOPPER: document how to set CARDHOPPER_USB 2026-08-20 14:28:21 +02:00
Philippe Teuwen b11b85e51a CARDHOPPER: missing header 2026-08-20 14:28:21 +02:00
Philippe Teuwen 72d72ddc9d update extflash init scripts 2026-08-20 10:11:42 +02:00
Philippe Teuwen cb5b3b65c8 pm5 doc: cmake for ARM 2026-08-19 22:56:46 +02:00
Philippe Teuwen 4da4eb706a Fix bug in bootrom.bin target 2026-08-19 22:18:48 +02:00
Philippe Teuwen fbfe53d0bb update pm5 doc 2026-08-19 22:02:28 +02:00
Philippe Teuwen 06bc3239ab Proxmark5 instructions, WIP 2026-08-19 21:40:15 +02:00
Philippe Teuwen caa76f57b3 Fix pm5 recovery image 2026-08-19 19:28:17 +02:00
Philippe Teuwen 4e684cb4d3 PM5: Detect incompatible PLATFORM_EXTRAS 2026-08-19 17:52:15 +02:00
Philippe Teuwen 827fce4839 Use ARRAYLEN when possible 2026-08-19 15:51:54 +02:00
Philippe Teuwen 5518e6af77 Fix Flash_UniqueID 2026-08-19 15:51:54 +02:00
Philippe Teuwen 6863314019 Remove tabs 2026-08-19 15:51:54 +02:00
Philippe Teuwen 52af3f11e2 rename a couple of commands 2026-08-19 15:51:54 +02:00
Philippe Teuwen b6752e9dde compile CMD_FPGA_CMD_SET_PWR_PWM_LOW_COUNT only for pm5 2026-08-19 15:51:54 +02:00
Philippe Teuwen f82ac61e78 Prompt the user when flash_suggest_update_bootloader()
pm3line_init() delayed to not install signal handlers on other usages than interactive client
2026-08-19 15:51:54 +02:00
Philippe Teuwen 86b9e4d108 Merge: hardware abstraction layer for ARM 2026-08-19 15:51:53 +02:00
Philippe Teuwen ee4ff741ff Fix tools/mkversion.sh to follow new common_arm dir structure 2026-08-19 15:32:39 +02:00
Philippe Teuwen 51d0ff260a cppcheck fix sanity check condition in SimTagIso15693 2026-08-19 13:53:09 +02:00
Philippe Teuwen ddd8e57427 Make loclass/cipher_bs_avx* compatible with clang 2026-08-19 12:59:29 +02:00
Philippe Teuwen 430fea5338 Guard fpga config flash mode with capability 2026-08-19 12:04:33 +02:00
Philippe Teuwen 7c436d2d58 guard pm5 commands with capabilities 2026-08-19 12:04:33 +02:00
Philippe Teuwen d2a8cca233 Add pm5 capabilities 2026-08-19 12:04:33 +02:00
Philippe Teuwen 420e36968b cmdfpga: clear error msg 2026-08-19 12:04:33 +02:00
Philippe Teuwen 66c5fd8343 Fix external flash sanity check in prevision of pm5 2026-08-19 12:04:33 +02:00
Philippe Teuwen 436bbed4a2 Add placeholder for CMD_MAIN_CHIP_UNIQUEID 2026-08-19 12:04:32 +02:00
Philippe Teuwen d2a2d63854 Fix CodeQL warning on printf 2026-08-19 12:04:32 +02:00
Philippe Teuwen a061f080ed experimental_lib: add missing cmdfpga.c 2026-08-19 12:04:32 +02:00
Philippe Teuwen 6550610ad0 Migrate from MINGW64 to UCRT64 as arm-none-eabi-gcc is not available anymore in MINGW64
cf https://github.com/msys2/MINGW-packages/commit/bb4125054bf0a400c77a64adb07b64658554083b
2026-06-23 11:04:34 +02:00
Philippe Teuwen 5666cdf4e8 make style 2026-06-23 00:03:16 +02:00
Philippe Teuwen 10fdef1811 standalone mode HF_DOEGOX_COMMIT: DESFire suspended commit without relay 2026-06-23 00:03:00 +02:00
Philippe Teuwen 410769e463 counterfeit ULC: remove legacy poc 2026-06-10 08:05:15 +02:00
Philippe Teuwen 652602d23c Fix alignment warning 2026-06-10 01:16:14 +02:00
Philippe Teuwen 184a957436 counterfeit ULC: add support to auth with nonce pairs 2026-06-10 01:02:14 +02:00
Philippe Teuwen 607737e52e counterfeit ULC: need to merge nonce collection in auth logic for proper timings 2026-06-10 00:39:46 +02:00
Philippe Teuwen 6d8ed745fd counterfeit ULC: misc tuning 2026-06-10 00:39:46 +02:00
Philippe Teuwen efcc34a698 make style 2026-06-07 23:01:20 +02:00
Philippe Teuwen ff04e1ea9a hf mfu cauth: add -c to collect nonces 2026-06-07 22:58:39 +02:00
Philippe Teuwen fb238015fa hf mfu sim --1a2-mirror 2026-06-04 20:19:15 +02:00
Philippe Teuwen ea142febde mf mfu sim ULC/ULAES: force tag response if --1a2 is provided 2026-06-02 07:01:41 +02:00
Philippe Teuwen fa8e200c5b mfulc_counterfeit_recovery: faster vuln check 2026-05-28 23:58:09 +02:00
Philippe Teuwen f22dd43cfc mfulc_counterfeit_recovery: faster writes 2026-05-28 23:37:29 +02:00
Philippe Teuwen b13a8ce1d5 mfulc_counterfeit_recovery --cuda: dummy call to wake up the GPU ahead 2026-05-28 23:24:14 +02:00
Philippe Teuwen 13b5b1d519 Adjust hf_doegox_auth0 to support counterfeits 2026-05-28 20:08:15 +02:00
Philippe Teuwen 65de25c67e Avoid false buffer overflow warning in GCC 11
GCC 11 can’t prove PRIu64 won’t expand beyond two digits, so we switch this formatter to bounded unsigned int fields (%02u) after clamping logic.
2026-05-22 19:06:48 +02:00
Philippe Teuwen 20aaf4c292 mfulc_counterfeit_recovery.py: add --get_frequent_chal and --unlock 2026-05-22 18:52:02 +02:00
Philippe Teuwen c5e35b26a6 Add --force to mfulc_counterfeit_recovery.py 2026-05-22 11:12:17 +02:00
Philippe Teuwen ea3343156e mfulc_counterfeit_recovery.py: add --cuda to call the CUDA implementation of mfulc_des_brute 2026-05-22 00:26:22 +02:00
Philippe Teuwen b3d4e692ec mfulc_des_brute: add dynamic work pool support 2026-05-22 00:20:55 +02:00
Philippe Teuwen 16706aeeac pm3_help2json.py: fix deprecation warning 2026-05-21 21:00:58 +02:00
Philippe Teuwen d078e8a62b make style 2026-05-21 20:54:44 +02:00
Philippe Teuwen 729a8748d9 Fix vec dep with cmake 2026-05-19 09:36:32 +02:00
Philippe Teuwen fe82cae1df Add vec in cliuent deps 2026-05-19 00:37:37 +02:00
Philippe Teuwen d8c7f84598 Add Makefile PLATFORM_FILE variable to specify another Makefile.platform file 2026-05-19 00:10:17 +02:00
Philippe Teuwen 620e8b4744 Client Makefile: add FORCE* options to mirror the SKIP* options, mostly for maintainers 2026-05-11 21:43:57 +02:00
Philippe Teuwen d0661c4ce2 changelog 2026-04-28 13:57:16 +02:00
Philippe Teuwen 4e36685738 Update linux instructions for picolibc and opencl 2026-04-28 13:00:43 +02:00
Philippe Teuwen 5984a062b2 Docker Debian Forky: fix dependencies 2026-04-28 13:00:43 +02:00
Philippe Teuwen 64f0145cb4 ARM mbedtls: prevent compilation of self_test functions
They were discarded by the linker GC as they weren't used so far, but better to make it explicit.
2026-04-28 13:00:43 +02:00
Philippe Teuwen 0f4fd96f83 ARM common/generator.c: prevent compilation of functions requiring missing mbedtls files
They were discarded by the linker GC as they weren't used so far, but better to make it explicit.
2026-04-28 13:00:43 +02:00
Philippe Teuwen e7de85a1a3 ARM LZ4: prevent compilation of functions using malloc/free
They were discarded by the linker GC as they weren't used so far, but better be safe...
2026-04-28 13:00:43 +02:00
Philippe Teuwen 6efff9a6ae ARM: tidy compilation flags 2026-04-28 13:00:42 +02:00