(U)DMA will einfach nicht

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
bubba
Beiträge: 52
Registriert: 28.08.2004 19:17:48

(U)DMA will einfach nicht

Beitrag von bubba » 28.08.2004 19:30:28

Hallo,

habe mir Debian SID installiert.
Bekomme einfach nicht UDMA für meine HD aktiviert, egal ob beim standardkernel von Debian oder der eigene (2.6.8.1).

Hier mal meine Hardware:
Abit-KT7a (Via 133a), Athlon 1,3 GHz, Maxtor 80 GB-HD, 768 SD-RAM 2 SCSI-HD's

hdparm /dev/hdd liefert:

Code: Alles auswählen

/dev/hdd:
 multcount    =  0 (off)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 65535/16/63, sectors = 160086528, start = 0
Wenn ich UDMA einschalten will mit hdparm -d1 /dev/hdd

Code: Alles auswählen

/dev/hdd:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)
Das geschieht alles unter root.

lsmod liefert:

Code: Alles auswählen

md5                     4224  1
ipv6                  230404  6
mousedev               10124  2
psmouse                17800  0
snd_ens1370            17704  0
snd_rawmidi            23460  1 snd_ens1370
snd_seq_device          7944  1 snd_rawmidi
snd_pcm                86024  1 snd_ens1370
snd_timer              23300  1 snd_pcm
snd_page_alloc         11144  2 snd_ens1370,snd_pcm
snd_ak4531_codec        7680  1 snd_ens1370
snd                    50532  6 snd_ens1370,snd_rawmidi,snd_seq_device,snd_pcm,snd_timer,snd_ak4531_codec
es1370                 32172  0
soundcore               9824  2 snd,es1370
e100                   30336  0
uhci_hcd               29456  0
usbcore               104676  3 uhci_hcd
via82cxxx              11420  0 [permanent]
parport_pc             25792  0
parport                25024  1 parport_pc
via_agp                 8832  1
agpgart                31784  1 via_agp
evdev                   9088  0
ide_disk               16768  3
processor              13220  0
ide_generic             1536  0 [permanent]
ide_cd                 38048  0
ide_core              121276  4 via82cxxx,ide_disk,ide_generic,ide_cd
cdrom                  35996  1 ide_cd
rtc                    12216  0
unix                   26164  116
Die VIA Module sind doch alle geladen. Warum will UDMA nicht?

Kann mir jemad da weiterhelfen?
Thanks :)

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 28.08.2004 19:44:00

Hast du mal Kernel 2.6.7 probiert. Ich selbst habe den Kernel ganz schnell wieder runtergeschmissen. Und zwar scheint dieser Kernel Probleme mit den Chipsatztreibern zu haben. Debian lädt standardmäßig sämtliche Chipsatztreiber in der Initrd und entfernt dann anschließend die überflüssigen. Das hat schonmal mal nicht funktioniert.

bubba
Beiträge: 52
Registriert: 28.08.2004 19:17:48

Beitrag von bubba » 28.08.2004 20:15:45

Hallo,

habe ja auch den defaul-kernel 2.6.7.1 probiert. Aber genau das selbe.
Bei Mandrake 10.0 funktioniert alles einwandfrei.

Habe auch schon sämtlichen Einstellungen bei der Kernelconfig durch.
Das trübt doch den eigentlich guten Eindruck von Debian. Kann auch nur mit 1fach Speed brennen wegen dem fehlenden UDMA.

Da muss es aber doch eine Lösung geben.

Benutzeravatar
QT
Beiträge: 1363
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 28.08.2004 20:30:52

Schonmal versucht die Treiber für den IDE Chip fest in den Kernel zu kompilieren statt einem Modul? Das Thema hatten wir den Tag schonmal und es konnte in diesem Fall auch dadurch gelöst werden:

http://www.debianforum.de/forum/viewtopic.php?t=30055

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 28.08.2004 20:41:05

QT hat geschrieben:Schonmal versucht die Treiber für den IDE Chip fest in den Kernel zu kompilieren statt einem Modul? Das Thema hatten wir den Tag schonmal und es konnte in diesem Fall auch dadurch gelöst werden:

http://www.debianforum.de/forum/viewtopic.php?t=30055
Versuchen kanns man ja. Eigentlich ist das nur während des eigentlichen bootens interessant ob das Modul fest in den Kernel kompiliert wurde oder es muß in die initrd.

bubba
Beiträge: 52
Registriert: 28.08.2004 19:17:48

Beitrag von bubba » 28.08.2004 21:55:33

Den Treiber für den IDE-CHIP fest zu kompillieren geht leider nicht.
Kann nur über make menuconfig entweden Modul oder NEIN wählen.

Habe ich schon versucht. Habe überlegt einfach Y in der config zu setzen, aber wenn es über menuconfig nicht geht, wird das ja seinen Grund haben, oder?

Benutzeravatar
MacGyver031
Beiträge: 628
Registriert: 18.08.2003 11:24:49
Wohnort: Wiedlisbach, Schweiz
Kontaktdaten:

Beitrag von MacGyver031 » 28.08.2004 22:09:43

Entschuldige mich (siehst schon warum) im Voraus.

