Hallo allerseits, ich versuche mich gerade mit dem Ansteuern eines RTL8019AS - Netzwerkchips mit einem ATMEGA128. Die Beschaltung scheint OK zu sein (An Ethernut angelehnt also direkt über den XMEM-Port). Ich kann in die Register schreiben und sie auslesen. Auch die umfangreiche Initialisierung scheint geklappt zu haben. Das Interruptsystem funktioniert dahingehend, dass ich ein Packet abschicke und anschließend ein Interrupt ausgelöst wird, der durch einen Fehler beim Senden ausgelöst wird. Ich hatte mir das nun so vorgestellt: Wenn ich vom PC aus ein "ipconfig /all" absende und der RTL-Chip initialisiert und gestartet wurde, müsste doch eigentlich im RTL ein Interrupt ausgelöst werden (was nicht der Fall ist), da der doch auf alle Packete im Netzwerk reagieren sollte?! Sehe ich das richtig oder habe ich den falschen Befehl verwendet? (Betriebssystem WinXP) Danke schonmal und Gruß Andreas
Hallo, du musst AFAIK "ipconfig /release" und dann "ipconfig /renew" eingeben. Aber bin mir nicht sicher. BTW: Setzt DHCP voraus. Ne andere Möglichkeit ist, die Ethernet-Adresse deiner Realtek-Karte per "arp" Utility statisch auf eine IP im selben Subnet zu setzen. Diese IP musst du dann nur noch anpingen. MfG - C. Lechner
Hallo Christoph, also die MAC-Adresse, die ich auch im RTL eingestellt habe, und die IP-Nummer per ARP zugewiesen hab ich auch schon. Ein anschließender Ping auf die IP hat auch schön die LINK-LED´s am Switch blinken lassen (auch die wo der RTL dranhängt) - ein Interrupt hat das aber trotzdem nicht ausgelöst. Wenn ich ipconfig /release oder ipconfig /renew eingebe, kommt die Fehlermeldung: "Der Vogang ist fehlgeschlagen, weil kein Adapter sich in einem für diesen Vorgang zulässigen Zustand befindet." Gruß Andreas
Sers, das was du versuchst kann auch nicht gehen. ipconfig ist nur für die Karte im Windowsrechner da und benutzt auch nur die Adapter. Wenn du eine feste IP Adresse bei dem Windowsrechner eingestellt hast klappen die Befehle natürlich mit release gibst du die IP-Addresse des Windows Pc frei und bei renew holt der sich neue beim DHCP. Da du das nicht hast, wird das nix. Der Fehler liegt hier wohl bei deinem System. Kannst du nicht versuchen mit dem Mega was zu senden? seb
Hi, naja ich hab ja schon versucht ein Ethernet-Packet abzusenden. Dabei wurde im RTL auch ein Interrupt ausgelöst auf den der AVR reagiert hat und brav auf den INT-Vektor gesprungen ist. Die ISR-Geschichte funktioniert also sowohl Hard- als auch Softwaremäßig. Ich kenne mich leider mit Netzwerktechnik (noch) nicht so im Detail aus. Gibt es denn einen Befehl um quasi einen Rundruf an alle angeschlossenen Teilnehmer eines Netzwerkes auszulösen (Multicastsendung), auf das der RTL auf jeden Fall reagieren muss? Das Interruptflagregister ist so eingestellt, dass in jedem Fall eines Empfangs von einem Ethernetpacket ein Interrupt ausgelöst werden soll, egal ob fehlerhaft oder fehlerfrei. Gruß Andreas
Hab den Fehler gefunden! Ein (von mir) falsch bestücktes Bauteil hatte hinter dem Übertrager das RX-Signal abgeknetscht! Gruß Andreas
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.