Ich portiere gerade FreeRTOS-Plus-TCP (mit entsprechender Anwendung) auf den RaspberryPi4 und habe Probleme mich mit meinem dev-PC per TCP zu verbinden: 1. system: RPi4 mit ENC28J60 Netzwerk-Adapter (192.168.178.91) Es läuft FreeRTOS (baremetal) mit Uart Debug Ausgabe 2. system: dev-pc mit Win11 (192.168.178.15) Befehl per PowerShell: 'Test-NetConnection -ComputerName 192.168.178.91 -Port 10310' Beide System sind mit einem normalen Patch-Kabel verbunden (der dev-pc übernimmt MDIX, der ENC hat kein MDIX) [keine Switch, kein Router ist dazwischen] Die Gateway-Einstellungen sind auf beiden System leer gelassen, nur die IP-Adresse und die Netzmaske: 255.255.255.0 sind ausgefüllt **Mein Problem:** Der dev-pc sendet ein SYN und der RPi4 antwortet mit SYN+ACK. Die ACK-Nachricht vom dev-pc fehlt, siehe Wireshark-Aufzeichnung. Aufgrund dessen sendet der dev-pc das SYN-Packet wiederholt. Die RPi4 debug Ausgabe zeigt die Antwort auf das SYN-paket mit dem SYN+ACK Packet:
1 | prvIPTask started |
2 | |
3 | Starting network up. |
4 | |
5 | uart puts on core1 working |
6 | printf on core1 working |
7 | main_Core1 has started! |
8 | Core1 starts Scheduler |
9 | Network card successfully initialised. |
10 | Waiting for ifup... |
11 | network is up and running. |
12 | Socket 10310 -> 0.0.0.0:0 State eCLOSED->eTCP_LISTEN |
13 | Socket 10400 -> 0.0.0.0:0 State eCLOSED->eTCP_LISTEN |
14 | Network buffers: 96 lowest 96 |
15 | Network buffers: 96 lowest 95 |
16 | Network buffers: 95 lowest 94 |
17 | Network buffers: 94 lowest 93 |
18 | Network buffers: 92 lowest 92 |
19 | Network buffers: 91 lowest 91 |
20 | Gain: Socket 10310 now has 1 / 20 child |
21 | prvSocketSetMSS: 1460 bytes for 192.168.178.15:35657 |
22 | Socket 10310 -> 192.168.178.15:35657 State eCLOSED->eSYN_FIRST |
23 | Socket 10310 -> 192.168.178.15:35657 State eSYN_FIRST->eSYN_RECEIVED |
24 | eSYN_RECEIVED: ACK expected, not SYN: peer missed our SYN+ACK |
25 | Socket 10310 -> 192.168.178.15:35657 State eSYN_RECEI |
26 | Network buffers: 90 lowest 90 |
27 | Socket 10310 -> 192.168.178.15:35657 State eSYN_FIRST->eSYN_RECEIVED |
28 | eSYN_RECEIVED: ACK expected, not SYN: peer missed our SYN+ACK |
29 | Socket 10310 -> 192.168.178.15:35657 State eSYN_RECEIVED->eSYN_FIRST |
30 | Socket 10310 -> 192.168.178.15:35657 State eSYN_FIRST->eSYN_RECEIVED |
31 | eSYN_RECEIVED: ACK expected, not SYN: peer missed our SYN+ACK |
32 | Socket 10310 -> 192.168.178.15:35657 State eSYN_RECEIVED->eSYN_FIRST |
33 | Socket 10310 -> 192.168.178.15:35657 State eSYN_FIRST->eSYN_RECEIVED |
34 | Network buffers: 91 lowest 89 |
35 | eSYN_RECEIVED: ACK expected, not SYN: peer missed our SYN+ACK |
36 | Socket 10310 -> 192.168.178.15:35657 State eSYN_RECEIVED->eSYN_FIRST |
37 | Socket 10310 -> 192.168.178.15:35657 State eSYN_FIRST->eSYN_RECEIVED |
Hat Jemand einen Tipp, wo der Fehler liegt?