Pirate Message on ccTalk: How to interpret the logs?

Support for the Milan Intelligent interface, sold by Money Controls as the Paylink USB unit and for the earlier PCI card version.

Moderators: aardvark, davebush, Admin

Post Reply
garethr
Posts: 2
Joined: Thu Apr 04, 2024 3:40 pm

Pirate Message on ccTalk: How to interpret the logs?

Post by garethr »

Hi. In the Paylink.log file I have seen a reference to a "pirate" ccTalk message, which I presume is a message that the Paylink itself did not originate.

I wonder if you could tell us how to interpret each line of the log file? The appearance of "28" looks like the hex for decimal 40 which is the ccTalk id of the note acceptor, but it's hard to determine a pattern.

The hardware setup is a Paylink connected to a ccTalk coin acceptor and a ccTalk note acceptor. I'll paste the Paylink.log file below, starting with the initial section so you can see the details of the . The pirate message section is at the end.

Thank you!

31 March 2024 Linux Driver:4.1.12.12a
12:00:45.642 PC: AESCDriver Driver startup
12:00:45.662 PC: Driver start up
12:00:45.679 FTDI Open : Genoa
12:00:45.679 FTDI VID PID : 0403 de50
12:00:45.679 FTDI chip type : 3
12:00:45.679 Timeout: read 5000, write 5000
12:00:45.812 Config: Start of download
12:00:45.812 Config: Checked, OK
12:00:45.812 Config: Paylink Checked OK against file "Standard.cfg"
12:00:45.812 Exec: USB task took 30 msec
12:00:45.830 PC: Memory Reset - new protocol
12:00:46.125 API: ccCoin acceptor 2020503 at ba0 and 8 coins setup
12:00:46.619 API: ccNote acceptor 12020200 at de4 and 7 coins setup
12:00:46.963 API: ID-003 acceptor 12060000 at ffc setup
12:00:47.404 APIPC: USB unit reset complete
12:00:47.404 : Interface memory set up
12:00:47.404 Exec: API task took 1533 msec
12:00:52.395 7060 bytes memory free
12:00:59.382
12:00:59.382 Ver 004.001.012.012-526 Apr 29 2020 15:58:45
12:00:59.382 DP: Application active
12:00:59.382 Int: cb fe 39 db ff d6 fd 1b e2 29 18 eb 7f 47 f9 00 03 51 a0 f2 f4 df 9e 42 d8 22 47 f7 fd 7b 6d 04
12:00:59.382 ccCoin: Enable
12:00:59.382 API: ccCoin Status to 0
12:00:59.382 ccNote: Enable
12:00:59.382 API: ccNote Status to 0
12:00:59.382 ID-003: Enable
12:00:59.382 API: ID-003 Status to 41
12:00:59.382 ccNote: Enable acceptance
12:00:59.382 API: Resending Events
12:00:59.438 API: Event 0000e0 for Acceptor 0
12:00:59.438 API: Turn off barcodes
12:00:59.438 ccCoin: Disable
12:00:59.438 API: ccCoin Status to 4
12:00:59.438 ccNote: Disable
12:00:59.537 API: ccNote Status to 4
12:00:59.537 Exec: API task took 123 msec
12:00:59.537 ccNote: Disable acceptance
12:00:59.592 ccNote: New event 3, Old 2, event 0=>3
12:00:59.640 ccCoin: Inhibit all coins
12:01:03.206 6976 bytes memory free
12:01:24.124 00:01
12:01:45.452 ccNote: Selftest OK
12:01:45.692 ccNote: Disable acceptance
12:02:12.556 ccCoin: Enable
12:02:12.556 API: ccCoin Status to 0
12:02:12.556 ccNote: Enable
12:02:12.556 API: ccNote Status to 0
12:02:12.556 ccCoin: Enable all coins
12:02:12.556 ccCoin: enables to 00ff
12:02:12.652 ccNote: Enable acceptance
12:02:12.700 ccNote: inhibits to 9f ff
12:02:23.876 00:02
12:03:23.648 00:03
12:04:23.413 00:04

