-
Notifications
You must be signed in to change notification settings - Fork 31
Description
Servus!
Ich bin in ein Problem reingelaufen, bei dem ich aktuell noch keinen Ansatz habe das erfolgreich zu umgehen.
Es wird das test_pt.py ausgeführt, bei der Aufforderung die Karte einzugeben allerdings am Terminal auf Abbrechen gedrückt.
Anscheinend liefert dann bei einem folgenden StatusEnquiry das Terminal (ein Ingenico i5310+LAN) keine Antwort zurück.
Gibt es denn eine einfache Möglichkeit wenn ein StatusEnquiry fehlschlägt das einfach zu ignorieren und nach einigen Sekunden es nochmals zu probieren?
StatusEnquiry{05 01} {'password': '123456'} *[]
['0x10', '0x2', '0x5', '0x1', '0x3', '0x12', '0x34', '0x56', '0x10', '0x3', '0xe0', '0x43']
< 'ACK'
< ['0x6']
< PacketReceived{80 00} *[]
< ['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
'ACK'
['0x6']
< Completion{06 0F} *{'terminal-status': 0, 'sw-version': '061022a M IC Std'} *[]
< ['0x10', '0x2', '0x6', '0xf', '0x15', '0xf0', '0xf1', '0xf7', '0x30', '0x36', '0x31', '0x30', '0x32', '0x32', '0x61', '0x20', '0x4d', '0x20', '0x49', '0x43', '0x5f', '0x20', '0x53', '0x74', '0x64', '0x0', '0x10', '0x3', '0xe4', '0x51']
'ACK'
['0x6']
PacketReceived{80 00} *[]
['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
< 'ACK'
< ['0x6']
Registration{06 00} *{'config_byte': 186, 'cc': [9, 120], 'password': '123456'} *[]
['0x10', '0x2', '0x6', '0x0', '0x6', '0x12', '0x34', '0x56', '0xba', '0x9', '0x78', '0x10', '0x3', '0x24', '0xc3']
< 'ACK'
< ['0x6']
< PacketReceived{80 00} *[]
< ['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
'ACK'
['0x6']
< Completion{06 0F} *[{'tid': '61246407'}, {'currency_code': '0978'}]
< ['0x10', '0x2', '0x6', '0xf', '0x8', '0x29', '0x61', '0x24', '0x64', '0x7', '0x49', '0x9', '0x78', '0x10', '0x3', '0x79', '0x31']
'ACK'
['0x6']
PacketReceived{80 00} *[]
['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
< 'ACK'
< ['0x6']
StatusEnquiry{05 01} *{'password': '123456'} *[]
['0x10', '0x2', '0x5', '0x1', '0x3', '0x12', '0x34', '0x56', '0x10', '0x3', '0xe0', '0x43']
< 'ACK'
< ['0x6']
< PacketReceived{80 00} *[]
< ['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
'ACK'
['0x6']
< Completion{06 0F} *{'terminal-status': 0, 'sw-version': '061022a M IC_ Std'} *[]
< ['0x10', '0x2', '0x6', '0xf', '0x15', '0xf0', '0xf1', '0xf7', '0x30', '0x36', '0x31', '0x30', '0x32', '0x32', '0x61', '0x20', '0x4d', '0x20', '0x49', '0x43', '0x5f', '0x20', '0x53', '0x74', '0x64', '0x0', '0x10', '0x3', '0xe4', '0x51']
'ACK'
['0x6']
PacketReceived{80 00} *[]
['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
< 'ACK'
< ['0x6']
Authorisation{06 01} *[{'amount': '000000000050'}, {'currency_code': '0978'}]
['0x10', '0x2', '0x6', '0x1', '0xa', '0x4', '0x0', '0x0', '0x0', '0x0', '0x0', '0x50', '0x49', '0x9', '0x78', '0x10', '0x3', '0xf5', '0x57']
< 'ACK'
< ['0x6']
< PacketReceived{80 00} *[]
< ['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
'ACK'
['0x6']
< IntermediateStatus{04 FF}: insert card
< ['0x10', '0x2', '0x4', '0xff', '0x1', '0xa', '0x10', '0x3', '0xf5', '0x7d']
'ACK'
['0x6']
PacketReceived{80 00} *[]
['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
< 'ACK'
< ['0x6']
< IntermediateStatus{04 FF}: processing error
< ['0x10', '0x2', '0x4', '0xff', '0x1', '0xd', '0x10', '0x3', '0xfd', '0x30']
'ACK'
['0x6']
PacketReceived{80 00} *[]
['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
< 'ACK'
< ['0x6']
< Abort{06 1E} *[]
< ['0x10', '0x2', '0x6', '0x1e', '0x1', '0x6c', '0x10', '0x3', '0xc9', '0xf2']
'ACK'
['0x6']
PacketReceived{80 00} *[]
['0x10', '0x2', '0x80', '0x0', '0x0', '0x10', '0x3', '0xf5', '0x1f']
< 'ACK'
< ['0x6']
StatusEnquiry{05 01} *{'password': '123456'} *_[]
['0x10', '0x2', '0x5', '0x1', '0x3', '0x12', '0x34', '0x56', '0x10', '0x3', '0xe0', '0x43']
DEBUG: Cannot be represented: []
list index out of range
<
< []
Traceback (most recent call last):
File "test_pt.py", line 40, in
e.wait_for_status()
File "/home/martin/Desktop/ecrterm/ecr.py", line 316, in wait_for_status
status = self.status()
File "/home/martin/Desktop/ecrterm/ecr.py", line 282, in status
errors = self.transmit(StatusEnquiry())
File "/home/martin/Desktop/ecrterm/ecr.py", line 303, in transmit
transmission = self.transmitter.transmit(packet)
File "/home/martin/Desktop/ecrterm/transmission/_transmission.py", line 61, in transmit
ret = self._transmit(packet, self.last_history)
File "/home/martin/Desktop/ecrterm/transmission/_transmission.py", line 79, in _transmit
success, response = self.transport.send(packet)
File "/home/martin/Desktop/ecrterm/transmission/transport_serial.py", line 267, in send
return self.send_message(SerialMessage(apdu), tries, no_wait)
File "/home/martin/Desktop/ecrterm/transmission/transport_serial.py", line 261, in send_message
raise common.TransportLayerException, "Unknown Acknowledgmenet Byte %s" % conv.bs2hl(acknowledge)
ecrterm.common.TransportLayerException: Unknown Acknowledgmenet Byte []