From 36abece0b129f64934e6522f6d94cdf38213c5e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Redon?= Date: Mon, 4 Jun 2018 16:30:01 +0200 Subject: [PATCH] enable (empty) sniffer support for SIMtrace board Change-Id: I51619135fd6f5423542f261e7d76bab1a5713e2b --- firmware/libboard/simtrace/include/board.h | 4 ++-- firmware/libcommon/source/sniffer.c | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h index 742ce7c3..3b8296be 100644 --- a/firmware/libboard/simtrace/include/board.h +++ b/firmware/libboard/simtrace/include/board.h @@ -11,7 +11,7 @@ /** Phone (SIM card emulator)/CCID Reader/MITM configuration **/ /* Normally the communication lines between phone and SIM card are disconnected */ // Disconnect SIM card I/O, VPP line from the phone lines -// FIXME: Per default pins are input, therefore high-impedance, therefore they don not activate the bus switch, right? +// FIXME: Per default pins are input, therefore high-impedance, therefore the bus switch is in an unknown state by default for hardware version <= 1.4. It should be pulled high by an external resistor to set the bus switch to high-impedance (e.g. off). #define PIN_SC_SW_DEFAULT {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} // Disconnect SIM card RST, CLK line from the phone lines #define PIN_IO_SW_DEFAULT {PIO_PA19, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} @@ -82,7 +82,7 @@ #define BOARD_DFU_USB_PRODUCT_ID USB_PRODUCT_SIMTRACE2_DFU #define BOARD_USB_RELEASE 0x000 -//#define HAVE_SNIFFER +#define HAVE_SNIFFER #define HAVE_CCID #define HAVE_CARDEM //#define HAVE_MITM diff --git a/firmware/libcommon/source/sniffer.c b/firmware/libcommon/source/sniffer.c index 67c11a22..06edb224 100644 --- a/firmware/libcommon/source/sniffer.c +++ b/firmware/libcommon/source/sniffer.c @@ -27,14 +27,15 @@ * ---------------------------------------------------------------------------- */ +#include "board.h" +#include "simtrace.h" + #ifdef HAVE_SNIFFER /*------------------------------------------------------------------------------ * Headers *------------------------------------------------------------------------------*/ -#include "board.h" - #include /*------------------------------------------------------------------------------ @@ -67,6 +68,12 @@ static struct Usart_info usart_info = { .state = USART_RCV, }; + +int check_data_from_phone(void) +{ + TRACE_INFO("check data from phone\n\r"); +} + /*----------------------------------------------------------------------------- * Initialization routine *-----------------------------------------------------------------------------*/ @@ -74,22 +81,22 @@ static struct Usart_info usart_info = { /* Called during USB enumeration after device is enumerated by host */ void Sniffer_configure(void) { - TRACE_INFO("Sniffer config\n"); + TRACE_INFO("Sniffer config\n\r"); } /* called when *different* configuration is set by host */ void Sniffer_exit(void) { - TRACE_INFO("Sniffer exit\n"); + TRACE_INFO("Sniffer exit\n\r"); USART_DisableIt(USART_PHONE, US_IER_RXRDY); NVIC_DisableIRQ(USART1_IRQn); USART_SetReceiverEnabled(USART_PHONE, 0); } -/* called when *CCID* configuration is set by host */ +/* called when *Sniffer* configuration is set by host */ void Sniffer_init(void) { - TRACE_INFO("Sniffer Init\n"); + TRACE_INFO("Sniffer Init\n\r"); /* Configure ISO7816 driver */ PIO_Configure(pinsISO7816_sniff, PIO_LISTSIZE(pinsISO7816_sniff)); PIO_Configure(pins_bus, PIO_LISTSIZE(pins_bus));