SATA Controller mit Port Multiplexer unter FreeBSD

karmek

Member
Hallo zusammen,
ich plane grade den Aufbau eines neuen Rechners, der unter freebsd arbeiten soll.

Dabei würde ich gerne einen SATA Controller verwenden, der Port Multiplexing unterstützt.

Gefunden habe ich folgendes:
Explizit habe ich einen 5x eSATA II Hub gefunden ( Modell: EX-3460) welches wohl recht gut funktionieren soll. Leider klappt dieser Hub nur an antsprechenden Controllern. Also zB. EX-3401, EX-3500 und EX-3504. Letzteren würde ich gerne unter FreeBSD verwenden.

Leider gibt der Hersteller keine Linuxsysteme als offiziell supportet an.
Die Controller arbeiten mit den Chips Silicon Image SIL3124 und SIL3132.

Könnt Ihr mir sagen ob die Hardware von FreeBSD unterstützt wird?
Ich habe einen inoffiziellen Treiber für linux gefunden und unter google mal einen Eintrag bezüglich "Hacks" für Freebsd gesehen, bin aber nicht sicher was ich davon halten soll.

Ansonsten wäre ich auch für alternativvorschläge offen.

Zur begründung wieso ich einen SATA hub möchte:
Das System soll ein Mini-ITX werden und später optimale Erweiterbarkeit bieten. Das ist bei 1x PCI-e ziemlich schwierig =) Daher der Gedanke den 4x eSATA II Controller Typ EX-3504 zu kaufen und an jeden Port später einen 5x eSATA II Hub anzuschließen.

Ansonsten hätte ich als Alternative noch einen PCI-e SCSI Controller, an den ich später die SATA Festplatten per SCSI to SATA Adapter hängen könnte. Kosten allerdings etwa 70 Dollar pro Adapter, daher würde ich lieber die SATA-Hubs testen.

Danke schonmal für eure Hilfe

Grüße
Karmek
 
Laut Manpage [1] sind die beiden Chips unterstützt. Leider handelt es sich um Silicon Image Chips, die nun nicht gerade für ihre Hochwertigkeit bekannt sind, um es einmal diplomatisch auszudrücken. Laufen tun sie meist recht gut und zuverlässig, allerdings solltest du keine Wunder in Sachen Geschwindigkeit und eventuell auch Kompatiblität mit Platten erwarten.

1: http://www.freebsd.org/cgi/man.cgi?...ion=0&manpath=FreeBSD+7.0-RELEASE&format=html
 
Hi Yamagi,
danke für deine Mühen. Das die Chips unterstützt werden ist seit langer Suche mal wieder eine gute Nachricht.

Ich habe mal ein wenig nach Tests zu den SIL Chips gesucht und das hier gefunden:
http://www.computerbase.de/artikel/hardware/laufwerke/2003/test_s-ata_raid_controller_vergleich/6/

Dort wird einmal ein SIL Onboard getestet und der Dawicontrol DC-150 RAID welcher einen SIL Chip verbaut hat. Die Performance finde ich eigentlich recht zufriedenstellend.

Was meinst du denn welche Busgeschwindigkeiten man erwarten kann?
Da es sich um SATA II handelt sind es ja in der Theorie 3Gbit/s = ~380MB/s. Da ja auch eine Menge für Overhead drauf geht und die Chips nicht volles leisten können, hätte ich mal auf mind. 150MB/s getippt.

Hat jemand erfahrungen bezüglich der SCSI to SATA Adapter? Speziell im Bezug zu Kompatibilität und Datendurchsatz wäre interessant.
Gibt es vielleicht sogar "günstige" backplanes, mit denen man mehrere SATA Geräte an einen SCSI Anschluss klemmen kann?

Grüße
Karmek
 
Zuletzt bearbeitet:
Hallo Leute,
habe mir nun schlussendlich den EXSYS EX-3504 gekauft. Dieser verwendet 2 x Silicon Image SIL-3132 als Chipsatz.
Nun würde ich sehr gerne berichten, dass ich die Karte eingesteckt habe und alles funktioniert, allerdings müsste ich dann lügen :/

