Kein DMA möglich wg. unbek. Chip - Wie DMA aktivieren?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
Hermi
Beiträge: 20
Registriert: 20.09.2002 12:09:20
Wohnort: Osnabrücker Land
Kontaktdaten:

Kein DMA möglich wg. unbek. Chip - Wie DMA aktivieren?

Beitrag von Hermi » 27.01.2003 20:41:55

Hi folks,
ich nutze Debian woody. Bei der Inspektion verschiedener Einstellungen habe ich festgestellt, dass meine 120 GB Platte ohne DMA läuft :-(

Mittels des Befehls "hdparm -d1 /dev/hda" wollte ich DMA aktivieren, jedoch erhalte ich folgenden Fehler:

/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)

Nach intensivem googlen habe ich festgestellt, dass die Ursache wohl an meiner VIA Hostbridge liegen muss:
Host bridge: VIA Technologies, Inc. VT8367 [KT266]

Soweit so gut. Wie aber bekomme ich die aktiviert? Das Googlen ergab, dass es wohl einen Kernel-Patch geben muss oder sowas, aber wo bekomme ich den her und woher weiß ich, dass es dann endlich geht???

Please help, folks! Thank U very much!!
Würde mich wirklich _sehr_ freuen, wenn meine Riesenplatte endlich mit DMA tut ... !!!

Gruß,
hermi
Open Source Software - Freie Software für freie Bürger!

Benutzeravatar
simon
Beiträge: 147
Registriert: 17.11.2002 17:18:38
Wohnort: Tübingen

Beitrag von simon » 27.01.2003 22:02:06

Hallo,
den Kernel patcht man in der Regel so:
  • Kernelsources installieren
  • Patch fuer die entsprechenden Kernel runterladen (google)
  • Patch entpacken
  • nach /usr/src/linux wechseln
  • patch -p1 < /da/wo/der/patch/liegt
  • Kernel neu konfigurieren (make menuconfig oder make xconfig). Hier dann den Treiber fest einkompilieren (Modul sollte auch reichen, ich wuerde eine feste Einkompilierung aber trotzdem vorziehen)
  • Kernel neu backen: http://channel.debian.de/faq/ch-dpkgund ... s-makekpkg
Danach solltest du den DMA-Modus aktivieren koennen.
"Irre, daß ich gewonnen habe.
Ich trat an gegen Frieden, Wohlstand - und gegen den Amtsinhaber.
"
George W. Bush, 14. Juni 2001

Benutzeravatar
Hermi
Beiträge: 20
Registriert: 20.09.2002 12:09:20
Wohnort: Osnabrücker Land
Kontaktdaten:

Beitrag von Hermi » 28.01.2003 09:48:55

Hi Simon,

soweit schon mal schönen Dank! Ich denke, dass ich es so schaffen werde.

Aber ich habe noch ein ganz entscheidendes Problem: Wo kriege ich den Patch her? Welchen muss ich genau haben? (So in etwas weiß ich, worauf ich hinaus muss, aber ich möchte dann ja auch gerne den richtigen Patch erwischen ...).

Irgend eine Idee dazu?

Gruß und Danke,
Hermi
Open Source Software - Freie Software für freie Bürger!

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 28.01.2003 10:33:52

es gibt einen patch von vojtech (es ist übrigens eine vt8235 southbridge..;-7 ) entweder googlen (kernel mailing liste) oder bis heute abend warten, dann kann ich ihn dir hier posten..

ich habe übrigens 2.4.21-pre3 + vt8235 patch und keine probleme (mehr)

/edit
- du musst im kernel den via 82xxx chipsatztreiber wählen (ist standardmässig schon aktiv, dieser wir nämlich patched)
- kopiere dir vor dem konfigurieren des kernels das file /boot/configxxxx nach /usrs/src/linux.config, dann hast du die konfiguration des aktuellen kernels und tust dir leichter)
- zuerst 2.4.21pre3-patch einspielen, dann vt8235
- imo lässt sich der chipsatztreiber nur fest einkompilieren (macht auch sinn..)
- du findest im kernel optionen um dma gleich beim booten zu aktivieren, du kannst dir so den umweg über hdparm ersparen..
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
Hermi
Beiträge: 20
Registriert: 20.09.2002 12:09:20
Wohnort: Osnabrücker Land
Kontaktdaten:

Beitrag von Hermi » 28.01.2003 11:55:18

Ja hi!

Das wäre absolut super klasse, wenn Du mir die beiden Patches posten könntest!!!

Vielen Dank!!

Gruß,
Hermi
Open Source Software - Freie Software für freie Bürger!

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 28.01.2003 12:00:08

den vt8235 poste ich hete abend hier, sind nur ein paar zeilen. den 2.4.21pre3 gibt's auf kernel.org.

noch ein tipp: vor dem einspielen eines patches die option --dry-run verwenden, wenn's hier keine fehler gibt kann man beruhigt patchen.

gute anlaufstelle bei problemen und für sonstige infos in punkto kernel & patches:
http://www.kernelnewbies.org/
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
Hermi
Beiträge: 20
Registriert: 20.09.2002 12:09:20
Wohnort: Osnabrücker Land
Kontaktdaten:

Beitrag von Hermi » 28.01.2003 12:40:33

Hi,

mit --dry-run meinst Du wahrscheinlich "make --dry-run", oder?

Poste am besten was Du hast und weißt. Ich bin zwar inzwischen in der Lage, einen Kernel zu backen (ist bei Debian nun wirklich nicht schwer :-)) aber ich habe noch nie mit Kernel-Patches zu tun gehabt :-(

Gruß,
Hermi
Open Source Software - Freie Software für freie Bürger!

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 28.01.2003 12:48:08

ich meine

Code: Alles auswählen

patch -p1 --dry-run < /pfad/zum/patch
--dry-run
Print the results of applying the patches without actually changing any files.
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 28.01.2003 17:47:57

der patch:

Code: Alles auswählen

ChangeSet@1.884, 2002-12-19 11:23:11+01:00, vojtech@suse.cz
  VIA IDE: Always use slow address setup timings for ATAPI devices.


 via82cxxx.c |   19 ++++++-------------
 1 files changed, 6 insertions(+), 13 deletions(-)


diff -Nru a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c
--- a/drivers/ide/pci/via82cxxx.c       Thu Dec 19 11:23:42 2002
+++ b/drivers/ide/pci/via82cxxx.c       Thu Dec 19 11:23:42 2002
@@ -1,16 +1,5 @@
 /*
- * $Id: via82cxxx.c,v 3.35-ac2 2002/09/111 Alan Exp $
- *
- *  Copyright (c) 2000-2001 Vojtech Pavlik
- *
- *  Based on the work of:
- *     Michel Aubry
- *     Jeff Garzik
- *     Andre Hedrick
- */
-
-/*
- * Version 3.35
+ * Version 3.36
  *
  * VIA IDE driver for Linux. Supported southbridges:
  *
@@ -152,7 +141,7 @@
        via_print("----------VIA BusMastering IDE Configuration"
                "----------------");

-       via_print("Driver Version:                     3.35-ac");
+       via_print("Driver Version:                     3.36");
        via_print("South Bridge:                       VIA %s",
                via_config->name);

@@ -351,6 +340,10 @@
                ide_timing_compute(peer, peer->current_speed, &p, T, UT);
                ide_timing_merge(&p, &t, &t, IDE_TIMING_8BIT);
        }
+
+       /* Always use 4 address setup clocks on ATAPI devices */
+       if (drive->media != ide_disk)
+               t.setup = 4;

        via_set_speed(HWIF(drive)->pci_dev, drive->dn, &t);
..hilft bei dma problemen.. um grundsätzliche unterstützung für dein board in den kernel zu bekommen empfehle ich kernel >2.4.20 (vorzugsweise 2.4.21pre3, da sich in punkto via-chipsets hier einiges tut ;-7)
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
Hermi
Beiträge: 20
Registriert: 20.09.2002 12:09:20
Wohnort: Osnabrücker Land
Kontaktdaten:

Beitrag von Hermi » 29.01.2003 19:14:27

Hi chimaera,

zunächst erstmal herzlichen Dank für den Patch!!!

Ich habe mir das Ding in eine Textdatei kopiert und den Dry-Run versucht. Dabei komme ich einfach nicht weiter. Vielleicht kannst Du mir ein wenig helfen.

Source-Dir = /usr/src/kernel-source-2.4.18
Patch-Datei = via-patch.txt (ok, etwas blöd, aber erstmal egal)
Kommando = patch -p1 --dry-run < via-patch.txt
(Die Patch-Datei liegt im Verzeichnis /usr/src/kernel-source-2.4.18 )

Und das Ergebnis:

Code: Alles auswählen

can't find file to patch at input line 12
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|ChangeSet@1.884, 2002-12-19 11:23:11+01:00, vojtech@suse.cz
|  VIA IDE: Always use slow address setup timings for ATAPI devices.
|
|
|via82cxxx.c |   19 ++++++-------------
|1 files changed, 6 insertions(+), 13 deletions(-)
|
|
|diff -Nru adrivers/ide/via82cxxx.c bdrivers/ide/via82cxxx.c
|--- a/drivers/ide/pci/via82cxxx.c       Thu Dec 19 11:23:42 2002
|+++ b/drivers/ide/pci/via82cxxx.c       Thu Dec 19 11:23:42 2002
--------------------------
Die erste Zeile der Patch-Datei ist die erste Codezeile, also keine Leerzeile, falls das wichtig sein sollte.

Nun habe ich zunächst folgendes festgestellt:
Der Pfad zu der zu patchenden .c Datei im Patchfile ist ein anderer als der, wo meine .c Datei liegt.
Original:

Code: Alles auswählen

/drivers/ide/pci/via82cxxx.c
Mein tatsächlicher Pfad:

Code: Alles auswählen

/drivers/ide/via82cxxx.c
Egal, was ich anpasse (-p1, -p2, -p... bzw. den Pfad bei diff in der Patch-Datei), es klappt einfach nicht. patch meckert immer herum, dass die in Zeile 12 genannte Datei nicht zu finden sei.
Die Zeile 12 der Patch-Datei enthält aber in Wirklichkeit gar keinen Dateinamen (s.h. die nummerierte Ausgabe der Patchdatei):

Code: Alles auswählen

     1  ChangeSet@1.884, 2002-12-19 11:23:11+01:00, vojtech@suse.cz
     2    VIA IDE: Always use slow address setup timings for ATAPI devices.
     3
     4
     5  via82cxxx.c |   19 ++++++-------------
     6  1 files changed, 6 insertions(+), 13 deletions(-)
     7
     8
     9  diff -Nru adrivers/ide/via82cxxx.c bdrivers/ide/via82cxxx.c
    10  --- a/drivers/ide/pci/via82cxxx.c       Thu Dec 19 11:23:42 2002
    11  +++ b/drivers/ide/pci/via82cxxx.c       Thu Dec 19 11:23:42 2002
    12  @@ -1,16 +1,5 @@
    13  /*
    14  - * $Id: via82cxxx.c,v 3.35-ac2 2002/09/111 Alan Exp $
    15  - *
    16  - *  Copyright (c) 2000-2001 Vojtech Pavlik
    17  - *
Sorry, aber ich komme nicht weiter. Was mache ich falsch???

Hoffe um weitere Hilfe! Danke! :-(
Open Source Software - Freie Software für freie Bürger!

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 29.01.2003 20:36:04

mhh.. ich benutze kernel-sourcen von kernel.org, hier stimmt der pfad. ohnehin: besorg' dir die neusten sourcen um grundsätzliche unterstützung für deinen chipsatz zu bekommen (2.4.20).
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
Hermi
Beiträge: 20
Registriert: 20.09.2002 12:09:20
Wohnort: Osnabrücker Land
Kontaktdaten:

Beitrag von Hermi » 29.01.2003 20:54:16

8O
Gibt's da keinen anderen Weg?
Ich bin irgendwie etwas "stable" verhaftet, will meinen, ich mag nicht so recht das Herz meines Systems austauschen. Notfalls muss ich ja vielleicht, aber wenn's irgendwie ohne geht ... wäre mir schon lieber!

Und wenn ich mir die Sourcen holen würde, ist sichergestellt, dass das alles mit meiner woody-Maschine läuft? Linux ist ja irgendwie Linux, aber in Kernelangelegenheiten bin ich noch etwas grün hinter den Ohren.

Gruß,
Hermi
Open Source Software - Freie Software für freie Bürger!

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 29.01.2003 21:04:11

der stable-kernel von kernel.org ist mindestens genauso vertrauenswürdig wie debian-kernel-sourcen, imo natürlich.

mir ist eben aber etwas anderes aufgefallen: hast du wirklich ein board mit kt266 chipset? das sollte im 2.4.18 nämlich schon unterstütz werden..
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
Hermi
Beiträge: 20
Registriert: 20.09.2002 12:09:20
Wohnort: Osnabrücker Land
Kontaktdaten:

Beitrag von Hermi » 01.02.2003 19:01:27

Ja, dann schaue ich mal. Ich habe mir inzwischen die Sorcen des 2.4.20er Kernels gezogen und werde mich mal ran setzen, den Kernel zu backen. Das wird wohl leider erst in den nächsten Tagen was werden, da ich im Augenblick etwas knapp an Zeit bin.

Ich melde mich, wenn ich mit dem Backen fertig bin!!

Gruß,
Hermi
Open Source Software - Freie Software für freie Bürger!

Antworten