Activer l'UDMA Disque dur

Non pci.h fait un include de pci_ids.h donc c’est pour ça qu’il est cité. Je vais quand même voir. [c’est vu, c’est uniquement ça]

[code]#define PCI_DEVICE_ID_IBM_TR_WAKE 0x003e
#define PCI_DEVICE_ID_IBM_MPIC 0x0046
#define PCI_DEVICE_ID_IBM_3780IDSP 0x007d
#define PCI_DEVICE_ID_IBM_CHUKAR 0x0096
#define PCI_DEVICE_ID_IBM_CPC710_PCI64 0x00fc
#define PCI_DEVICE_ID_IBM_CPC710_PCI32 0x0105
#define PCI_DEVICE_ID_IBM_405GP 0x0156
#define PCI_DEVICE_ID_IBM_SNIPE 0x0180
#define PCI_DEVICE_ID_IBM_SERVERAIDI960 0x01bd
#define PCI_DEVICE_ID_IBM_GEMSTONE 0xB166
#define PCI_DEVICE_ID_IBM_MPIC_2 0xffff

#define PCI_VENDOR_ID_COMPEX2 0x101a // pci.ids says “AT&T GIS (NCR)”[/code]

Voila.

Excuses moi, «je m’a gouré», je voulais plutôt les lignes 343 à 355, je me suis mélangé les pinceaux dsl :frowning:

Rah, je suis un imbécile, tu as fait un copier coller de ce que j’ai fait or c’était

Tu rajoutes au fichier …/include/linux/pci_ids.h à la ligne 347
#define PCI_DEVICE_ID_ATI_IXP_AMOI 0x4378

tu obtiens


#define PCI_DEVICE_ID_ATI_RS300_200   0x5833
/* ATI IXP Chipset */
#define PCI_DEVICE_ID_ATI_IXP_IDE   0x4349
#define PCI_DEVICE_ID_ATI_IXP_AMOI   0x4378

#define PCI_VENDOR_ID_VLSI      0x1004
#define PCI_DEVICE_ID_VLSI_82C592   0x0005

qu’il fallait lire, j’ai mis deux fois

PCI_DEVICE_ID_ATI_IXP_IDE

dans mon message. Dsl de t’avoir fait perdre une 1/2 heure!

MDR !!!
C’est vrai aussi que je me demandais pourquoi mettre 2 fois la même chose :laughing:

Pas de souci pour la perte de temps je me regarde des dvd en même temps et j’ai hate de pouvoir les lire sur ma debian sans que ça saccade :laughing:

Aie aie aie.

Le kernel que je viens de compiler ne fonctionne pas.

Il se bloque dès le lancement du omdule ide-cd.
Je vais recopier ce qui est écrit :

Loading modules... ide-cd ide-cd: cmd 0x5a timed out hdc: lost interrupt hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB cache Uniform CD-ROM driver Revision: 3.20 hdc: lost interrupt ide-cd: cmd 0x3 timed out hdc: lost interrupt hdc: request sense failure: status=0x59 { DriveReady SeekComplete DataRequest Error } hdc: request sense failure: error=0x40LastFailedSense 0x04

Aie, là c’est mauvais signe. Je vois 2 solutions

  1. Compilation de atiipx en module, tu ne le charges qu’après que tout soit lancé et tu regardes si ça fonctionne. Cela peut suffire. Il faut simplement que ide-cd soit chargé avant atiipx

  2. Mise à jour du noyau en prenant le 2.6.12 (qui est compatible avec le 2.6.8 car contenant encore le DEVFS donc n’a pas besoin de udev and co). Tu peux éventuellement chargé un CD live pour voir si le pbm est réglé avec cd noyau. Tu peux également testé le 2.6.14 en utilisant ce CD live (c’est un CD couteau suisse que j’ai fait) http://franboisson.free.fr/sarge/BootCD-2.6.iso.bz2 mais cela suppose que tu n’utilises pas le DEVFS. Dans le cas où ça marche, il ne te restera qu’à passer en 2.6.14.

Ah là tu m’interesse enormément !!!

En effet j’ai voulu essayer hier de prendre un kernel plus récent mais hélas il fallait passer en etch. Soit.

Je modifie mon sources.list pour etch.
Mais lors de l’installation du kernel il veut installer plein d’autres choses dont je ne veux pas (notemment lilo).

Je ne sais pas ce qu’est DEVFS et UDEV tu peux m’en parler vite fait ?

Je peux t’assurer que le DMA fonctionne avec des noyaux plus récents car j’étais sous Mandriva et ça marchait (mais Mandriva était trop “graphique” pour moi, c’est pourquoi je suis sous Debian + Fluxbox)

De plus j’ai vu quelque chose de très interessent sur le net :
lists.debian.org/debian-user-fre … 01097.html

Dessus ils expliquent pourquoi le chargement du module ne change rien au problème du DMA : c’est parce qu’il faut qu’il soit chargé AVANT les ide-generic. Or j’ai beau faire ce que je veux, càd mettre atiixp tout en haut du /etc/modules, ide_generic et ide_disk se chargent avant quand même (on le voit dans lspci dans la colonne Used by les modules chargés en premier sont à droite, et à droite de atiixp j’ai ide_generic et ide_disk).

Or depuis je ne sais plus quelle version de kernel (2.6.12 il me semble), ce problème est réglé et le DMA en module fonctionne à condition de le mettre en haut de /etc/modules.

Donc, comment faire pour utiliser le kernel que tu me propose 2.6.12 ??

