\r
memcpy(key, datain, 16);\r
\r
- // Dbprintf("KEY: %02x %02x %02x %02x %02x %02x %02x %02x", key[0],key[1],key[2],key[3],key[4],key[5],key[6],key[7] );\r
- // Dbprintf("KEY: %02x %02x %02x %02x %02x %02x %02x %02x", key[8],key[9],key[10],key[11],key[12],key[13],key[14],key[15] );\r
-\r
uint8_t a[8] = {1,1,1,1,1,1,1,1 };\r
uint8_t b[8] = {0x00};\r
uint8_t enc_b[8] = {0x00};\r
uint8_t sectorNo = arg0;\r
int Pages = arg1;\r
int countpages = 0;\r
- byte_t dataout[176] = {0x00};;\r
- uint32_t cuid = 0x00;\r
+ uint8_t dataout[176] = {0x00};;\r
\r
- LED_A_ON(); LED_B_OFF(); LED_C_OFF();\r
+ LEDsoff();\r
+ LED_A_ON(); \r
clear_trace();\r
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
\r
- int len = iso14443a_select_card(NULL, NULL, &cuid);\r
+ int len = iso14443a_select_card(NULL, NULL, NULL);\r
if (!len) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card (RC:%d)",len);\r
OnError(1);\r
}\r
}\r
\r
- len = mifare_ultra_halt();\r
- if (len) {\r
+ if (mifare_ultra_halt()) {\r
if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Halt error");\r
OnError(3);\r
return;\r
}\r
\r
- if (MF_DBGLEVEL >= MF_DBG_ALL) Dbprintf("Pages read %d", countpages);\r
+ if (MF_DBGLEVEL >= MF_DBG_EXTENDED) Dbprintf("Pages read %d", countpages);\r
\r
- len = 16*4; //64 bytes\r
+ // Read a UL-C, EV1,\r
+ // if lockbits, \r
+ if (countpages > 16) \r
+ len = Pages*4;\r
+ else\r
+ len = Pages*4;\r
\r
- // Read a UL-C\r
- if (Pages == 44 && countpages > 16) \r
- len = 176;\r
\r
cmd_send(CMD_ACK, 1, 0, 0, dataout, len); \r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r