1

Je suis en train de concevoir un appareil qui sera connecté à un ordinateur via Ethernet. Il a déjà un contrôleur mac intégré. Lorsque j'attache le périphérique, tout ce qui se passe est l'ordinateur diffuse un paquet de paquets de découverte DHCP et d'autres paquets je suppose dans une tentative de trouver le périphérique et d'établir la connexion. Je suppose que je dois faire mon appareil répondre à ce stade avec une sorte de paquets de reconnaissance, mais je ne suis pas sûr de quoi? Est-ce que quelqu'un a déjà fait quelque chose comme ça? MerciComment établir une connexion ethernet entre l'ordinateur portable et l'appareil embarqué

J'utilise wireshark pour voir les paquets. La sortie ressemble à ceci:

 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

Définissez-vous une adresse IP statique ou DHCP? Je voudrais désactiver DHCP et utiliser une adresse IP statique pour aider à éliminer les paquets qui ne sont pas nécessaires. – Nick

Répondre

2

Si votre ordinateur diffuse des paquets DHCP, c'est parce qu'il a besoin d'un serveur DHCP pour obtenir une adresse. C'est pas à la recherche de votre appareil. Avez-vous sorti l'ordinateur du réseau principal et l'avez branché sur un réseau privé avec votre appareil?

Votre ordinateur ne connaît rien à votre périphérique intégré et ne tente pas d'établir une connexion avec celui-ci. La première chose que vous devez faire est de décider ce que la connexion fera, puis écrire ou obtenir un logiciel pour créer la connexion. Généralement, le périphérique intégré crée un socket serveur et attend qu'un client (votre ordinateur) s'y connecte. Telnet est un exemple de connexion tcp client/serveur.

Il est évident, d'après votre message, que vous n'êtes pas sûr de ce que fait votre périphérique intégré. Vous devez en savoir plus sur votre périphérique intégré et son fonctionnement.

+0

vous avez raison. Je sais ce que je veux que mon appareil fasse, mais je ne comprends pas très bien la transmission de données à l'aide d'Ethernet. Fondamentalement, je vais envoyer une vidéo de mon appareil pour être stocké sur un PC. Toutes les suggestions seront extrêmement appréciées. – giroy

+0

Envoyer une vidéo est une question ouverte. Vous avez beaucoup de choix. 1) Diffusion à la demande en utilisant TCP et 1 flux par client. 2) Diffusion UDP en monodiffusion ou en multidiffusion. Vous pouvez utiliser TCP ou UDP pour diffuser des données vidéo. Vous pouvez diffuser en utilisant RTP ou des données brutes. MPEG-2 peut être diffusé des données brutes comme le flux de transport MPEG-2 car les informations de synchronisation sont incorporées. La vidéo comme MPEG-4 ou H.264 peut être diffusée en utilisant RTP, qui ajoute des horodatages. Mais ils nécessitent également d'autres mécanismes tels que les fichiers SDP ou RTSP pour obtenir les données de configuration essentielles. – FLY135

+0

Un lecteur tel que VideoLan Client (VLC) est un excellent outil pour le client pour tester votre appareil embarqué. Recherchez des RFC qui décrivent RTP et RTSP comme point de départ. – FLY135

0

« DHCP Découvrez » signifie que votre PC demande tout appareil connecté au réseau Ethernet Link pour une adresse IP, il pourrait utiliser. Évidemment, votre appareil n'est pas un serveur DHCP. Au lieu de cela, dans un premier temps, vous devez affecter à la fois votre ordinateur et votre appareil static IP addresses, de préférence à partir du private IP ranges comme 192.168.x.x.

Si votre appareil a un fonctionnement IP-stack, il doit alors répondre à pings.

Vous pouvez ignorer le BROWSER and NBNS packets. Thats juste Windows essayant de parler à un autre Windows.

Correction: Il n'est pas tout à fait clair, quel appareil diffuse le DHCP Discover, c'est probablement votre PC, mais il pourrait aussi bien être l'appareil (s'il a un DHCP-Client intégré), ou tout autre périphérique le même lien Ethernet. Vous devez inclure le MAC Adresses dans la décharge Wireshark pour être sûr.

0

Il semble que votre appareil essaie d'obtenir un numéro IP d'un serveur DHCP, mais aucun serveur DHCP ne répond.

EDIT: Je dis que c'est l'appareil car si je suis en train de lire la trace, votre ordinateur a déjà un numéro IP. Il pourrait être instructif de regarder les trames Ethernet sous-jacentes - je crois que Wireshark vous permet de faire cela.