S-ATA platten lauft nur auf UDMA33

Finalspace

Well-Known Member
Tach,

ein kolleg hat hier 2x Maxtor 300 GB S-ATA 150 Platten.
Ist nen AMD64 4000+ mit nForce 4 Board und
FreeBSD 5.4 Stable:

Dmesg erkennt das hier:

Code:
ata0-master: DMA limited to UDMA33, non-ATA66 cable or device
acd0: DVDR <PLEXTOR DVDR PX-716A/1.02> at ata0-master UDMA33
acd1: DVDROM <PLEXTOR DVD-ROM PX-116A3/1.00> at ata0-slave UDMA66
ad8: 286188MB <Maxtor 6B300S0/BANC1980> [581463/16/63] at ata4-master UDMA33
ad10: 286188MB <Maxtor 6B300S0/BANC1980> [581463/16/63] at ata5-master UDMA33

Kernelconfig edit zu default:

Code:
cpu		I686_CPU

device		ehci		# EHCI PCI->USB interface (USB 2.0)

device		sound
device		atapicam

hat wer ne idee was da faul sein könnte ?

Thx im voraus,
Final
 
Ist das eine Via 8237 Southbridge auf dem Board?
Oder wie ist der SATA Controller angebunden?


CAT
 
ich kann dir auch keinen genauen tip geben, aber das sind zwei gleiche platten und eine läuft auf schnittstelle ata-4 und die andere auf schnittstelle ata-5, wobei bei gleichen typ und schnittstelle die daten identisch sein müßten, das kann kabel , kontroller sein mit verkehrt gesteckten jumber etc . oder einstellungen, einfach im handbuch lesen oder platten tauschen am anschluß , wie gesagt die ata-x sollten schon bei dir gleich sein,
 
Manche Boards haben einen S-ATA Legacy Modus. Das heißt, die S-ATA Platten werden als P-ATA emuliert. Vielleicht ist sowas bei ihm aktiv?

Denn bei S-ATA gibt es meines Wissens nach kein DMA-Modus mehr, somit ist es eigentlich unmöglich, dass die Platten mit UDMA33 laufen.

Bei meinen beiden Hitachi 250GB Platten sieht es übrigens so aus:

# dmesg
Code:
ad4: 238475MB <HDS722525VLSA80/V36OA63A> [484521/16/63] at ata2-master SATA150
ad6: 238475MB <HDS722525VLSA80/V36OA63A> [484521/16/63] at ata3-master SATA150
# atacontrol list
Code:
ATA channel 2:
    Master:  ad4 <HDS722525VLSA80/V36OA63A> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <HDS722525VLSA80/V36OA63A> Serial ATA v1.0
    Slave:       no device present
 
in Bezug auf den Plextor kann sagen:
Code:
acd0: DVDR <PLEXTOR DVDR PX-716A/1.08> at ata1-master UDMA66
soll heißen neuere FW gibt es, und sogar UDMA66 ist möglich.
Und so schaut bei mir eine SATA Platte aus:
Code:
ad4: 152627MB <SAMSUNG SP1614C/SW100-34> [310101/16/63] at ata2-master SATA150
also auch keine Angabe wie UDMAxyz
 
Wenn ich das richtig verstanden habe mit Serial-ATA, dann ist Serial-ATA eine serielle Paketschnittstelle in die aber die alten P-ATA-Befehle eingepackt werden, welche wiederum quasi dem alten EISA-Bus-Protokoll gleichen.
Oberhalb von S-ATA müsste das wie das P-ATA-Protokoll aussehen nur mit erweitertem Befehlsumfang.
(Ironischer Weise packt ATAPI nun SCSI-Befehle in P-ATA ein ;-) , klingt alles nach ziemlichem Wildwuchs, kein Wunder, dass Linux starke Probleme mit dem IDE-Treiber und Kernel hatte)

Sogar die Adressierung von Master und Slave scheint ja geblieben zu sein, obwohl S-ATA ja immer Punkt zu Punkt ist und das damit unnötig ist.
 
Genau. Wegen diesem Master-Slave-Problem, hat ein Channel unter FreeBSD immer noch 2 Platten. Also Channel 1 wäre ad0 und ad1, wodurch ad1 theoretisch niemals auftauchen dürfte...
 
