113 Commits
Author SHA1 Message Date
Federico Cerutti ebd6ab5842 Fixed timing issues with Read Multiple Blocks
ISO15693 CRC calculation is slow and it delayed too much transmission of long
frames. Some readers marked transmission as unsuccesfull and ignored data.
Moving CRC calculation inside the codec allows to start modulating the field
while the CRC is not yet ready but, by the time it has to be trasmitted,
calculation will be done.
This fixes https://github.com/emsec/ChameleonMini/issues/262

In EM4233, there still are issues with Read Multiple command when block
locking status is requested for more than 0x1F blocks

Implemented a check in ISO15693 codec to avoid out of bound CRC writes.
2020-09-10 16:05:35 +02:00
Federico Cerutti d43942469a Fixed hasty copy-paste 2020-09-09 20:13:59 +02:00
Federico Cerutti c6b936640f Improved ISO15693 applications performance
Removed the if-elseif in EM4233 to use a switch case which yields minor
speed improvements of ~1,5 microseconds
Avoid reading the UID every AppProcess tick in both EM4233 and TiTagIT
to save ~11 microseconds.
2020-09-04 01:48:39 +02:00
Federico Cerutti c82572daf3 Updated code to build with GCC 10 - Updated ISR Sharing
Since GCC 10, the compiler defaults to -fno-common, thus variables with
multiple tentative definitions result in linker errors.
We've (me and @MrMoDDoM) extern-ed the shared variables to fix the issue.

Also, when I implemented ISR sharing, somehow I forgot about a function
which was shared as well, so I fixed that mistake and added a couple of
comments on how shared function calls work.
2020-08-26 20:19:33 +02:00
Fabian 1a41b8a321 fix merge issue 2019-12-06 16:47:18 +01:00
Fabian 7d204284c2 Merge branch 'master' of git://github.com/epozzobon/ChameleonMini into epozzobon-master 2019-12-06 14:59:12 +01:00
Hector Sanjuan 31b0b6391a CLONE_MFU: command and button action
This adds automatic cloning of Mifare Ultralight cards to the selected
setting.

Currently, only the DUMP_MFU command existed. In order to clone a Mifare
Ultralight card, the user had to convert the hex output of DUMP_MFU to binary
and upload the result to the card.

The CLONE_MFU command will attempt to read and store the Mifare Ultralight
contents directy to the slot which is then transitioned to emulation mode.

The CLONE_MFU button action does the same, so the board can be configured to
clone cards by simply selecting a slot with one button and cloning with the
other.
2019-11-20 07:04:55 -06:00
Fabian a35610f6a7 run make style #237 2019-11-15 10:21:40 +01:00
Enrico Pozzobon 0bca2781ab Modified Reader14443A to only use configured card types
This allows the Reader14443A.c file to be compiled successfully when
the support for some card types is disabled in the Makefile
2019-11-07 10:24:46 +01:00
slaenger b89ff71075 removed CryptoEncrypt-/DecryptDEA(). 2019-09-17 11:27:37 +02:00
slaenger 4923dc9322 Added triple DES Implementation (from dev-zzo's DESFire branch). 2019-09-17 10:48:44 +02:00
slaenger f02a45b6ef 2019-09-17 10:24:23 +02:00
Lava Git 0fdc1b43ce Add Mifare Mini support 2019-08-16 14:27:48 +01:00
Georg aa5608cb7f fixes bug with single write in TI TagIt emu 2019-03-21 16:28:27 +01:00
Georg e4ce2cabc1 fixed bugs with status ID and return on end of non-void function 2019-03-21 16:27:56 +01:00
Georg 5e14948f73 add TODO tag 2019-03-21 16:27:36 +01:00
Federico CeruttiandThorsten fc24f84a63 Fixed a couple of validity checks and updated Titagitstandard.c to new PrepareFrame 2019-03-05 21:35:11 +01:00
Federico CeruttiandThorsten 9ae3aeced3 Added stub EM mutual auth commands and fixed a couple of bugs
E0 and E1 commands will be expanded as reverse engineering continues. At the moment E0 will be used to work on reader response to A1 random number.
Fixed 2 different bugs in Login. Fixed Lock DSFID command
Removed frame integrity checks from PrepareFrame, since it's already needed to do them before PrepareFrame should be called
2019-03-05 21:34:56 +01:00
Federico CeruttiandThorsten 562764ef1a Fixed a bug with with addressed Custom/Proprietary commands 2019-03-05 21:34:36 +01:00
Thorsten 6263f529ed merged ceres-c 2018-12-30 13:46:45 +00:00
Federico Cerutti 3c775c06cc Stupid me introduced a bug in Write_Single 2018-12-28 17:10:02 +01:00
Federico Cerutti 39c251c7d5 Fixed Select command and some minor bug fixes
Select command did not fall back to READY state if Select was issued on another tag.
PrepareFrame allowed the tag to respond to Selected requests even if we were not in SELECTED state.
Also fixed Read Single and Read Multiple out of bound reads in case of addressed commands.
2018-12-28 13:42:17 +01:00
Federico Cerutti 5f6c35d7a6 First draft of anticollision sequence
Only 1 slot mode has been implemented, but it seems to work even for 16 slots mode. This needs to be checked with other readers.
2018-12-28 00:28:22 +01:00
Federico Cerutti 9b5dfc2708 Updated EM4233 header and example dump
We thought that the user had access to 64 blocks, while in EM4233 factsheet it's stated that only 52 blocks are available
2018-12-27 00:16:34 +01:00
Federico Cerutti ab1fdddb16 Removed old LockBit masks and updated a couple of commands to mimick real tag behaviour 2018-12-26 23:13:57 +01:00