Forum: Mikrocontroller und Digitale Elektronik RTL8019AS wann kommt Interrupt?


von hebel23 (Gast)


Lesenswert?

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

von Christoph Lechner (Gast)


Lesenswert?

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

von hebel23 (Gast)


Lesenswert?

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

von Sebastian (Gast)


Lesenswert?

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

von hebel23 (Gast)


Lesenswert?

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

von hebel23 (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.