If I change in file SynaTCPMessages Line 40 to TProcSocket = procedure(Sender:TObject; Socket: TSocket) of object; And line 906 to if ((LastError = 10060) or (LastError = 110)) then then your code runs under linux (mint 20.2) and raspian 4.19.66+. I checked the reading of holdingRegisters with a raspberry zero w and a raspberry zero 2 w. Kinde regards
Modbus Driver on linux or raspi?