IDE Drives Flags

franco98

NetBSDler aus Leidenschaft
Hallo,
nach 2h Googlen (NetBSD, Kernel, IDE Drives Flags ect.) und man wd, ata habe ich immernoch keine bessere Erklärung der Kernel IDE Drives Flags gefunden!

# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".

Gibt es für NetBSD ein spezielles Flag, um UDMA/100 zu aktivieren?

Ich habe zwar:
viaide* at pci? dev ? function ? flags 0x0001 und
wd* at atabus? drive ? flags 0x0000 im Kernel,
aber ich traue der dmesg Meldung nicht so richtig!

wd0(viaide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
wd1(viaide0:0:1): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)!

Warum "using DMA data transfers" und nicht Ultra-DMA mode 5 ?

Falls jemand NetBSD2 nutzt und einen Plan hat,
Danke für die Tipps!

Gruß aus LE
Frank
 
tach,

ich benutze zwar freebsd
aber vielleicht hilft's trotzdem:
ich stelle am ende des bootvorgangs den dma-zugriffsmode mit "atacontrol" auf die gewünschten einstellungen.

/usr/local/etc/rc.d/001.atacontrol.sh:
Code:
#!/bin/sh

case "$1" in
        start)
          /sbin/atacontrol mode 0 UDMA100 UDMA33
          /sbin/atacontrol mode 1 UDMA33 UDMA33
          ;;

         *)
          echo "Usage: `basename $0` start"
          exit 64
          ;;
esac
exit 0

ob das nun bei netbsd auch funktioniert weiss ich nicht.. ;)

cu
 
es ist ja gut gemeint wenn ihr leuten helfen wollt, aber bitte mixt doch nicht die bsd-derivate durcheinander. wenn jemand ein netbsd-problem hat, hat das nichts mit freebsd zu tun. bloss weil etwas auf dragonfly, openbsd oder sonst einem derivat läuft, kann man keine rückschlüsse auf ein anderes derivat ziehen (auch wenn es oft ähnlich ist).
ausserdem zerstören solche postings den thread, da sie mit dem ursprünglichen topic nicht wirklich etwas zu tun haben und vor allem keine lösung bieten.
das ist nicht gegen dich persönlich gegen dich gerichtet orangutanklaus, aber es handelt sich hier eben um ein netbsd-problem und es regt mich immer auf wenn ich explizit nach etwas suche und dann postings kommen, ja unter linux geht das so, unter netbsd so aber der thread-starter wollte es für openbsd wissen.

um zum thema zurückzukommen:
ich hatte mich das gleiche damals gefragt, allerdings hatte ich damals auch nichts gefunden ob meine platten im server jetzt wirklich im dma-100 modus laufen. hier ist noch ein thread der dir vielleicht etwas weiterhilft http://www.bsdforen.de/showthread.php?t=3625
ansonsten könntest du mit iostat den durchsatz deiner platte messen, wenn du mal eine größere datei verschiebst. dann siehst du ja was die platten hergeben.
 
Zuletzt bearbeitet:
Re: atacontrol

Danke für den Tipp, aber leider scheint es in NetBSD kein atacontrol zu geben!
Es ist zwar ein atactl vorhanden, aber dort ist wohl kein DMA ect. zu aktivieren.
Hier geht's eher um IDLE und SMART und STANDBY!
Danke trotzdem!
 
Hallo moR-pH-euS,
danke für den Link zum Thread! Ich hatte ihn schon mal vor einiger Zeit gelesen, als ich noch FreeBSD benutzte, hab' mich nun aber auf NetBSD eingeschossen und seh' mal zu wie ich's hinbekomme!
War im Netz leider viel aber nichts Genaueres zu finden!
Gruss Frank!
 
Zurück
Oben