Hast du im Kernel den "Use PCI DMA by default when available" aktiviert?
Sincerely your
MacGyver

SysInfo:
Intel Centrino 1.3GHz, 1GB, ATI M9, 1400x1050.
2.6.23, xorg-x11 7.2 Fluxbox 1.0.0 and many more.

bubba
Beiträge: 52
Registriert: 28.08.2004 19:17:48

Beitrag von bubba » 28.08.2004 22:16:40

Habe ich aktiviert, sogar fest.

Das ist ja gerade alles das komische.
Warum will das UDMA nicht?

Bin gerade dabei einen 2.6.6 zu kompilieren. Mal sehen ob UDMA da klappt.
Habe nämlich gelesen das bei anderen der 2.6.8.1 auch nicht funktionierte.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 29.08.2004 12:14:23

bubba hat geschrieben:Den Treiber für den IDE-CHIP fest zu kompillieren geht leider nicht.
Kann nur über make menuconfig entweden Modul oder NEIN wählen.

Habe ich schon versucht. Habe überlegt einfach Y in der config zu setzen, aber wenn es über menuconfig nicht geht, wird das ja seinen Grund haben, oder?
Das funktioniert schon. Wenn man das machen will,

Code: Alles auswählen

<M>   ATA/ATAPI/MFM/RLL support
<M>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support  
dann darf dieses nicht als Modul kompiliert sein.

Code: Alles auswählen

<*>    ATA/ATAPI/MFM/RLL support
<*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support  

<*>   VIA82CXXX chipset support


make-menuconfig läßt nur sinnvolle Optionen zu.

bubba
Beiträge: 52
Registriert: 28.08.2004 19:17:48

Beitrag von bubba » 29.08.2004 12:48:27

Danke für den Tipp :-)

Habe den Chipsatz jetzt fest eingebunden, siehe da, jetzt klappt UDMA.

Eine Frage noch zu der Geschwindigkeit:

haparm -t /dev/hdd liefert:

Timing buffered disk reads: 80 MB in 3.00 seconds = 26.64 MB/sec
Ist das jetz eine reelle Geschwindigkeit, oder lässt die sich noch optimieren?

Meine Hardware:
Abit KT7a (VIA KT133a), Maxtor 6Y080P0 HD (UDMA100 fähig)

Tomek
Beiträge: 254
Registriert: 07.08.2004 10:48:37
Wohnort: Paderborn

Beitrag von Tomek » 29.08.2004 12:53:39

Wie sieht die Ausgabe von hdparm /dev/hdd aus?
Gruß,
Tomek

bubba
Beiträge: 52
Registriert: 28.08.2004 19:17:48

Beitrag von bubba » 29.08.2004 13:15:40

hdparm /dev/hdd:

/dev/hdd:
multcount = 0 (off)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 65535/16/63, sectors = 160086528, start = 0

Sieht eigentlich recht ordentlich aus, oder?

Tomek
Beiträge: 254
Registriert: 07.08.2004 10:48:37
Wohnort: Paderborn

Beitrag von Tomek » 29.08.2004 13:16:21

Und noch die Ausgabe von hdparm -i /dev/hdd bitte.
Gruß,
Tomek

bubba
Beiträge: 52
Registriert: 28.08.2004 19:17:48

Beitrag von bubba » 29.08.2004 13:20:30

Null Problemo:

/dev/hdd:

Model=Maxtor 6Y080P0, FwRev=YAR41BW0, SerialNo=Y2PZ0TFE
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=off
CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=160086528
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):

* signifies the current active mode

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 29.08.2004 14:13:56

bubba hat geschrieben:Danke für den Tipp :-)

Habe den Chipsatz jetzt fest eingebunden, siehe da, jetzt klappt UDMA.

Eine Frage noch zu der Geschwindigkeit:

haparm -t /dev/hdd liefert:

Timing buffered disk reads: 80 MB in 3.00 seconds = 26.64 MB/sec
Ist das jetz eine reelle Geschwindigkeit, oder lässt die sich noch optimieren?

fähig)
-t das liefert die Platte
-T das wenn nur aus dem Cache gelesen wird.

Und wenn du detalierte Infos haben willts .

dann

Code: Alles auswählen

hdparm -i /dev/hdd
oder noch ausführlicher

Code: Alles auswählen

hdparm -I /dev/hdd

Benutzeravatar
QT
Beiträge: 1363
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 29.08.2004 15:01:51

@bubba: Deine Platte hat - wie die meisten - ein MaxMultSect=16. Deswegen solltest Du mal mit hdparm ein '-m16' aktivieren und danach sehen, ob sich höhere Werte ergeben bei 'hdparm -t'.....

bubba
Beiträge: 52
Registriert: 28.08.2004 19:17:48

Beitrag von bubba » 29.08.2004 17:10:02

Danke für den Tipp :-)

-m16 bringt keine Geschwindigkeitsvorteile.
Die Geschwindigkeit schwankt immer von 26 MB/sec bis 29 MB/sec.

Dachte immer so 45 MB/sec bis 50 MB/sec wären normal.
Was wäre eigentlich eine "normale" Geschwindigkeit für so eine Platte?

Antworten