Forum: Mikrocontroller und Digitale Elektronik ENC28j60 Initialisierung OK aber keine Verbindung


von Sonke A. (soeni)


Lesenswert?

Hallo, habe nun meinen ENC28j60 initialisiert bekommen. (Eine LED der 
LAn Buchse blinkt kurz auf.)

Status ist richtig, Register wurde auch gesetzt (hab ich 
stichprobenartig geprüft durch Auslesen)

Benutzen tu ich nun den UIP IP Stack un einfacher ausführung nur mit dem 
Webserver. Kompilieren geht einwandfrei, habe auch die main.c 
entsprechend angepasst, nur leider finde ich meinen uC im Netz nicht. 
Habt ihr ne Idee, wie ich weiter Debuggen kann? Soll ich den Code 
posten?

Kann uip standartmäßig pinganfragen beantworten? wenn nicht wie bring 
ich ihm das bei?

Jemand ne Idee, ich weis grad nicht weiter, wie ich gucken kann wo es 
hackt.

Gruß

Sonke

von Grolle (Gast)


Lesenswert?

Du kannst ja mal mit nmap ein bissel rumhacken.
Oder, vermutlich noch besser, mit wireshark.
Um zu gucken, was für Datenpaket da wo hin gehen. Dann werden Dir 
bestimmt ein paar Ideen kommen, wo es hakt.

von Sonke A. (soeni)


Lesenswert?

Das ist ja das Problem, ich bekomme garkeine Pakete da raus.

Weis jemand ein codestück wie man ganz einfach ein IP Paket an einen 
anderen Host sendet, das muss ja nicht mal irgend einen sinn haben, nur 
das man sieht, dass das ding was sendet und es mit wireshark sehen kann.

von Grolle (Gast)


Lesenswert?

Bevor da Pakete rauskommen, musst Du ja erstmal wissen, ob die Pakete da 
ankommen.

Das erste, was passen muss, ist die MAC-Adressen-Ebene.

Sonst weiß der andere Rechner ja gar nicht, wo er seine Pakete 
hinschicken soll.

Erst danach die höheren Schichten, die IP-Ebene.

von Grolle (Gast)


Lesenswert?

Wireshark ist für solche Fragen als erstes mal genau das Tool der Wahl.

von Sonke A. (soeni)


Lesenswert?

Naja ich würde halt gerne vom uC ein paket an den Rechner schicken um 
das zu testen. weil mit dem MAC Adressfilter bekomme ich keine Paktete 
vom uC

eth.addr==00:03:6f:55:1c:c2
bzw.
ip.addr==192.168.178.210

Auch die anfrage an den Webserver sehe ich da nicht. Mein Router hat den 
uC auch noch nicht als Gerät identifiziert.

Wie kann ich also am besten einfach dur ein IP Paket an eine bestimmte 
IP Adresse schicken. Wie gesagt, das Paket kann zurückgewiesen werden 
oder was auch immer haupsache ich sehe das erstmal im wireshark.

Zur Mac Adresse, Die niedrigste Schicht im Netzwerk, die mindestens 
erforderlich ist, damit die Pakete von meinem Switch weitergeleitet 
werden ist doch die IP Schicht, wie soll ich auf MAC Ebene ein Paket 
schicken??

von Sonke A. (soeni)


Angehängte Dateien:

Lesenswert?

hm Scheint so, als hätte ich ein größeres problem, nach der 
initialisierung (Wärend dessen blinkt ganz kurz eine LED) bleiben die 
LEDs beide aus, obwohl ein LAN kabel steckt welches mit einem Switch 
verbunden ist. Woran kann das Liegen?

Im Anhand meine Initialisierungsroutine des ENC

von Sonke A. (soeni)


Lesenswert?

noch jemand da? hab leider immer noch keine Ahnung. Woran könnte es denn 
liegen, dass noch nicht mal das Link leuchtet?

von holger (Gast)


Lesenswert?

/* Set Pin-Directions  */
  //ENC28J60_DDR |= 
(1<<ENC28J60_MOSI)|(1<<ENC28J60_CS)|(1<<ENC28J60_SCK);
  //ENC28J60_DDR &= ~((1<<ENC28J60_INT)|(1<<ENC28J60_MISO));


Warum hast du da Kommentare draus gemacht?

von Sonke A. (soeni)


Lesenswert?

weil ich da nur die SPI Schnittstelle initialisiere. Da ich aber im 
gleichen Projekt ebenfalls die SPI initialisiere, wäre das hier falsch 
sie erneut zu setzten, bzw. doppelt gemoppelt.

Die SPI scheint ja auch zu funktionieren, denn ich kann ja die register 
des ENCs lesen und schreiben. es steht ja auch das richtige drinn.

Werde mir vielleicht mal die mühe machen jedes Register auszulesen um zu 
gucken ob alles stimmt. Denke aber schon, stichprobenartig stimmte ja 
alles

von holger (Gast)


Lesenswert?

Was ist denn wenn du dein zweites SPI Gerät nicht benutzt?
Also komplett rausschmeisst. Funktioniert dann was?

von Sonke A. (soeni)


Lesenswert?

Ja klar, momentan benutze ich ja noch kein zweites Gerät, hatte nur nen 
eigenen SPI Treiber geschrieben, welcher auch für andere devices nutzbar 
ist. deshalb mach ich auch dort die Portinitialisierung.

Aber müsste nicht der ENC nach einer initialisierung sifirt die LINK LED 
anschalten wenn ein kabel steckt, egal ob er da noch mit dem Atmega 
kommuniziert?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.