1

Ich entwerfe ein Gerät, das über Ethernet mit einem Computer verbunden wird. Es hat bereits einen Mac-Controller eingebaut. Wenn ich das Gerät anschliesse, passiert nur, dass der Computer eine Reihe von DHCP-Erkennungspaketen und einige andere Pakete aussendet, um das Gerät zu finden und die Verbindung herzustellen. Ich nehme an, ich muss mein Gerät an dieser Stelle mit einer Art Bestätigung Pakete reagieren lassen, aber ich bin mir nicht sicher, was? Hat jemand so etwas schon einmal gemacht? DankeSo stellen Sie eine Ethernet-Verbindung zwischen Laptop und integriertem Gerät her

Ich benutze wireshark, um die Pakete zu sehen. Die Ausgabe sieht etwa so aus:

 time  source     destination  protocol    info 
1 0.000000 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xc82a69f 
2 4.000064 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xc82a69f 
3 10.688469 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xb452266b 
4 14.690625 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xb452266b 
5 22.690576 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xb452266b 
6 38.690605 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xb452266b 
7 62.652821 my_ip     XXX.XXX.255.255  BROWSER Local Master Announcement MYLAPTOP, Workstation, Server, Print Queue Server, NT Workstation, Potential Browser, Master Browser 
8 65.555281 my_ip     XXX.XXX.255.255  BROWSER Domain/Workgroup Announcement MY, NT Workstation, Domain Enum 
9 352.692192 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xa23d42a4 
10 356.692376 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xa23d42a4 
11 364.692421 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xa23d42a4 
12 381.692442 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xa23d42a4 
13 665.557507 my_ip     XXX.XXX.255.255  BROWSER Domain/Workgroup Announcement MY, NT Workstation, Domain Enum 
14 686.724951 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xbe3a7bdb 
15 691.724307 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xbe3a7bdb 
16 698.724276 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xbe3a7bdb 
17 715.724291 0.0.0.0    255.255.255.255  DHCP  DHCP Discover - Transaction ID 0xbe3a7bdb 
18 783.295682 my_ip     XXX.XXX.255.255  BROWSER Local Master Announcement MYLAPTOP, Workstation, Server, Print Queue Server, NT Workstation, Potential Browser, Master Browser 
19 908.920831 my_ip     XXX.XXX.255.255  BROWSER Get Backup List Request 
20 908.920940 my_ip     XXX.XXX.255.255  NBNS  Name query NB MY<1b> 
+0

Setzen Sie eine statische IP oder DHCP? Ich würde DHCP deaktivieren und eine statische IP verwenden, um Pakete zu beseitigen, die nicht benötigt werden. – Nick

Antwort

2

Wenn Ihr Computer DHCP-Pakete sendet, ist es, weil es einen DHCP-Server benötigt, um eine Adresse zu erhalten. Es ist nicht auf der Suche nach Ihrem Gerät. Haben Sie den Computer aus dem Hauptnetzwerk genommen und in einem privaten Netzwerk mit Ihrem Gerät verbunden?

Ihr Computer weiß nichts über Ihr eingebettetes Gerät und versucht nicht, eine Verbindung mit ihm herzustellen. Das erste, was Sie tun müssen, ist zu entscheiden, was die Verbindung tun soll, und dann Software zu schreiben oder zu erhalten, um die Verbindung herzustellen. In der Regel erstellt das eingebettete Gerät einen Server-Socket und wartet darauf, dass ein Client (Ihr Computer) eine Verbindung zu ihm herstellt. Telnet ist ein Beispiel für eine Client/Server-TCP-Verbindung.

Aus Ihrem Beitrag geht hervor, dass Sie sich nicht sicher sind, was Ihr Embedded-Gerät tut. Sie müssen mehr über Ihr eingebettetes Gerät und seine Funktionsweise erfahren.

+0

Sie sind richtig. Ich weiß, was mein Gerät tun soll, aber ich habe kein großes Verständnis für die Übertragung von Daten über Ethernet. Im Grunde werde ich Video von meinem Gerät senden, um auf einem PC gespeichert zu werden. Irgendwelche Vorschläge werden sehr geschätzt. – giroy

+0

Das Senden von Videos ist eine offene Frage. Sie haben viele Möglichkeiten. 1) Streaming bei Bedarf mit TCP und 1 Stream pro Client. 2) UDP Streaming entweder Unicast oder Multicast. Sie können entweder TCP oder UDP zum Streamen von Videodaten verwenden. Sie können mit RTP oder Rohdaten streamen. MPEG-2 kann Rohdaten wie MPEG-2 Transport Stream gestreamt werden, da die Timing-Informationen eingebettet sind. Videos wie MPEG-4 oder H.264 können mit RTP gestreamt werden, wodurch Zeitstempel hinzugefügt werden. Sie benötigen jedoch auch andere Mechanismen wie SDP-Dateien oder RTSP, um wichtige Konfigurationsdaten zu erhalten. – FLY135

+0

Ein Player wie der VideoLan-Client (VLC) ist ein hervorragendes Tool für die Clientseite, um Ihr eingebettetes Gerät zu testen. Suchen Sie nach RFCs, die RTP und RTSP als Ausgangspunkt beschreiben. – FLY135

0

DHCP Discover“ bedeutet, dass Ihr PC ein beliebiges Gerät mit dem Ethernet-Verbindung für eine IP-Adresse verbunden ist, fragen sie nutzen könnten. Offensichtlich ist Ihr Gerät kein DHCP-Server. Stattdessen sollten Sie als ersten Schritt sowohl Ihren PC als auch Ihr Gerät static IP addresses zuweisen, vorzugsweise aus der private IP ranges wie 192.168.x.x.

Wenn Ihr Gerät über eine funktionierende IP-stack verfügt, sollte es auf pings antworten.

Sie können die BROWSER and NBNS packets ignorieren. Das ist nur Windows versucht, mit einem anderen Windows zu sprechen.

Korrektur: Es ist nicht völlig klar, welches Gerät das DHCP Discover ausstrahlt, es ist wahrscheinlich Ihr PC, aber es könnte auch das Gerät sein (wenn es einen eingebauten DHCP-Client hat), oder irgendein anderes Gerät die gleiche Ethernet-Verbindung. Sie müssen die MAC Adresses in den Wireshark Dump einschließen, um sicher zu sein.

0

Es sieht so aus, als ob Ihr Gerät versucht, eine IP-Nummer von einem DHCP-Server zu erhalten, aber kein DHCP-Server antwortet.

EDIT: Ich sage, es ist das Gerät, denn wenn ich die Spur richtig lese, hat Ihr Computer bereits eine IP-Nummer. Es könnte lehrreich sein, die zugrunde liegenden Ethernet-Frames zu betrachten - ich glaube, Wireshark lässt Sie das tun.