Tu utilises une image compilé de ce noyau, tu la trouveras

  1. Sur le site de debian
    sinon
  2. Sur snapshot
    sinon
  3. sur le CD d’installation que j’ai fait fondé sur ce noyau http://franboisson.free.fr/sarge/debian-31r0a-i386-netinst-2.6.12-FB-avecmodules.isodans le répertoire
    /pool/main/l/linux-2.6/

udev comme devfs sont des systèmes gérant de manière dynamique les fichiers spéciaux (ceux sous /dev) en les créant à la volée au fur et à mesure de la découverte des périphériques. devfs est le premier système et est un composant noyau. Tout le système d’installation de sarge est fondé dessus. udev fait la même chose mais tourne en espace utilisateur, c’est un programme comme un autre ce qui a beaucoup d’avantages. DEVFS est considéré comme obsolète et a été supprimé des noyaux à partir du 2.6.13 inclus. C’est pour ça que chaque fois que tu veux charger un noyau >=2.6.13, il te propose de charger udev et autres. Tu peux n’utiliser ni l’un ni l’autre (comme moi) avec un bon vieux /dev statique. Le pbm est que tu n’as pas de découverte de matériel.

Ouin !!!
Je viens de retrouver le site où ils parlaient du kernel à partir duquel fonctionne le DMA en module : c’est le 2.6.14 :cry:
Peut être justement que c’est dù à l’utilisation de udev au lieu de devfs.

Le mieux serait de passer en etch je pense, mais le souci c’est que j’ai déjà voulu le faire mais l’installation (apt-get dist-upgrade) plantait completement en me disant que les packages étaient remplis de bugs.

Non, tu peux rester sous sarge en installant d’abord udev puis après en installant le noyau 2.6.14 (tu prends les paquets sur les dépots etch mais c’est tout) C’est largement faisable et j’ai testé ce noyau sur mon portable qui est en sarge. Regardes pour commencer sur tu utilises devfs.

Pour cela, donnes ton fstab

Là je vais te suivre comme un petit chien car je ne vois pas ce que tu veux faire.
Voici mon fstab :

[code]# /etc/fstab: static file system information.

proc /proc proc defaults 0 0
/dev/hda3 / ext3 defaults,errors=remount-ro 0 1
/dev/hda2 /mnt/windows vfat defaults 0 0
/dev/hda1 none swap sw 0 0
/dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0[/code]

Je ne vois pas comment faire pour utiliser un kernel récent en restant en sarge, je te fais confiance :smiley: 8) .
Je veux juste garder mon grub car apt-get install linux-image-2.6.17-chéplukoi voulait absolument m’installer plein de trucs, notemment lilo.

Bon, pas de devfs. Impeccable.
Par ailleurs, utilises tu un initrd?

Je ne sais pas.
Je ne sais pas ce que c’est.

Ce qui permet de charger au démarrage les modules indispensables à la lecture de la racine (ici ext3)… Bon, je fais une simulation sur une sarge en debootstrap après ma dernière copie corrigée.

Bon, il y a deux solutions et ce serait bien d’avoir l’avis de MatTOtop car je pense que tu utilises un initrd.

  1. Solution 1: Tu te charges les sources du 2.6.16 par exemple et tu te le compiles en reprenant les options du 2.6.8 que tu as. Bien sûr il te proposera des choix supplémentaires mais dans ce cas, tu choisis la réponse par défaut. Tu installes le bazar et hop.

  2. Solution 2: Tu installes le noyau à la main et dans ce cas il te faudra faire l’initrd. (mkinitrd), pas difficile mais il faut faire ça avec soin.

  3. Solution 3: tu installes l’image 2.6.16 de testing en utilisant un backport de initramfs-tools (j’en ai fait un ici au cas où:http://boisson.homeip.net/sarge/initramfs-tools_0.82_all.deb)

J’aurais tendance à privilégier 1 ou 3

Bon, j’ai refait un post pour un sources.list avec un fichier preference complet pour taper dans n’importe quel release. Mon exemple est en etch (désolé, je n’avais pas de preferences sarge sous la main), mais en adaptant un chouilla les preferences.
forum.debian-fr.org/viewtopic.php?p=45187#45187
Sinon, il faudrait me resynthetiser un peu ou je pourrais être utile parceque je n’ai pas suivi tout le fil.
Et pour une solution stable, je prendrais plutot l’option 3 de fran.

Bon, bilan je suggère au choix

  1. La méthode 1 en mettant le file system ext3 en dur, cela permettra à linux de démarrer sans initrd. Il suffit de charger le paquet source de linux-2.6.16 de la testing.

  2. La méthode 3 en commençant par installer le paquet que j’ai backporté puis si tout va bien le paquet linux-image 2.6.16 de la testing

sinon, fran, je ne sais pas ce qui t’inquiète avec l’initrd, mais si tu compiles ton noyau avec make-kpkg --initrd, ton paquet contient l’initrd .
Pour verifier qu’on a un initrd, il suffit de voir si il existe bien un fichier /boot/initrd-XXX, sinon.

Ah oui Krisprols58, j’ai recupèré un fichier preferences pour une sarge qui va avec le sources.list que j’ai mis pour toi et je l’ai mis à l suite du lien que je t’ai donné plus haut.

Ce qui m’inquiète est le passage à yaird. J’ai vu pas mal de messages là dessus. De plus, je n’utilise pas l’initrd et le seul que j’ai fait vraiment a été fait à la main pour mon CD, mon noyau est compilé et installé à la main (habitude des permiers temps). J’ai peu utilisé mkinitrd et donc je m’inquiète de ce que je ne connais pas bien…