Activer l'UDMA Disque dur

Salut

J’ai encore de nouveau soucis avec debian décidemment.
Mais cette fois c’est pour mon disque dur. Il est d’une lenteur impressionnante.
Je vous fait un lspci :

0000:00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 01) 0000:00:02.0 PCI bridge: ATI Technologies Inc RS480 PCI-X Root Port 0000:00:06.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge 0000:00:07.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge 0000:00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller 0000:00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller 0000:00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller 0000:00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 11) 0000:00:14.1 IDE interface: ATI Technologies Inc Standard Dual Channel PCI IDE Controller ATI 0000:00:14.3 ISA bridge: ATI Technologies Inc IXP SB400 PCI-ISA Bridge 0000:00:14.4 PCI bridge: ATI Technologies Inc IXP SB400 PCI-PCI Bridge 0000:00:14.5 Multimedia audio controller: ATI Technologies Inc IXP SB400 AC'97 Audio Controller (rev 02) 0000:00:14.6 Modem: ATI Technologies Inc ATI SB400 - AC'97 Modem Controller (rev 02) 0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X700 (PCIE) 0000:06:05.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02) 0000:06:06.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller 0000:06:06.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller 0000:06:06.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller 0000:06:06.4 0805: Texas Instruments PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller 0000:06:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)

Et ensuite le fameux hdparm.
hdparm -c1 -d1 /dev/hda/

dev/hda: setting 32-bit IO_support flag to 1 setting using_dma to 1 (on) HDIO_SET_DMA failed: Operation not permitted IO_support = 1 (32-bit) using_dma = 0 (off)

Comme vous pouvez le voir, ça ne marche pas.
Donc j’ai regardé sur internet, essayé le module atiixp

Mais hdparm ne veut toujours pas entendre parler de l’UDMA.

Donc aparemment la seule solution serait de recompiler le kernel :cry:
Si quelqu’un aurait une autre solution je suis preneur.

Alors pour recompiler le kernel, vais je perdre toutes les modifications que j’ai fait concernant le matériel ??? Carte wifi, ATI Direct Rendrering ???

Merci.

Je crois qu’il y a eu un fil récemment où on indiquait comment régler ce problème de DMA : je pense qu’il suffit de faire une recherche pour le retrouver.

[quote=“Krisprols58”]
Alors pour recompiler le kernel, vais je perdre toutes les modifications que j’ai fait concernant le matériel ??? Carte wifi, ATI Direct Rendrering ??? Merci.[/quote]
Non, pas si tu replaces le m^ .config

Cest là : forum.debian-fr.org/viewtopic.ph … hlight=dma
Fran.b donne la solution (sans compiler le kernel …)

Alors
Je suis allé voir le post que m’a conseillé ginkgo biloba.
D’après ce que j’ai compris il faut modprober piix, et atiixp c’est ça ?

Parce que j’ai essayé mais hélas toujours rien, pas de DMA, mais le point positif de la chose c’est que je n’ai eu aucune erreur lors du modprobe des 2 modules.

Sinon ricardo m’a parlé de quelque chose mais, pour moi le, je cite :“m^ .config” c’est du japonais !!
Je n’ai jamais recompilé de kernel je ne sais absolument pas de quoi il parle.

Je suis prêt à recompiler le kernel si c’est la seule sloution mais :

  1. Y a t-il une autre solution que la recompilation ?
  2. Etes vous certain que mes compilations (wifi, dri, sound) marcheront encore ?? Je n’ai pas lintention de tout recommencer.

Merci.

quote="Krisprols58"1) Y a t-il une autre solution que la recompilation ?[/quote]Oui. Installer une autre version de noyau toute faite avec apt.
C’est expliqué ailleurs, mais ça consiste à chercher le kernel-image ou le linux-image qu’on veut avec apt-cache search ...-image puis installer le paquet choisi avec-apt-get install XXX-image-YYY [quote=“Krisprols58”]2) Etes vous certain que mes compilations (wifi, dri, sound) marcheront encore ?? Je n’ai pas lintention de tout recommencer.[/quote]Tous les autres noyaux que tu installeras seront disponibles en plus de celui que tu as maintenant. S’ils ne marchent pas, tu pourras toujours revenir à celui que tu as actuellement et examiner la situatuion.[quote=“Krisprols58”]Merci.[/quote]De rien :wink:

