Minor changes to writeraw.lua, still not working as it should
authormartin.holst@gmail.com <martin.holst@gmail.com@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Tue, 27 Aug 2013 06:50:00 +0000 (06:50 +0000)
committermartin.holst@gmail.com <martin.holst@gmail.com@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Tue, 27 Aug 2013 06:50:00 +0000 (06:50 +0000)
client/scripts/writeraw.lua

index 25250864642994ecc0c77bbfc75107357a7042dc..c53b639695600e1657d4e61f260000ebdc3344b0 100644 (file)
@@ -21,18 +21,27 @@ function show(usbpacket)
 end
 
 -- Want to do both connect and send raw, so we should AND the two commands
--- ISO14A_COMMAND.ISO14A_RAW and ISO14A_CONNECT. However, we don't have a 
+-- ISO14A_COMMAND.ISO14A_RAW(8) and ISO14A_CONNECT (1). However, we don't have a 
 -- bitlib yet, so we'll do it manually, 1 & 8 == 9
--- ISO14A_NO_DISCONNECT = 2
+-- ISO14A_NO_DISCONNECT = 2 ==> 11
 
 print(string.len(rawdata))
 local command = Command:new{cmd = cmds.CMD_READER_ISO_14443a, 
-                                                                       arg1 = 9, 
+                                                                       arg1 = 3, -- Connect (1) and don't disconnect (2)
+                                                                       arg2 = 0-- string.len(rawdata), 
+                                                                       --data = rawdata
+                  }
+local mf_auth = Command:new{cmd = cmds.CMD_READER_ISO_14443a, 
+                                                                       arg1 = 6, -- Send raw 
                                                                        arg2 = string.len(rawdata), 
                                                                        data = rawdata}
+local quit = Command:new{cmd = cmds.CMD_READER_ISO_14443a, 
+                                                                       arg1 = 0, -- Nothing 
+                                                                       }
+                                                                       
 core.clearCommandBuffer()
-print("Sending")
-print(command)
+--print("Sending")
+--print(command)
 local err = core.SendCommand(command:getBytes())
 if err then
        print(err)
@@ -41,6 +50,23 @@ end
 local cardselect = core.WaitForResponseTimeout(cmds.CMD_ACK,TIMEOUT)
 print("Card select:")
 show(cardselect)
-local response = core.WaitForResponseTimeout(cmds.CMD_ACK,TIMEOUT)
-print("Raw response:")
-show(response)
+--local response = core.WaitForResponseTimeout(cmds.CMD_ACK,TIMEOUT)
+--print("Raw response:")
+--show(response)
+
+local answer = ""
+while answer ~='q' do
+       
+       local err = core.SendCommand(mf_auth:getBytes())
+               if err then
+                       print(err)
+                       return nil, err
+               end
+       local nonce = core.WaitForResponseTimeout(cmds.CMD_ACK,TIMEOUT)
+       print("Nonce:")
+       show(nonce)
+       io.write("Write q to quit, hit any char to get a nonce ")
+       io.flush()
+       answer=io.read(1)
+
+end--]]
Impressum, Datenschutz