| Zeile 1: | Zeile 1: | ||
{{Hinweis|Text=Ich kenne mich mit der PCnet-Karte nicht besonders aus. Ich habe diesen Artikel auf Basis des týndur-Treibers und der drei unten genannten Spezifikationen erstellt, da diese Seite schon sehr lange auf der TODO-Liste steht, sich jedoch niemand darum gekümmert hat. | {{Hinweis|Text=Ich kenne mich mit der PCnet-Karte nicht besonders aus. Ich habe diesen Artikel auf Basis des týndur-Treibers und der drei unten genannten Spezifikationen erstellt, da diese Seite schon sehr lange auf der TODO-Liste steht, sich jedoch niemand darum gekümmert hat. | ||
| − | Wenn '''du''' dich mit dieser Netzwerkkarte einigermaßen auskennst, dann bist du '''jetzt''' aufgerufen, diesen Artikel zu erweitern und/oder zu korrigieren!}} | + | Wenn '''du''' dich mit dieser Netzwerkkarte einigermaßen auskennst, dann bist du '''jetzt''' aufgerufen, diesen Artikel zu erweitern und/oder zu korrigieren (oder natürlich diesen Hinweis zu entfernen, wenn du den Artikel für korrekt befindest)!}} |
Dieser Artikel beschäftigt sich mit der Programmierung der AMD-PCnet-FAST-III-Netzwerkkarte (Am79C973). | Dieser Artikel beschäftigt sich mit der Programmierung der AMD-PCnet-FAST-III-Netzwerkkarte (Am79C973). | ||
| Zeile 29: | Zeile 29: | ||
1. IRQ und I/O-Ports vom PCI-Treiber holen und gegebenenfalls registrieren | 1. IRQ und I/O-Ports vom PCI-Treiber holen und gegebenenfalls registrieren | ||
| − | 2. MAC-Adresse herausfinden; | + | 2. MAC-Adresse herausfinden; deren einzelne Bytes stehen in den ersten Bytes des I/O-Raums (APROM0 bis APROM5). |
3. Die Karte zurücksetzen; es muss ein Word vom Resetregister (0x14) eingelesen werden, um einen Software-Reset durchzuführen. Anschließend empfiehlt es sich, zehn Millisekunden zu warten, bis der Reset beendet ist. Danach sollte das BCR20-Register auf 0x0102 gesetzt werden, dies verändert den Softwarestyle zu PCnet-PCI, dadurch werden 32-Bit- und nicht 16-Bit-Strukturen verwendet. Außerdem wird dadurch das SSIZE32-Bit gesetzt, auch dadurch werden 32-Bit-Strukturen aktiviert. | 3. Die Karte zurücksetzen; es muss ein Word vom Resetregister (0x14) eingelesen werden, um einen Software-Reset durchzuführen. Anschließend empfiehlt es sich, zehn Millisekunden zu warten, bis der Reset beendet ist. Danach sollte das BCR20-Register auf 0x0102 gesetzt werden, dies verändert den Softwarestyle zu PCnet-PCI, dadurch werden 32-Bit- und nicht 16-Bit-Strukturen verwendet. Außerdem wird dadurch das SSIZE32-Bit gesetzt, auch dadurch werden 32-Bit-Strukturen aktiviert. | ||
| Zeile 87: | Zeile 87: | ||
//16-Bit-I/O-Ports (bzw. Offsets zum Beginn des I/O-Raums) | //16-Bit-I/O-Ports (bzw. Offsets zum Beginn des I/O-Raums) | ||
#define APROM0 0x00 | #define APROM0 0x00 | ||
| + | #define APROM1 0x01 | ||
#define APROM2 0x02 | #define APROM2 0x02 | ||
| + | #define APROM3 0x03 | ||
#define APROM4 0x04 | #define APROM4 0x04 | ||
| + | #define APROM5 0x05 | ||
#define RDP 0x10 | #define RDP 0x10 | ||
#define RAP 0x12 | #define RAP 0x12 | ||