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
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.
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.
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.
Wireshark ist für solche Fragen als erstes mal genau das Tool der Wahl.
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??
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
noch jemand da? hab leider immer noch keine Ahnung. Woran könnte es denn liegen, dass noch nicht mal das Link leuchtet?
/* 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?
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
Was ist denn wenn du dein zweites SPI Gerät nicht benutzt? Also komplett rausschmeisst. Funktioniert dann was?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.