[quote=“Krisprols58”]Alors
Je suis allé voir le post que m’a conseillé ginkgo biloba.
D’après ce que j’ai compris il faut modprober piix, et atiixp c’est ça ?[/quote]

Non, il existe plusieurs type de controleur, lis le post jusqu’au bout…

[quote] tu as un controleur IDE exotique. Donc cf rubrique Truc et Astuces
tu met ton lspci -n dans le kmuto.jp/debian/hcl/ et regarde quel module il suggère pour le controleur IDE.

Je soupconne un neForce2, dans ce cas ce serait amd74xx
[/quote]

Pour ce qui est des kernel-images, je suis en sarge donc 2.6.8 maximum et c’est ce que j’ai. C’est vrai que je ne l’avais pas précisé j’utilise le kernel 2.6.8-3-686.
Et le passage en etch m’avait valu un plantage complet de grub …
Donc : je reste en sarge.

Et sinon pour répondre à fran.b
J’ai lu le post jusqu’au bout et je l’ai adapté à mon matos.
J’ai posté le lspci -n sur le site et ça n’a fait que confirmer ce que j’avais vu :
atiixp (et sata_sil mais je ne suis pas en sata)

Donc il faut modprober piix et atiixp ?
C’est quoi piix ?
Après avoir modprobé piix et atiixp aucun changement hdparm refuse toujours de mettre l’UDMA.

C’est très genant car sans UDMA le moindre téléchargement, le mondre apt-get install, me fait ralentir toute la machine. La musique se coupe etc…

Essaye avec un modprobe de sata_sil, si ton controleur est un controleur sata utilisé en controleur IDE classique, sata_sil est peut être indispensable. Sinon, effectivement, fais un

modprobe atiixp

aussi.

Je ferais

modprobe sata_sil atiixp

Toujours pareil …
HDIO_SET_DMA failed: Operation not permitted

Que faire ?

Bizarre ça, il y a des logs dans /var/log/syslog ou dans /var/log/messages?

Il n’y a rien d’interessant dans ces logs.
Du moins rien pour le dma :slightly_smiling:

Aie aie aie !!!
Mauvaises nouvelles :

Enabling DMA mode

* Be sure to compile your kernel with the module "atiixp" as built-in/static. Do not compile this as a module. This module can be found in the 2.6.x kernel menuconfig under: Device Drivers->ATA/ATAPI/MFM/RLL support-><*> ATI IXP chipset IDE support

J’ai trouvé ça sur cette page : dimensionalstorm.net/v2405us/

Aparemment je n’ai pas d’autres choix que de recompiler.
Qu’est ce que je risque à recompiler le kernel ?

Pas grand chose, je te conseille de récupérer les sources de ton noyau en cours (au cas ou tu as des modules en plus particuliers), tu récupères le config de ton noyau en cours, tu fais un make oldconfig puis tu modifies via make xconfig ou autre le module en dur et tu fais la compil. Garde quand même ton vieux noyau quelque part.

La c’est un peu chinois pour moi.
Tu me parles de choses que je ne connais pas :

  • sources de mon noyau : apt-get install kernel-source-uname-r ???
  • le config ?!? Ques aquo ???
  • Que font les 2 commandes make oldconfig et make xconfig ??
  • Et je fais la compil. Bien sur c’est si simple quand on sait faire ! Comment on fait ! :cry:

Bon OK, je me lance.
Australie ! Ah non pas encore. C’est le jeu ma pauvre lucette. On tombe dessus à chaque fois.

Non sans rire je me lance pour la compilation du kernel.
J’ai trouvé le tuto dans trucs et astuces.
forum.debian-fr.org/viewtopic.ph … ler+kernel

Mais il faut que j’adapte les pécautions que fran.b m’a dite.
Je pose ici les étapes du tuto :