markus.r schrieb:
Wenn ich das richtig verstanden habe mit Serial-ATA, dann ist Serial-ATA eine serielle Paketschnittstelle in die aber die alten P-ATA-Befehle eingepackt werden, [...] Oberhalb von S-ATA müsste das wie das P-ATA-Protokoll aussehen nur mit erweitertem Befehlsumfang.
S-ATA ist erstmal nur eine Angelegenheit zwischen Controller und Festplatte. Da gibt es keinen erweiterten Befehlsumfang bezüglich der ATA-Befehle. Zumindest bei S-ATA I; über S-ATA II kann ich nicht viel sagen, insbesondere was command queueing angeht.
Sogar die Adressierung von Master und Slave scheint ja geblieben zu sein, obwohl S-ATA ja immer Punkt zu Punkt ist und das damit unnötig ist.
Das geschieht eigentlich nur weil S-ATA, wie der Name es schon sagt, etwas mit ATA zu tun hat. Die ATA-Spezifikation sieht nunmal Master/Slave vor und es wäre nur zu Lasten der Industrie, wenn ATA/ATAPI zu älteren Versionen der Spezifikation nicht kompatibel wäre oder sie völlig ignorieren würde. Wenn es ein kompletter Neuanfang wäre, dann hätte man es sicher nicht S-ATA genannt, sondern irgendwie anders. Ich denke daher erlaubt S-ATA die Master/Slave-Emulation.

Björn
 
OOZE schrieb:
Genau. Wegen diesem Master-Slave-Problem, hat ein Channel unter FreeBSD immer noch 2 Platten. Also Channel 1 wäre ad0 und ad1, wodurch ad1 theoretisch niemals auftauchen dürfte...
Wenn man die Theorie betrachtet, dann kann man durchaus ad0 und ad1 als zwei S-ATA-Platten haben. Die Spezifikation beschreibt eine Emulation, bei der Hersteller beispielsweise einen Controller mit zwei Kanälen bauen können wobei der eine immer als Master und der andere als Slave funktioniert; oder man könnte das per BIOS oder auf ähnliche Weise irgendwie selbst einstellen. Allerdings kenne ich in der Praxis keine Umsetzung dieser Möglichkeit.

Björn
 
Inzwischen habe ich eine neue Feststellung gemacht:
FreeSBIE erkennt meine beiden S-ATA-Platten als ad0 und ad1. Das "echte" FreeBSD 5.4 aber wie gewohnt als ad0 und ad2. Es ist also schon möglich einen Kanal mit nur einer Platte zu definieren. Fragt mich aber bitte nicht, wie...
 
OOZE schrieb:
Inzwischen habe ich eine neue Feststellung gemacht:
FreeSBIE erkennt meine beiden S-ATA-Platten als ad0 und ad1. Das "echte" FreeBSD 5.4 aber wie gewohnt als ad0 und ad2. Es ist also schon möglich einen Kanal mit nur einer Platte zu definieren. Fragt mich aber bitte nicht, wie...

Dürfte die Kernel-Config-Option
"options ATA_STATIC_ID # Static device numbering"

im Spiel sein.

Tschau, Stefan.
 
Code:
ata0-master: DMA limited to UDMA33, non-ATA66 cable or device
acd0: DVDR <PLEXTOR DVDR PX-716A/1.02> at ata0-master UDMA33
acd1: DVDROM <PLEXTOR DVD-ROM PX-116A3/1.00> at ata0-slave UDMA66
ad8: 286188MB <Maxtor 6B300S0/BANC1980> [581463/16/63] at ata4-master UDMA33
ad10: 286188MB <Maxtor 6B300S0/BANC1980> [581463/16/63] at ata5-master UDMA33

Also wenn da steht, "non-ATA66 cable or device" deutet das vielleicht darauf hin, daß Du kein 80-poliges Kabel verwendest?
 
Ach Leute, warum spekuliert ihr euch denn um Kopf und Kragen, wenn ein Blick in die Manpage die Frage klärt:
ata(4) schrieb:
The currently supported ATA/SATA controller chips are:

--- schnipp ---
nVidia: nForce, nForce2, nForce3.
--- schnapp ---

Unknown ATA chipsets are supported in PIO modes, and if the standard busmaster DMA registers are present and contain valid setup, DMA is also enabled, although the max mode is limited to UDMA33, as it is not known what the chipset can do and how to program it.
Wenn das Teil also nun einen nForce4 findet, dann wird das Ding nur im UDMA33-Modus betrieben. Natürlich könnte man jetzt einen bösen Kernel-Hack produzieren, indem man im Source einen nForce4 als nForce3 ausgibt. Bei mir funktionierte das damals(tm) mit 4.8-Release und einem ICH5, ausgegeben als ICH4, auch wunderbar bis UDMA100. Garantieren will ich aber für nix und daher überlasse ich das Wühlen im Source sonstwem.
 
Zurück
Oben