Ich habe ein ARM7 Board von Olimex mit einem DM9000 als Ethernetcontroller. Nun versuche ich grad, LWIP als TCP/IP Stack mit dem DM9000 unter FreeRTOS zu verwenden. Mein Problem ist nun die Initialisierung des DM9000. Ich habe mir den Linux- und den eCos-Treiber und ein Beispiel für uIp von Olimex angeschaut. Im eCos Treiber wird die auto-negotiation aktiviert und gewartet, bis sie beendet ist. Bei mir funktioniert das aber nicht. Das Hauptproblem ist, das die Dokumentation des DM9000 ziemlich scheiße ist. Zumindest hab ich ein Bit gefunden, das anzeigen sollte, ob die auto-negotiation verfügbar ist. (Bit Auto-Negotiation Ability im Register BMSR) Dieses sagt mir immer, das sie nicht verfügbar ist. Das kommt mir bissl seltsam vor. Im Handbuch steht dazu nichts weiter. Gibt es verschiedene DM9000, wo bei manchen diese Funktion enthalten ist und bei manchen nicht? Oder gibts das grundsätzlich nur bei Verwendung eines externen PHY? (was immer das bedeutet, aber das gibts als Option beim DM9000) Wie initialisiert ihr den DM9000? Wo gibts noch brauchbare Infos zum DM9000? (Bei google jedenfalls nicht)
Ich hab noch bissl weiter geforscht und noch ein Register gefunden, das Debug-Informationen zum auto-negotiation Ablauf enthält: DSCSR. Die Monitor-Bits sollen mir laut Datenblatt folgendes sagen: "Parallel Detects Signal_link_ready Fail" Weiß jemand, was das bedeuten soll?
Wow, ich hätte nicht gedacht, das ich mal ne Frage habe, die hier niemand beantworten kann. :-)
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.