Einrichtung verschiedener PC-Erweiterungskarten

Beschreibung: Die 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:

/proc/dma
/proc/interrupts
/proc/ioports
/proc/pci
pnpdump
isapnp
lspci

Unterschied zwischen ISA und PCI

Neben der technischen Seite ist vor allem das Plug and Play von großer Bedeutung, was bei ISA nie richtig standardisiert wurde. PCI-Karten müssen nicht manuell konfiguriert werden, da alle PCI-Karte nach folgendem Schema adressiert werden:
Busnummer:Steckplatznummer.Funktionsnummer

Das /Proc Verzeichnis

/proc/interrupts = Zeigt die genutzten IRQ-Kanäle an.
/proc/ioports = Zeigt die IO-Adressen (base addresses) an.
/proc/dma = Infos zu den DMA-Kanälen
/proc/iomem = Anzeigen der Speicherbereiche der verschiedenen Speicherarten (RAM, VideoRAM, ROM's etc)
/proc/cpuinfo = Infos zum Prozessor anzeigen.
/proc/devices = Anzeigen der Block- und Character-Devices.
/proc/partitions = Anzeigen der Plattenpartitionen.

      major minor  #blocks  name
3 0 19925880 ide/host0/bus0/target0/lun0/disc
3 1 4200966 ide/host0/bus0/target0/lun0/part1

/proc/pci = Infos zu PCI- und AGP-Geräten.
/proc/cmdline = Kommandozeile, mit der der Kernel selbst gestartet wurde. Zeigt Kernelparameter, die während des Bootens angezeigt wurden.
/proc/filesystems = Zeigt bekannte Dateisystemtypen an.
/proc/meminfo = Auslastung des Arbeitsspeichers.
/proc/modules = Liste der aktuell geladenen Kernel-Module.
/proc/mounts = Liste aller gemounteter Dateisysteme.
/proc/version = Kernelversion.
/proc/bus = Informationen über die gefundenen Bussysteme (PCI, USB, ...)
/proc/ide = Anzeigen IDE-Geräte und -Schnittstellen.
/proc/scsi = Informationen über SCSI-Geräte und Schnittstellen.
/proc/net = Informationen über netzwerk-relevante Einstellungen (bsp. Routing-Tabelle, ARP-Informationen, etc).

PNPDUMP, ISAPNP, SNDCONFIG

pnpdump > /etc/isapnp.conf
Scannt den ISA-Bus nach Geräten und schreibt diese in die isapnp.conf

Nachdem die isapnp.conf editiert wurde, kann man mit
/sbin/isapnp /etc/isapnp.conf
die ISA-Geräte in Betrieb nehmen. Dieser Befehl muss bei jedem Neustart ausgeführt werden.

sndconfig wird dazu genutzt, um ISA-P'n'P-Karten zu installieren. Ist fast identisch zu isapnp.

DMA - Direct Memory Access

Steht für direkten Speicherzugriff auf die Festplatte, der über einen separaten Bus erfolgt. Dies beschleunigt den Datentransfer der Festplatte deutlich und sorgt dafür, dass der Hauptprozessor entlastet wird. DMA wird mittels hdparm aktiviert bzw. deaktiviert.

Ports, Interrupts und DMA

Folgende Dateien sind wichtig für die Verwaltung von Ports, Interrupts and DMA:

/proc/ioports = Zeigt den Speicherbereich ("base address") bzw. die I/O-Ports an, die vom System genutzt wird.

bash$ head -5 /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc

/proc/interupts = Zeigt die belegten IRQ-Interupts an

bash$ head -5 /proc/interrupts
CPU0
0: 204783 XT-PIC timer
1: 2410 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 4004 XT-PIC aic7xxx

/proc/dma = Zeigt Einstellungen bezüglich DMA an.

bash$ cat /proc/dma
4: cascade

Gängige IRQ-Belegungen

IRQ0 = Timer (Mainboard)
IRQ1 = Tastatur (Mainboard)
IRQ3 = /dev/ttyS0 (COM1)
IRQ4 = /dev/ttyS1 (COM2)
IRQ6 = Floppy
IRQ7 = /dev/lp0 (1. Parallelport)
usw, usw....

Zusätzliche Links

Infos zu IRQ, Hardwareadressen, etc