Die PCI-e Karte hab ich also fleissig in den 16x PCI-e Slot des Via Epia SN geklopft (die Karte selbst ist glaube ich 4x PCI-e - sollte aber meines wissens abwärtskompatibel sein), jedoch werden angeschlossene Festplatten nicht erkannt.
Ich vermute stark das der Controller nicht erkannt wird. Unter Debian bin ich eigentlich zuhause und würde das Problem mit einem lspci und anschließendem lsmod klären, unter bsd bin ich leider nicht so versiert. Ein pciconf -lv liefert massig VIA Hardware (klar bei einem Via Epia Board... :) ), jedoch keinen PCI-e SATA2 Controller.

Wo ist also nun das Problem zu suchen?
Erkennt mein Board den Controller nicht? Erkennt BSD Ihn nicht? Oder zeigt pciconf einfach keine PCI-e Hardware?
Wie sehe ich ob der Treiber geladen wurde? Ich stehe leider grade kräftig im Wald und hoffe ihr könnt mir weiterhelfen.

Im übrigen läuft das Betriebssystem auf einer CF Karte. Ich habe bisher auch vergeblich nach Empfehlungen für das Dateisystem von FreeBSD auf CF gesucht, evtl. könnt Ihr da ja auch weiterhelfen. Derzeit habe ich eine BSD Partition angelegt und BSD automatisch die Slices konfigurieren lassen (ohne Swap).

Danke schon mal für eure Hilfe

Grüße
Karmek
 
Zuletzt bearbeitet:
Die PCI-e Karte hab ich also fleissig in den 16x PCI-e Slot des Via Epia SN geklopft (die Karte selbst ist glaube ich 4x PCI-e - sollte aber meines wissens abwärtskompatibel sein)
Ähm, schau genau nach. Ne Vermutung bringts da nicht wirklich ;-)
Ich vermute stark das der Controller nicht erkannt wird.
dmesg
Wo ist also nun das Problem zu suchen?

Ich kenne den Controller leider nicht. Kann es sein, dass der ein eigenes BIOS hat, in dem du das Raid erstmal einrichten und initialisieren musst?
 
Hallo Troll und danke für die Antwort.

Hier habe ich ein Datenblatt zu meinem Controller gefunden:
http://www.exsys.ch/download/catalog/ex_3504.pdf

Daraus ist zu entnehmen, das er bis 16x PCI-e funktioniert.
Den Controller habe ich mittlerweile an einem anderen Rechner mit WinXP Pro als OS erfolgreich getestet.

Wikipedia liefert folgenden Hinweis:

Die Slots sind außerdem abwärtskompatibel, d. h. eine x4-Karte kann z. B. auch in einen x8-Slot gesteckt werden, die überzähligen vier Lanes werden dann einfach nicht benutzt.

