1. http://support.microsoft.com/kb/98760/de
2. Versuch die Karte einfach mal OHNE sie zu konfigurieren. Eigentlich
schreibt das 3c5x9cfg nur die Parameter ins EEprom der Netzwerkkarte.
Das Einstellen der Parameter macht dann der Treiber zur Laufzeit.
Evtl. musst du ein paar der (im Grunde genommen überflüssigen Abfragen)
aus dem Initialisierungscode entfernen.
Überflüssige Teile in 3c90x.c im init_3c5x9() sind z.B.
1 | // Every nic i have seen has "00" in the msb mac field.
|
2 | if((st & 0xff00) != 0) // No nic, i guess.
|
3 | return 1;
|
Das merkt man dann schon wenn keine Karte da ist. Selber schuld ;-)
1 | // Prüfung nicht unbedingt notwendig, da die I/O
|
2 | // per software (ID_PORT) eingestellt wird.
|
3 | if(st != ((0x310-0x200)>>4)) // 0x11
|
4 | return 2;
|
Der hier Prüft ob 310h als IO im EEprom steht. Völlig überflüssig. in
den folgenden Zeilen wird 310h eingestellt, egal ob's im EEprom steht
oder nicht!
1 | // Hole einige informationen von der karte
|
2 | st = readreg(0x310); // Hersteller Kennung
|
3 | printf("MfgtID: %04X\n", st);
|
4 | if(st != 0x6D50) // 3Com ?
|
5 | return 3; // no 3com
|
6 |
|
7 | // Produktkennung
|
8 | st = readreg(0x312);
|
9 | printf_P(PSTR("Product ID: %04X\n"), st);
|
10 | if(st != 0x9450)
|
11 | return 4; // no 3c5x9
|
Wenn es keine 3com Karte ist... selber Schuld. Und die Product ID: Ich
habe hier natürlich auch nicht alle revisionen der Karte rumliegen. Es
geht auch mit Karten die nicht Revision 9450h sind.
Der Code den es hier zum Download gibt sieht warscheinlich inzwischen
etwas anders aus, (die Ausschnitte hier stammen aus dem "Urcode")
müssten aber zu finden sein.