Keine Ethernetverbindung

Gast #3680125
Lesenswert?

Hey,

ich versuche mich grad Firmenintern an einem STM32F4.

Habe meinen Programmcode jetzt soweit, dass ich ein SYN Segment schicke.

Um zu sehen, ob etwas ankommt habe ich zugleich ein LabVIEW VI erstellt, 
welches einfach einen Listener erstellt. Falls am gegebenen Port eine 
Anfrage ankommt lässt dieses eine LED aufleuchten.

Mein Problem ist nun, dass sich nichts tut. Das VI erstellt einen 
Listener und wartet dann immer.

Der Programmcode gibt in den Funktionen die richtigen Rückgabewerte aus 
bei den entsprechenden Funktionen.

Wenn ich das SYN in eine unendliche WhileSchleife setze und pinge, so 
wird ein Ping gesendet und der Controller antwortet mit seinem reply.

Hab auch schon Patch- wie auch Crosskabel probiert.

Hat jemand noch eine Idee woran es liegen könnte bzw was ich noch 
versuchen könnte?

Ich hoffe ich habe jetzt nichts vergessen.

Danke für eure Hilfe
Gast #3680139
Lesenswert?

Hey,

ja die Verbindung soll über TCP/IP stattfinden.
Sollte vll noch dazu sagen, dass ich kein DHCP nutzen kann.

Ich liste hier mal mein vorgehen auf.

- initialisieren TCP Stack
- Ethernet initialisieren
- Netzwerkparameter konfigurieren (da kein DHCP)
- TCP Connection ( = SYN Segment)

"Der Schuh drückt" jetzt in der Richtung, dass anscheinend nichts 
ankommt.
Gast #3680141
Lesenswert?

Dave schrieb:
> Hey,
>
> ja die Verbindung soll über TCP/IP stattfinden.
> Sollte vll noch dazu sagen, dass ich kein DHCP nutzen kann.
>
> Ich liste hier mal mein vorgehen auf.
>
> - initialisieren TCP Stack
> - Ethernet initialisieren
> - Netzwerkparameter konfigurieren (da kein DHCP)
> - TCP Connection ( = SYN Segment)
>
 Die Rückgabewerte der ganzen Funktionen passen.

 Die Frage ist jetzt wo der "Fehler" noch liegen könnte. Oder habe ich
 etwas nicht beachtet und merke es nicht?

 Der Schuh drückt jetzt in der Richtung, dass anscheinend nichts
 ankommt.
Gast #3681326
Lesenswert?

naja ich habe ja ein LabVIEW VI erstellt, welches eine Sequenz abläuft

Anfangs wird eine LED auf false gestellt, im 2. Abschnitt wird TCP 
initialisiert und wartet auf eine Anfrage, wenn die anfrage kommt geht's 
in die 3. Sequenz und schaltet als Beleg, dass was kam das LED ein.

Aber im 2. Abschnitt wird nur ein Listener erstellt und dann wird so 
lange auf die anfrage gewartet bis der timeout stattfindet.

Also wird die Anfrage nicht erkannt oder?
Gast #3681388
Lesenswert?

Ein SYN zu senden reicht nicht aus, nach dem Erhalt des SYN-ACK musst du 
wieder ein ACK zum Server senden. Siehe
http://de.wikipedia.org/wiki/Transmission_Control_Protocol, Abschnitt 
'Verbindungsaufbau'.
Aber TCP zu Fuss ist eine Aufgabe die ich mir nicht antun würde, dafür 
gibt es Minimalstacks wie µIP oder lwIP. Für 'richtiges' TCP muss die 
ganze State Machine richtig implementiert werden, sonst wird das nie 
stabil laufen und die Reset Taste wird der wichtigste Button an deiner 
Kiste.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren