From ab6aa10e6625bca5f15f9de775ff7dc51eb825a7 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 15 Aug 2010 10:44:40 +0800 Subject: add notes on re-charging the card --- easycard.2/notes.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/easycard.2/notes.txt b/easycard.2/notes.txt index fefc5f1..120b74a 100644 --- a/easycard.2/notes.txt +++ b/easycard.2/notes.txt @@ -6,6 +6,17 @@ Address 0x80 and 0x90 VALUE BLOCK containing the amount in NTD 0000090 0184 0000 fe7b ffff 0184 0000 ff00 ff00 +Address 0xa0 + DATA block containing transaction log of last re-charge + 00000a0 c408 6708 304c 0064 0089 5b42 c50b 0031 + 08 transaction id / counter + 4c6708 upper 24 bits of unix timestamp + 30 transaction type: add value + 0064 100 NTD added + 0089 137 NTD remaining on card + 5b MRT station code ZhongXiao DunHua + c50b most likely reader number + Address 0xe0 and 0x100 DATA block containing transaction entering MRT Liuzhangli 00000e0 de01 63d8 004c 0000 0190 0d00 6ad6 0002 @@ -81,6 +92,18 @@ this means last wrap of counter was 71 days ago, about june 2nd. UPDATE: the 0x4c in front actually makes it the upper 24 bits of a unix timestamp. However, it doesn't count in UTC but in local time. +== procedures == +=== adding value (commit 63bfce7655ee367b079c914ecfbfaa73d5ce9169) === + +* update the two value blocks +* add a transaction log record of type 0x30 to address 0xa0(!) + * station name (0x5b == 91) same like at MRT enter/exit + * 'amount' and 'remaining balance' as expected + * timestamp as expected + * transaction_id++ + + + == Futher notes == * purchase at Starbucks prints UID of card in decimal (3224478099 == 0xc031a193) on receipt -- cgit v1.2.3