]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
fix 14b raw -s option, + get rid of...
authormarshmellow42 <marshmellowrf@gmail.com>
Tue, 30 Jun 2015 13:46:37 +0000 (09:46 -0400)
committermarshmellow42 <marshmellowrf@gmail.com>
Tue, 30 Jun 2015 13:46:37 +0000 (09:46 -0400)
<empty trace - possible error>

armsrc/iso14443b.c
client/cmdhf14b.c

index 33c047d8113c84aa2408c5d2eb01bf5cd1563499..7a0fc8e02f1a3cdf1063510380e4ea9c93ae28a7 100644 (file)
@@ -334,8 +334,6 @@ void SimulateIso14443bTag(void)
                0x00, 0x21, 0x85, 0x5e, 0xd7
        };
 
-       FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
-
        clear_trace();
        set_tracing(TRUE);
 
@@ -350,6 +348,8 @@ void SimulateIso14443bTag(void)
        uint16_t len;
        uint16_t cmdsRecvd = 0;
 
+       FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
+
        // prepare the (only one) tag answer:
        CodeIso14443bAsTag(response1, sizeof(response1));
        uint8_t *resp1Code = BigBuf_malloc(ToSendMax);
@@ -908,6 +908,9 @@ static void CodeAndTransmit14443bAsReader(const uint8_t *cmd, int len)
 //-----------------------------------------------------------------------------
 void ReadSTMemoryIso14443b(uint32_t dwLast)
 {
+       clear_trace();
+       set_tracing(TRUE);
+
        uint8_t i = 0x00;
 
        FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
@@ -926,9 +929,6 @@ void ReadSTMemoryIso14443b(uint32_t dwLast)
        FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR | FPGA_HF_READER_RX_XCORR_848_KHZ);
        SpinDelay(200);
 
-       clear_trace();
-       set_tracing(TRUE);
-
        // First command: wake up the tag using the INITIATE command
        uint8_t cmd1[] = {0x06, 0x00, 0x97, 0x5b};
        CodeAndTransmit14443bAsReader(cmd1, sizeof(cmd1));
@@ -1199,17 +1199,19 @@ void SendRawCommand14443B(uint32_t datalen, uint32_t recv, uint8_t powerfield, u
        FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
        SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
        FpgaSetupSsc();
-
-       set_tracing(TRUE);
        
-       CodeAndTransmit14443bAsReader(data, datalen);
+       if (datalen){
+               set_tracing(TRUE);
+               
+               CodeAndTransmit14443bAsReader(data, datalen);
+
+               if(recv) {
+                       GetSamplesFor14443bDemod(RECEIVE_SAMPLES_TIMEOUT, TRUE);
+                       uint16_t iLen = MIN(Demod.len, USB_CMD_DATA_SIZE);
+                       cmd_send(CMD_ACK, iLen, 0, 0, Demod.output, iLen);
+               }
+       } 
 
-       if(recv) {
-               GetSamplesFor14443bDemod(RECEIVE_SAMPLES_TIMEOUT, TRUE);
-               uint16_t iLen = MIN(Demod.len, USB_CMD_DATA_SIZE);
-               cmd_send(CMD_ACK, iLen, 0, 0, Demod.output, iLen);
-       }
-       
        if(!powerfield) {
                FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
                LED_D_OFF();
index 6bc5daf2c17a49d551cc3e4980bfe7f69ea8e60d..77dba6841c04f45d86de32efd8a9edf0cf4a8dc2 100644 (file)
@@ -213,12 +213,12 @@ int CmdHF14BCmdRaw (const char *Cmd) {
 
                if (cmd2[0] != 0x50 || cmdLen != 14 || !crc2) return rawClose();
 
-               data[0] = 0x1D; 
+               cmd2[0] = 0x1D; 
                // UID from data[1 - 4]
-               data[5] = 0x00;
-               data[6] = 0x08;
-               data[7] = 0x01;
-               data[8] = 0x00;
+               cmd2[5] = 0x00;
+               cmd2[6] = 0x08;
+               cmd2[7] = 0x01;
+               cmd2[8] = 0x00;
                cmdLen = 9;
 
                // attrib
Impressum, Datenschutz