Ein Controller Bios beim Boot wird mir nicht angezeigt :(
Übrigens habe ich das selbe Problem bei einem CD-Boot mit Ubuntu 7.1

dmesg kann ich leider nicht posten, sonst müsste ich alles vom BSD Testsystem abtippen *grins*. Ich finde dort aber keinen Hinweis, dass ein Treiber dort geladen worden sei.

Grüße
Karmek
 
Ein Controller Bios beim Boot wird mir nicht angezeigt :(

Das kann sehr schnell gehen. Daher meinte ich Handbuch. Je nach BIOS und Controller kanns sein, dass man beim Booten ne Taste gedrückt halten muss, um da rein zu kommen.
Wenn die Karte allerdings unter Win läuft, ohne das man das raid vorher im BIOS einstellen muss, kanns das wohl nicht sein.

Tut mir leid - keine Idee.
 
Also mein beigelegtes "Handbuch" ist eine doppelseitige Din A4 Seite...
Dort steht nichts von einer Tastenkombination für das integrierte Bios. Interessant war allerdings folgender hinweis:

There are 2 jumpers used to enable or disable the ROM BIOS. These jumpers need to be set at DISABLE for Mac OS (default). However, both of them have to be set at ENABLE for other OS (Windows, Linux...).

Also hab ich fix beide Jumper auf Enable geschaltet (will ja das Bios "finden") und den PC gestartet. Immer noch nix...

Langsam verzweifel ich echt. Eigentlich kann es ja nur noch am Epia SN Board liegen. Vielleicht mag der Via PCI-Host Controller den Chip einfach nicht?

Grüße
ein etwas verwirrter Karmek
 
Kann es sein, dass ein "Boot-Logo" vom Mainboard die Meldungen unterdrückt. Hast du schon mal mit ESC- oder Tabulator-Taste versucht ein allfälliges Logo "wegzubekommen? Evtl. gibt es auch in den BIOS-Einstellungen vom Mainboard eine Option mit der BIOS-Meldungen von Devices unterdrückt werden, evtl. hilft es diese Option auszuschalten.

Siehst du denn BIOS-Meldungen von deiner Netzwerkkarte? Wenn nicht, ist dies vermutlich ein Indikator, dass das BIOS des Mainboards diese und alle anderen Meldungen unterdrückt.

mousaka
 
Hi,
danke für den Tipp mit den unterdrückten Meldungen.
Das Epia-sn hält seperate Optionen bereit, um das bios der Onboard Netzwerkkarten zu laden. Diese habe ich abgeschaltet, daher erhalte ich also zurecht auch keinen pxe Bootversuch oder ähnliches. Ob weitere meldungen per Option unterdrückt werden, weiß ich nicht. Mache mich gleich mal auf die Suche nach so einer Option. Wie könnte sie denn heißen?

Quick und Quiet Boot sind disabled, das logo versperrt mir also nix mehr.
Wo müsste ich den Controller denn unter FreeBSD finden können, falls er erkannt wird?

Grüße
Karmek
 
Mittlerweile bin ich relativ sicher, dass es am epia-sn board liegt.
In anderen Foren, zB. hier wird viel von teilweise reinen Grafik- PCI-e Ports auf Mini-ITX Boards berichtet. Das ganze Thema scheint aber sehr kontrovers zu sein.
Teilweise waren auch einige Leute der Meinung, dass es Probleme mit der Abwärtskompatibilität der 16x Lanes auf 4x gibt. Wie gesagt, alles sehr wirr bisher.

Viel verwirrender wird es, wenn ich mir das Bios des Systems ansehe.
Die "Treiberseite" des Boards befindet sich hier und dort ist auch das Handbuch verlinkt. Das dort gezeigte Bios (laut Bildern 02.61) ist revisionsgleich mit meinem. Im Menüpunkt für die PCI-e Einstellungen bietet es aber deutlich mehr Optionen als mein Bios, muss ich das verstehen?

Nun würde ich gerne probeweise die auf der Herstellerseite verlinken Biosversionen flashen um zu gucken, ob dort dann die in der Anleitung ersichtlichen Menüpunkte zur Konfiguration der PCI-e Lane Anzahl aktiv werden. Laut Anleitung sollte man das Board nämlich per Bios explizit auf 4x stellen können.

Leider ist bei Via nur die ROM Datei verlinkt und kein Utility zum flashen.

Gibt es eine art Universal- Bios Flash Utitily für FreeBSD, das ich benutzen könnte?

Grüße
Karmek
 
Tag,

Hat jemand erfahrungen bezüglich der SCSI to SATA Adapter? Speziell im Bezug zu Kompatibilität und Datendurchsatz wäre interessant.
Gibt es vielleicht sogar "günstige" backplanes, mit denen man mehrere SATA Geräte an einen SCSI Anschluss klemmen kann?

Ich habe einige SCSI2IDE bzw. SCSI2SATA von der Firma Acard im Einsatz.
Bisher laufen diese ziemlich problemlos.
Den Ultra160 zu S-ATA Adapter habe ich auch schon mal unter Last an einen Hardware-Raid-Controller (IBM ServRAID 4Lx) unter FreeBSD erfolgreich ausprobiert.
Von einem anderen habe ich jedoch schon mal gehört, dass es unter Last SCSI-Resets geben kann.

Man kann an so einen Adapter immer nur ein IDE/SATA-Gerät anstecken.
 
Hallo rMarkus,
was hätten denn SCSI Resets zur Folge? Habe bisher nur wenige Erfahrungen mit SCSI gemacht. Würde zB. mein Raid zerschossen, wenn 2 der Platten gleichzeitig einen solchen Reset durchmachen? Hast du evtl. die Möglichkeit mal ein Lese/Schreibbenchmark zu starten? Beispielsweise mit dd eine ausreichend große Datei schreiben.

Grüße
Karmek
 
Zunächst will ich mal sagen, dass dd kein aussagekräftiges Benchmark unter FreeBSD ist, da dieser IO-Modus da nicht sonderlich optimiert ist.

Die SCSI-Resets habe ich mit den SCSI-Adaptern noch nie feststellen koennen und ich betreibe einige von denen seit Jahren an CD/DVD-Brennern.
SCSI-Resets hatte ich früher mal mit echten SCSI-Devices, wenn die Verkabelung unzureichend war. Gerade Kombinationen mit Narrow und Wide an einem SE-Controller (z.B. Davicontrol) waren anfaellig fuer sowas. Bei modernem SCSI tritt sowas ist dank LVD, ECC-Blockabsicherung (ab U160?) und definiertem Bus (Kabel mit Terminator, keine 8/16 Mischbetrieb) nicht mehr auf.

Resets werden erzeugt, wenn ein Gerät am Bus nicht mehr oder falsch (Partiy falsch) antwortet.

Bei SCSI-Resets werden alle Geräte am Bus resettet und initialisieren neu. Der Bus bleibt währendessen stehen. Wenn man nur Platten an dem Bus hat, dann blockiert der Bus unter einer Sekunde. Bei CD-Laufwerken kann das mal 3 bis 5 Sekunden sein, bei CD-Wechslern 10 Sekunden und bei Streamer-Libraries mehr als eine Minute.
Während des Resets kann das Betriebssystem blockiert die letzte Kommunukation mit dem Gerät an dem Bus, was das Betriebssystem für die Zeit nahezu einfrieren lassen kann.
Meine Erfahrunungen zu SCSI-Resets betreffen eigentlich nur OS/2, bei dem das IO-Subsystem teilweise blockierte.OS/2 hatte damals schon zumindest multithreaded Treiber.
Unter FreeBSD ist der Kernel ab 5.0 unterbrechnbar, was den Effekt von SCSI-Resets stark eindämmen sollte.

Grundsätzlich passieren bei SCSI-Resets eigentlich keine Datenverluste, wenn der Zustand nicht dauerhaft ist. Nach dem Reset läuf die Kommunikation normal weiter.
Lediglich ein Reset beim CD-Brennen kann die gerade gebrannte CD unbrauchbar machen, das ist mir aber mit den Acard-SCSI-Wandlern unter FreeBSD noch nicht passiert.

Ich habe mal ein Bild von der Konstruktion angehängt.

FreeBSD mit laufendem bonie
IBM ServeRAID 4Lx ( ips(4) )
Acard S-ATA 2 U160 SCSI
WD S-ATA-Platte
 

Anhänge

  • acard_an_serveraid.webp
    acard_an_serveraid.webp
    315 KB · Aufrufe: 432
So, sorry ich brauchte ne kurze Auszeit. Ist zu frustrierend...
Kämpfe derzeit noch am Netzwerktreiber für die Gigabit PCI-e Onboard Karte des Epia SN. Der Standardtreiber tut offenbar nicht. Padlock zickt auchnoch rum, was wohl an einer geänderten CPU ID für die epia sn Serie liegt (habe hierzu einen extra thread eröffnet) und natürlich tut meine PCI-e SATA Karte auch immernoch nicht *grml*.
Offenbar ist FreeBSD 7.0 noch nicht so ganz bereit für ein Epia SN.

Eine nette Verschaltung hast du da gebastelt rMarkus :)
Danke für die Erklärungen bezüglich SCSI Resets! Wenn alle stricke reißen, muss ich meine SATA Platten eben auch per Adapter an einen SCSI Controller hängen. Per nativen SATA Controller wäre es mir jedoch deutlich lieber.

Grüße
Karmek
 
Zurück
Oben