Hardwareprobleme - TV-Karte, PIO/UDMA, unknown cards

Hallo,

ich habe ein paar kleinere Probleme mit der Kernelunterstützung von ein paar Hardwarekomponenten.

System: FreeBSD 4.8 Release (i386)

Den Kernel habe ich optimiert und neu kompiliert und konnte dadurch die meisten Komponenten zum Laufen bringen. Ein paar Dinge sind aber übrig geblieben, die ich trotz intensiven Studiums des Handbuchs (das Handbuch ist mein bester Freund :D ) und diverser man-pages nicht lösen konnte:

1. Die Unterstützung der Hauppauge WinTV PCI (bt878 chip) funktioniert leider nur teilweise. Habe den BrookTree-Treiber im Kernel wie folgt eingebunden:

Code:
device bktr
options BKTR_OVERRIDE_CARD=2
options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_PAL
Die Karte ist device 12. Funktion 0 -> video wurde korrekt eingebunden, aber Funktion 1 -> audio nicht. Hier die relevanten Meldungen beim Booten:

bktr0: <BrookTree 878> mem 0xd7000000-0xd7000fff at device 12.0 on pci0
pci_cfgintr_virgin: using routable interrupt 3
pci_cfgintr: 0:12 INTA routed to irq 3
bktr0: Hauppauge Model 61324 B408
bktr0: Detected a MSP3410D-B4 at 0x80
bktr0: Hauppauge WinCast/TV, Philips PAL I tuner, msp3400c stereo, remote control.
pci0: <unknown card> (vendor=0x109e, dev=0x0878) at 12.1
Scheint so, als ob er den audio-Part nicht "mag". Weiß vielleicht jemand einen Rat?

2. Das folgende Gerät kann ich leider gar nicht identifizieren. Diese Meldung erscheint beim Booten:

pci0: <unknown card> (vendor=0x1106, dev=0x3057) at 4.4
Weiß vielleicht jemand, um welches Gerät es sich handeln könnte? Alle anderen PCI-Karten funktionieren und dort werden auch keine Fehlermeldungen angezeigt.

Ach ja, der Kernel ist mit

Code:
options PCI_ENABLE_IO_MODES
kompiliert. War notwendig, damit alle Karten korrekt erkannt wurden (betraf hauptsächlich die Netzwerkkarte), was damit dann problemlos möglich war.

3. Ich habe neben dem normalen IDE-Controller noch einen zusätzliche ATA100-Controller (Promise) auf dem Mainbord. Der wird auch prima erkannt und eingebunden. Nur möchte ich den gar nicht eingebunden / aktiviert haben, weil daran keine Geräte / Platten angeschlossen sind. Im BIOS des Mainboards ist der Controller auch deaktiviert.

Ich habe auch schon versucht, im Kernel

Code:
device atadisk
rauszunehmen und nur

Code:
device ata
zu belassen, aber dann bootet der Kernel nicht mehr. Da die Konfiguration der ATA/ATAPI-Geräte automatisch läuft, weiß ich leider nicht, wie ich den zusätzlichen ATA100 Controller deaktivieren kann.

Hier die relevanten Meldungen beim Booten:

atapci1: <Promise ATA100 controller> port 0x8000-0x803f, 0x8400-0x8403, 0x8800-0x8807, 0x9000-0x9003, 0x9400-0x9407 mem 0xd4000000-0xd401ffff irq 10 at device 17.0 on pci0
ata2: at 0x9400 on atapci1
ata3: at 0x8800 on atapci1
4. Die beiden CD-Laufwerke (CD-RW und CDROM) laufen nur im PIO-Modus, obwohl beide Laufwerke UDMA 2 unterstützen und sie in anderen Betriebssystemen auch gleichzeitig mit UDMA 2 laufen. Wie kann ich den UDMA_Modus aktivieren? Das Handbuch schweigt sich dazu leider aus.

Hier die relevanten Meldungen beim Booten:

acd0: CD-RW <YAMAHA CRW2200E> at ata1-master PIO 4
acd1: CDROM <LTN526S> at ata1-slave PIO 4
Vielen Dank für eure Hilfe! Für eventuelle Rückfragen stehe ich gern zur Verfügung. :)

Gruß,
Peter

PS: Sollte ich evtl. den Wald vor lauter Bäumen nicht sehen, dann seid bitte gnädig mit mir. Ich habe wirklich intensiv im Handbuch gelesen, man-pages durchforstet und auch in der Bsp-Kernelkonfigurationsdatei LINT gesucht und bin leider nicht fündig geworden. Sollte ich irgendetwas, das doch dokumentiert ist, übersehen haben, dann wäre ich über einen Hinweis zur Fundstelle sehr dankbar.
 