(Then later on…)

15:24:30.753 cctalk: 0 > 02
15:24:30.753 cctalk: 22 < 00
15:24:30.753 cctalk: 103 > 28
15:24:30.753 cctalk: 180 P 01
15:24:30.753 cctalk: 80 P fe
15:24:30.753 cctalk: Pirate Message
15:24:30.836 cctalk: 0 < 00
15:24:30.836 cctalk: 103 > 28
15:24:30.836 cctalk: 180 P 01
15:24:30.836 cctalk: 80 P fe
15:24:30.836 cctalk: 85 P ff
15:24:30.836 cctalk: Pirate Message
15:24:30.917 cctalk: 0 > 28
15:24:30.917 cctalk: Pirate Message
15:24:30.997 cctalk: 0 P 01
15:24:30.997 cctalk: Pirate Message
15:24:31.078 cctalk: 0 P fe
15:24:31.078 cctalk: Pirate Message
15:24:31.159 cctalk: 0 P ff
15:24:31.159 cctalk: Pirate Message
15:24:31.238 cctalk: 0 P 00
15:24:31.239 cctalk: Pirate Message
15:24:31.319 cctalk: 0 P 80
15:24:31.319 cctalk: Pirate Message
15:24:31.400 cctalk: 0 P c0
15:24:31.400 cctalk: Pirate Message
15:24:31.481 cctalk: 0 P e0
15:24:31.481 cctalk: Pirate Message
15:24:31.561 cctalk: 0 P e0
15:24:31.561 cctalk: Pirate Message
15:24:31.642 cctalk: 0 P f0
15:24:31.642 cctalk: Pirate Message
15:24:31.723 cctalk: 0 P f0
15:24:31.723 cctalk: Pirate Message
15:24:31.807 cctalk: 0 P f8
15:24:31.807 cctalk: 81 P fc
15:24:31.807 cctalk: 81 P fc
15:24:31.807 cctalk: 81 P fe
15:24:31.807 cctalk: 81 P fe
15:24:31.807 cctalk: Pirate Message
15:24:31.889 cctalk: 0 P fc
15:24:31.889 cctalk: 81 P fc
15:24:31.889 cctalk: 81 P fe
15:24:31.889 cctalk: 81 P fe
15:24:31.889 cctalk: Pirate Message
15:24:35.743 03:25
15:25:02.206 ccCoin: Selftest OK
15:25:02.350 ccNote: Selftest OK
15:25:02.606 ccNote: Enable acceptance
15:25:02.654 ccNote: inhibits to 9f ff
davebush
Posts: 482
Joined: Fri Oct 22, 2004 12:20 pm

Re: Pirate Message on ccTalk: How to interpret the logs?

Post by davebush »

Hi,

Yes, any traffic which is not from Paylink or is not classified as a response to a poll triggers Pirate Message. Paylink drives a break on the line for about 75 msec in an attempt to disrupt any fraudulent activity. A basic requirement of cctalk is that responses must be sent within 75 milliseconds.

This sequence:
15:24:30.753 cctalk: 0 > 02
15:24:30.753 cctalk: 22 < 00
15:24:30.753 cctalk: 103 > 28
15:24:30.753 cctalk: 180 P 01
15:24:30.753 cctalk: 80 P fe

Can be decodes as:
Paylink sends to address 02
22 msec later there's a correct response with a code of 0 (ACK)
103 msec later Paylink sends to 28 (hex)
180 msec later a pirate byte of 01 is received.

The 01 byte is almost certainly a response from the note acceptor, but because it was 180 msec after the poll Paylink had timed out and regarded the line as idle. The note acceptor (probably) continues to output bytes for the next second before recovering and following the protocol rules again.

In summary, the note acceptor is for some reason running out of specification, but Paylink handled the problem and at a system level everything appears to have continued.

Is there a reason you were looking at the log for 15:24:31 ?

Regards

Dave
Aardvark software developer. Please put all communication on the problem through the board for the benefit of others.
Post Reply