1. su - 2. password ************* 3. apt-get update 4. apt-get upgrade 5. cd /usr/src 6. apt-get install debconf-utils dpkg-dev debhelper (inutile si c'est déjà installer) 7. apt-get install build-essential kernel-package (inutile si c'est déjà installer) 8. apt-get install libncurses5-dev (pour le make menuconfig) 9. apt-get install linux-source-2.x.x 10. tar -xvjf linux-source-2.x.x.tar.bz2 11. ln -s linux-source-2.x.x linux 12. cp /boot/config-2.x.x /usr/src/linux/.config 13. cd linux 14. make menuconfig 15. load .config 16. modifier la config si necessaire et l'enregistrer 17. make-kpkg --append-to-version "custom-XXX" --initrd kernel_image modules_image kernel_headers 18. Aller boire un Café et plus si affinité 19. dpkg -i kernel-image-2.x.x

S’il vous plaît, dites moi les lignes à modifier pour que les modules que j’ai compilés moi même fonctionnent toujours sur le kernel compilé.

aucune, il faudra que tu recompiles tout les modules.
tu rajoutes juste une etape 20 pour ‘dpkg -i’ fier les modules.

Si tu veux pouvoir utiliser tes modules actuels avec ce noyau, il ne faut pas mettre de append-to-version. Mais dans ce cas, tu risques d’écraser ton noyau actuel. Je te suggère donc de commencer par mettre ce append-to-version, puis une fois que tout va bien, si vraiment tu veux récupérer tes modules (type nvidia ou autre), tu enlèves ce append-to-version.

Dans une réponse précedente tu fesais reference à un config (une config ?!?), un make oldconfig et make xconfig

J’en ai plus besoin ?
Je veux juste modifier mon kernel actuel pour y activer le DMA ATIIXP donc il faudrait que je recompile depuis les paramètres de mon kernel actuel.

Et selon MattOTop il faudra carément tout refaire ? (wifi, dri, alsa) ?

Et finalement tant que j’y suis si je veux faire marcher le powernow (c’est un portable avec Turion64) c’est dans le compilation du kernel qu’il faut l’activer ?

  • Oui pour le oldconfig et autre je maintiens. Et tu l’as mis au bon endroit.

  • Pour les réglages alsa, wifi ça ne devrait pas poser de problèmes même si tu changes le nom de ton noyau.

  • Pour le dri, si le module est propriétaire, tu peux avoir besoin de le recompiler si tu changes le nom de ton noyau. D’où ma suggestion lorsuqe tu auras vérifier que le nouveau noyau marche bien de lui donner le même nom.

Une remarque TRÈS importante:

francois@totoche:/tmp$ strings /lib/modules/2.6.14.3/kernel/drivers/net/e100.ko | grep gcc vermagic=2.6.14.3 686 gcc-2.95 francois@totoche:/tmp$ te permet de savoir avec quel gcc il a été compilé (voir aussi uname). Il est impératif de prendre le même si tu veux réutiliser de modules.

Une deuxième remarque type «Quick and dirty»:

Tu fais exactement ce que tu as écrit:[quote] 3. apt-get update
4. apt-get upgrade
5. cd /usr/src
6. apt-get install debconf-utils dpkg-dev debhelper (inutile si c’est déjà installer)
7. apt-get install build-essential kernel-package (inutile si c’est déjà installer)
8. apt-get install libncurses5-dev (pour le make menuconfig)
9. apt-get install linux-source-2.x.x
10. tar -xvjf linux-source-2.x.x.tar.bz2
11. ln -s linux-source-2.x.x linux
12. cp /boot/config-2.x.x /usr/src/linux/.config
13. cd linux
14. make menuconfig
15. load .config
16. modifier la config si necessaire et l’enregistrer
[/quote]
et là tu fais make dep;make bzImage si c’est un 2.4 ou make si c’est un 2.6 puis tu renommes ton noyau actuel sous /boot en rajoutant .old et tu met le fichier /usr/src/linux/arch/i386/boot/bzImage à la place. IL EST IMPORTANT que la version et le nom soit identique (pas de custom, rien d’exotique donc). Tu fais un lilo à la place, tu vérifies que tu as un live CD pour revenir en arrière si ça ne marche pas et tu reboutes. Si c’est la même version du noyau, ça devrait marcher, tous tes modules et réglages devraient fonctionner. J’ai déjà fait cette manoeuvre avec des 2.0, 2.2 et une fois avec un 2.4. Mais jamais avec un 2.6 donc je ne peux pas t’assurer du succès.