Bug des Tages: Coprozessor
Ein an dieser Stelle nicht näher bezeichnetes System nervte uns seit einigen Tagen damit, dass wir von unseren Karten beim Starten keine verwertbaren Informationen mitgeteilt bekommen. Die Anmeldung eines PCI-Devices bei einem Betriebssystem läuft normalerweise so, dass man dem System mitteilt welche Art von Karten man unterstützen möchte, typischerweise bezeichnet durch die Hersteller- (Vendor) und Geräte-Kennung (Device). Zurück bekommt man dann eine Struktur, die alle möglichen Informationen über das Gerät enthält: Interrupt-Nummer, Adresse der Speicherbereiche, Länge der Speicherbereiche usw. .
Leider ist dieses Stück Software nicht normal. Das Gerät wurde gefunden, allerdings war die Struktur an nahezu allen Stellen leer. Wenn ich direkt das Gerät gefragt habe lieferte es mir aber zurück, dass z.B. ein Interrupt konfiguriert wurde. Zugriffe auf die Karte funktionierten auch einwandfrei. Interrupts waren jedoch trotz aller Tricks nicht möglich.
Schließlich änderten wir entnervt die Angabe zur Geräteklasse von "Coprocessor" nach "Data Acquisition" und aus dem Stand heraus funktionierte alles. Welche Angabe nun richtiger ist darüber lässt sich vermutlich streiten, fest steht: das Gerät kann beides (und es wird auch für beide Zwecke eingesetzt).