summaryrefslogtreecommitdiff
path: root/firmware/src/simtrace
Commit message (Collapse)AuthorAgeFilesLines
* Retrieve + print previous PC from stack to debug wdog/spurious IRQMin Xu2014-11-111-0/+16
| | | | | | | | | | | Retrive previous PC from the stack before entering specific interrupt handler routines. Allow user to trace where interrupt occured: e.g. WatchDog and Spurious interrupt Prior to this change, spurious interrupt would occur so much (observed via gdb/remote debug) so it appears that the board stalled. Once a custom spurious interrupt installed, the code continues after the interrupt instead of re-entering the interrupt.
* Don't split req_ctx with ATR payloadMin Xu2014-11-111-1/+4
| | | | | | | | | | | | | The codnition for flushing a req_ctx on UART idle is fixed to flush only if 1) There has been no new data since last check, and 2) There are no req_ctx currently pending to be transmitted to USB, and 3) We did NOT just got a reset and waiting for ATR I saw an ATR split in two different req_ctx prior, presumably flush decided to send req_ctx after ATR but got a new character just before sent). If we did get a RESET, let original logic decide to send the req_ctx -- presumably when ATR data is fully received.
* iso_uart: Print more errors, not just overrunsMin Xu2014-11-113-4/+10
|
* Ensure to transmit current req_ctx on RESET/VCC eventsMin Xu2014-11-114-2/+31
| | | | | | | | | | | | | | | | | | When any of the following events occur: * VCC_PHONE off * nRST * RST we tranmsit the current req_ctx, if there is data pending. This ensures that for any successive data, the ATR flag in the next req_ctx containing the data, not in the previous req_ctx. It also ensures that the ATR is aligned at 0 offset in the new req_ctx, which is an assumption the host software makes but the previous code didn't ensure. Furthermore, we introduce a periodic flushing of any pending but incomplete req_ctx.
* iso7816_uart.h: add missing #ifdef/endif to avoid multiple inclusionMin Xu2014-11-111-0/+4
|
* simtrace: Add heartbeat message to debug consoleMin Xu2014-11-113-0/+20
|
* update main_factory to write version 1,4,0 instead of 1,3,0 to OTPHarald Welte2014-11-111-1/+1
|
* simtrace: main_factory: Program OTP area with simtrace versionHarald Welte2013-11-171-3/+21
|
* simtrace: Add OTP data containing production dataHarald Welte2013-11-172-0/+112
|
* spi_flash: add code for OTP read/writeHarald Welte2013-11-172-18/+251
|
* iso7816_uart: Make sure ATR is separated from normal APDU in all casesHarald Welte2012-05-181-7/+12
| | | | | Prior to this patch, the ATR was not send in a separate USB message for cards that are T=0 only.
* 7816_uart: add comment about f/d calculationHarald Welte2012-05-181-0/+2
|
* simtrace: introduce statisticsv0.5Harald Welte2012-03-233-2/+58
| | | | | | the statistics count various events like overruns, parity errors, missing rctx and can dump those stats via USB as well as on the serial console.
* simtrace: implement SIM power switching APIHarald Welte2012-03-221-16/+46
| | | | | | | | | there is now a high-level command by which we can swithc the VCC supply of the SIM cards. For some reason, the _PASS variant (passing through the voltage from the phone) doesn't seem to work reliably. It might be that we are draining reverse current throught the LDO once we supply SIM power that way.
* make VCC / card detect more reliableHarald Welte2012-03-221-2/+2
|
* simtrace: Inform host of Fi/Di values (and flag change due to PPS)Harald Welte2012-02-121-0/+5
|
* simtrace: 7816 UART: Add missing entry in Di tableSylvain Munaut2012-01-261-1/+1
| | | | | | Add missing entry in Fi_table. It's apparently used as '64' in some reader and 'unsupported' in some other. For simtrace I guess we should consider it 64.
* Make sure we don't forward power _and_ supply SIM power at the same timeKevin Redon2011-12-181-0/+10
| | | | | | | | The FPF2005 has no reverse voltage blocker, this is why the 3.3V from the LDO flows back into VCC_PHONE. It even damages the chip (so says the datasheet) I corrected the double power source problem by disabling the LDO (see patch), but still 1.8V does not work and 3.0-3.3V is used. I have to look for other reasons.
* Fix fi/di calculation for certain mobiles like GT-S770 or HTC RaphaelBjoern Kerler2011-10-211-3/+3
| | | | | There were some mistakes while copying the tables from ISO 7816-3, and also a quite old version of 7816-3 was used.
* SIMTRACE: ISO7816: Deal with ATR that don't have historical bytesv0.2Harald Welte2011-08-161-11/+21
| | | | | In case there are no historical bytes, we immediately transition from the last TD byte into the WAIT_TCK or WAIT_APDU state.
* ISO7816: Properly handle T=0 only cards without TCK in ATRHarald Welte2011-08-161-1/+13
|
* SIMTRACE UART: Reset error status on error related IRQHarald Welte2011-08-151-0/+9
| | | | | This prevents an IRQ-flood after a parity or overrun error, which in turn would cause a watchdog reset.
* simtrace UART: set INACK flag to make sure we ignore any parity errorHarald Welte2011-08-151-3/+3
| | | | | | | As a SIM card tracer, we want to remain completely passive and thus not signal back parity errors with the ISO 7816 NACK. The UART INACK flag does exactly that...
* DFU: add third 'alternate configuration' for RAM loadHarald Welte2011-07-302-0/+2
| | | | | This will allow us to load code directly into RAM without going through flash.
* simtrace: add some early spi flash utility routinesHarald Welte2011-07-302-0/+224
| | | | This also adds a new 'main_factory' target for simtrace
* simtrace: initialize sniffer mode right after start-upHarald Welte2011-06-301-18/+22
|
* simtrace: switch VCC_SIM into output mode, as we use it to supply VccHarald Welte2011-06-211-2/+8
| | | | | | This is just a temp rework in the 1st generation prototype, as the bus switch has too high resistance for passing throuhg Vcc from the phone to the SIM.
* simtrace: add VCC_PHINE IRQ detectionHarald Welte2011-06-211-0/+19
|
* simtrace: introduce mode sniffer / mitm switchingHarald Welte2011-06-172-6/+50
|
* simtrace: add support for the analog bus switchHarald Welte2011-06-163-1/+93
|
* update USB strings (company name and some copy+paste mistakes)Harald Welte2011-06-152-3/+3
|
* typo: Fix typo, transform reqyests to requests.Holger Hans Peter Freyther2011-01-311-1/+1
|
* add missing usb_strings_dfu.txt file to simtrace directoryHarald Welte2010-12-091-0/+5
|
* simtrace: Make sure ATR is sent in its own RCTX and we re-allocate in timeHarald Welte2010-11-211-1/+11
|
* simtrace: fix problems causing bogus waiting time expirationsHarald Welte2010-11-181-1/+5
|
* simtrace: Introduce code for proper handling of PTS / PPSHarald Welte2010-11-181-12/+148
|
* simtrace: add TC based waiting time counter, signal ATR / expiry via USBHarald Welte2010-11-185-78/+292
|
* simtrace: introduce RST pin handlingHarald Welte2010-11-141-12/+32
|
* Initial version of a SAM7 USART based ISO7816-3 T=0 snifferHarald Welte2010-11-143-0/+503
personal git repositories of Harald Welte. Your mileage may vary