-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NFC refactoring #3050
NFC refactoring #3050
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code is quite large to be reviewed in full, so I stopped on lib\nfc\protocols\iso14443_3b\iso14443_3b.c =)
Overall this is very good code! Thanks!
Here are the traces @gornekich : traces.zip The files are named
|
@noproto Thanks a lot for the effort! The sniffer data you have provided did clarify things quite a bit. It turns out that at least in one instance, a DESFire card responds with an unexpected amount of data to the GetFileSettings command. This discrepancy was ignored in the pre-refactoring version, but it's unclear whether that data was valid or just garbage. It may be some new addition to the proprietary DESFire protocol. In any case, I would like to have some more logs from you :) Please fetch the last commit on |
|
||
instance->signal = iso15693_signal_alloc(&gpio_spi_r_mosi); | ||
instance->parser = | ||
iso15693_parser_alloc(&gpio_spi_r_miso, FURI_HAL_NFC_ISO15693_MAX_FRAME_SIZE); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The use of MISO here is an issue. It breaks emulation against readers that use ASK modulation instead of OOK modulation. For example legacy iClass readers flipperdevices/flipperzero-good-faps#62 (comment)
The previous code uses the IRQ line instead as per
flipperzero-firmware/lib/nfc/protocols/nfcv.c
Line 1223 in 35c9034
pulse_reader_alloc(&gpio_nfc_irq_rfid_pull, NFCV_PULSE_BUFFER); |
Note that due to the diode on the IRQ line, using that pin requires enabling a PullDown which the old code achieved here:
flipperzero-firmware/lib/nfc/protocols/nfcv.c
Line 1229 in 35c9034
pulse_reader_set_pull(nfcv_data->emu_air.reader_signal, GpioPullDown); |
Hi there. Is there anyone who can guide me a bit to install qflipper on Linux Ubuntu? The image doesn't do anything. Or is there an online terminal with q flipper as the firmware cannot be updated through the phone app and its always crashing bus fault'. Its been stuck on 0.92. All the best. Blessing everyone 1.0.x |
|
I tried mostly everything. I guess I should try easier on windows. Thanks a lot 🙏 |
Per the comment at the top of the file, defining DIGITAL_SIGNAL_DEBUG_OUTPUT_PIN to be a GpioPin variable name should allow additional debug output on that pin. However, this would not work without modifying the file as well to add the furi_hal.h header. Wrap including that header in the same macro define to automatically include it when used. Fixes: d92b0a8 ("NFC refactoring (flipperdevices#3050)") Signed-off-by: Kris Bahnsen <[email protected]>
…fs (#3964) Per the comment at the top of the file, defining DIGITAL_SIGNAL_DEBUG_OUTPUT_PIN to be a GpioPin variable name should allow additional debug output on that pin. However, this would not work without modifying the file as well to add the furi_hal.h header. Wrap including that header in the same macro define to automatically include it when used. Fixes: d92b0a8 ("NFC refactoring (#3050)") Signed-off-by: Kris Bahnsen <[email protected]> Co-authored-by: hedger <[email protected]>
What's new
Verification
Checklist (For Reviewer)