Beschreibung: Prüfungskandidaten sollten in der Lage sein, verschiedene Karten für die unterschiedlichen Erweiterungssteckplätze zu konfigurieren. Sie sollten die Unterschiede zwischen ISA- und PCI-Karten in Hinsicht auf Konfigurationsfragen kennen. Dieses Lernziel beinhaltet das korrekte Setzen von Interrupts, DMAs und I/O-Ports der Karten, speziell um Konflikte zwischen Geräten zu vermeiden. Ebenfalls enthalten ist die Verwendung von isapnp, wenn es sich um eine ISA PnP-Karte handelt.
Die wichtigsten Dateien, Bezeichnungen und Anwendungen
Alles, was für dieses Thema wichtig ist, wurde schon in den Abschnitten
besprochen. Hier also nur noch eine kurze Zusammenfassung:
Im Gegensatz zu ISA-Karten ist also bei PCI Karten niemals die manuelle Vergabe von Hardware-Parametern (IO-Ports, IRQs, DMA-Kanäle) notwendig. Linux unterstützt die PCI-Technik vollständig.
Die ISA Karten benötigen unter Linux grundsätzlich immer diese Parameter, egal, ob sie alte Karten mit manueller Einstellung sind, oder Plug and Play Karten. Bei den letzteren wird das Programm isapnp benutzt, um die Einstellungen festzulegen, beim Laden der Module müssen die Einstellungen aber trotzdem vorgenommen werden.
Um von Vorneherein Mißverständnisse auszuschließen, hier noch eine kurze Beschreibung des AGP-Busses für Graphikkarten. Der AGP-Bus ist - technisch gesehen - ein eigenständiger PCI-Bus mit einer anderen Bauform der Steckverbinder. Dieser Bus hat nur einen Steckplatz und der ist für die Graphikkarte gedacht. Der Grund für diese Technik liegt in dem besonders großen Datentransfer-Volumen von Graphikkarten. Um einen ungebremsten Transfer zwischen Computer und Monitor sicherzustellen, wurde für diese Aufgabe ein eigenständiger Bus entwickelt, bei dem sich die Graphikkarte die Leistung des Bussystems nicht mit anderen Karten teilen muß.
PCI-Bussysteme werden intern ähnlich adressiert wie SCSI-Systeme. Auch hier gibt es eine dreigeteilte Adressierung in der Form
Busnummer:Steckplatznummer.FunktionsnummerDie Busnummer für den normalen PCI-Bus ist 00, die für den AGP-Bus ist 01. Die beiden Bussysteme werden also tatsächlich als unterschiedliche Systeme behandelt. Die Funktionsnummer steht für das jeweilige Gerät, das die entsprechende Funktionalität zur Verfügung stellt.
Das Programm lspci ermöglicht es, genau zu bestimmen, welche Geräte (Karten) am PCI-Bus angeschlossen sind und als was sie sich ausgeben. Das ist insbesondere wichtig, um herauszufinden, welche Chipsätze oder Kompatibilitätskriterien bestimmte Karten aufweisen, um mit dieser Information dann das entsprechende Modul zu laden. Moderne Linux-Distributionen, die bei der Installation selbstständig herausfinden, welche Karten angeschlossen sind (Hardwareerkennung) bedienen sich dieses Programms.
Die eigentlichen Informationen, welche Hersteller und welche Geräte die gefundenen Ergebnisse repräsentieren, wird die systemweite Datenbank /usr/share/misc/pci.ids benutzt. Durch den Parameter -n wird lspci dazu gezwungen, diese Datei nicht zu konsultieren, sondern die Ergebnisse numerisch auszugeben.
Linux Kernel, die neuer als die Version 2.1.82 sind, stellen zudem im Verzeichnis /proc/pci weitere Informationen (binär) zur Verfügung. Das Verzeichnis enthält für jeden PCI-Bus ein entsprechendes Unterverzeichnis, das wiederum für jede angeschlossene Karte eine Datei beinhaltet.