pci0: <unknown card> (vendor=0x1106, dev=0x3057) at 4.4

Na das ist doch Deine Onboard Acpi-Bridge von Via :D

Wer googlen kann, ist klar im Vorteil, nichts für ungut;)

Bezüglich Deiner TV-Karte kann ich mir das Erscheinen nicht erklären. Allein mit device bktr oder als Modul habe ich schon mehrere verschiedene TV-Karten mit bt848 und bt878 zum Laufen gebracht.

Wegen Deiner CD-Rom's trägst Du in die Datei /boot/loader.conf ein:
hw.ata.atapi_dma="1"

Speichern->Reboot->Fertig
 
Zuletzt bearbeitet:
Gibt kaum noch was zu Moonlooks Posting hinzuzufuegen, aber:

Warum willst du ueberhaupt ATA Kanaele deaktivieren? Warum baust du den Controller nicht gleich ganz aus, wenn du ihn nicht benoetigst?

Ansonsten sollte (!??!) es funktionieren, die devices einzeln im Kernel einzutragen:
device ata0
device ata1

Ist aber ungetestet!

Fuer den bktr Treiber gibts einen Patch, mit dem dann auch so wirklich alle MSP34xx Chips laufen sollten (bei mir tut er jedenfalls wunderbar).
Patch gibts hier: http://people.freebsd.org/~alex/bktr.stable.patch

Falls es funktioniert, schreib ihm bitte ein Email, damit das Teil irgendwann mal in den Tree kommt.
 
Hallo!

Na das ist doch Deine Onboard Acpi-Bridge von Via :D
Oh je, da hätte ich auch drauf kommen können! Das ist ja das einzige, was übrig bleibt. *schäm*

Aber soweit ich das gelesen habe, funktioniert ACPI unter 4.8 nicht. Na ja, macht nichts, solange die Hardware läuft, ist mir das egal.

Wegen Deiner CD-Rom's trägst Du in die Datei /boot/loader.conf ein:
hw.ata.atapi_dma="1"
Ah, prima, vielen Dank! :)

Warum willst du ueberhaupt ATA Kanaele deaktivieren? Warum baust du den Controller nicht gleich ganz aus, wenn du ihn nicht benoetigst?
Wie ich geschrieben habe, befindet sich der ATA100-Raid-Controller onboard auf dem Mainboard. Ich kann also keine Karte ausbauen. Der Controller ist im BIOS vom Mainboard deaktviert und das BIOS des Controllers wird auch nicht hochgefahren. Trotzdem aktiviert FreeBSD den Controller.

Ansonsten sollte (!??!) es funktionieren, die devices einzeln im Kernel einzutragen:
device ata0
device ata1
Werde ich heute Abend mal ausprobieren.

Fuer den bktr Treiber gibts einen Patch, mit dem dann auch so wirklich alle MSP34xx Chips laufen sollten (bei mir tut er jedenfalls wunderbar).
Patch gibts hier: http://people.freebsd.org/~alex/bktr.stable.patch
Auch den werde ich heute Abend ausgiebig testen.

Ich danke euch beiden für eure wertvolle Hilfe! Ich melde mich, wenn ich die Dinge ausprobiert habe. ;)

Gruß,
Peter
 
Zuletzt bearbeitet:
Hallo,

habe jetzt diverse Dinge ausprobiert:

Code:
hw.ata.atapi_dma="1"
... funktioniert teilweise. Das Master-Laufwerk läuft im UDMA-Modus 2, das Slave-Laufwerk weiterhin in PIO 4.

Bin durch Zufall über atacontrol "gestolpert" und habe folgendes ausprobiert:

Code:
atacontrol mode 1 UDMA2 UDMA2
Ergebnis: Beide Laufwerke liefen seitdem im UDMA-Modus 2.

Aber: Beim Versuch, das Slave-Laufwerk zu mounten, schlägt dies fehl, die Laufwerke werden resettet und danach läuft widerum nur das Master-Laufwerk im UDMA-Modus 2, das Slave im PIO-Modus 4.

Das Slave-Laufwerk unterstützt aber definitiv UDMA 2. Außerdem finde ich es merkwürdig, daß die beiden Laufwerke nicht im gleichen Modus laufen, da dies normalerweise wegen der Kompatibilität der Fall sein müßte.

Code:
device ata0
device ata1
... hat leider nichts gebracht. Der zweite Controller wird dennoch aktiviert.

Ich habe auch schon an
Code:
atacontrol detach 2
atacontrol detach 3
gedacht, aber das bringt ja nur etwas, wenn Laufwerke dranhängen, die man deaktivieren will. Der Controller bleibt davon unberührt.

Den bktr-Patch probiere ich später aus ...

Gruß,
Peter
 
Zuletzt bearbeitet:
Zurück
Oben