Ultra DMA et compact flash

Ultra DMA et compact flash - Installation - Linux et OS Alternatifs

Marsh Posté le 29-04-2007 à 15:51:57    

Bonjour,
 
je voudrai désactiver le support de l'ultra DMA pour hda qui est une compact flash.
 
Le pc boote avec grub sur une debian qui est installée sur cette carte.
 
au démarrage j'obtient ce message:

Code :
  1. hda: max request size: 128KiB
  2. hda: 2001888 sectors (1024 MB) w/1KiB Cache, CHS=1986/16/63, DMA
  3. hda:<4>hda: dma_timer_expiry: dma status == 0x21
  4. hda: DMA timeout error
  5. hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
  6. ide: failed opcode was: unknown
  7. hda1 hda2 <<4>hda: dma_timer_expiry: dma status == 0x21
  8. hda: DMA timeout error
  9. hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
  10. ide: failed opcode was: unknown


 
Après de longues recherches sur les forums via google, je n'ai pas trouvé où modifier ce paramètre.
J'ai juste trouvé la commande:

Code :
  1. hdparm -d0 /mnt/hda


 
Mais je n'ai pas trouvé comment désactiver l'udma pour hda au boot de la machine.
Faut-il paramètrer grub ou autre chose ?
 
Par avance merci.

Reply

Marsh Posté le 29-04-2007 à 15:51:57   

Reply

Marsh Posté le 29-04-2007 à 16:06:34    

Ça serait plutot
hdparm -d0 /dev/hda
;)
 
Sinon, ça ne le garde pas en mémoire quand tu redémarres ?


---------------
Be the one with the flames.
Reply

Marsh Posté le 29-04-2007 à 16:14:56    

Bonjour Riot,
 
la commande est en effet bien  

Code :
  1. hdparm -d0 /dev/hda


 
Lorsque la bécanne redémarre, j'ai toujours le même message d'erreur.
 
Sinon voici que me donne hdparm pour ce disque:

Code :
  1. /# hdparm -I /dev/hda
  2. /dev/hda:
  3. CompactFlash ATA device, with removable media
  4.         Model Number:       SanDisk SDCFX-1024
  5.         Serial Number:      003608J2206M1003
  6.         Firmware Revision:  HDX 4.03
  7. Standards:
  8.         Supported: 4
  9.         Likely used: 4
  10. Configuration:
  11.         Logical         max     current
  12.         cylinders       1986    1986
  13.         heads           16      16
  14.         sectors/track   63      63
  15.         --
  16.         CHS current addressable sectors:    2001888
  17.         LBA    user addressable sectors:    2001888
  18.         device size with M = 1024*1024:         977 MBytes
  19.         device size with M = 1000*1000:        1024 MBytes (1 GB)
  20. Capabilities:
  21.         LBA, IORDY(may be)(cannot be disabled)
  22.         Standby timer values: spec'd by Vendor
  23.         R/W multiple sector transfer: Max = 4   Current = 0
  24.         DMA: mdma0 mdma1 *mdma2
  25.              Cycle time: min=120ns recommended=120ns
  26.         PIO: pio0 pio1 pio2 pio3 pio4
  27.              Cycle time: no flow control=120ns  IORDY flow control=120ns
  28. Commands/features:
  29.         Enabled Supported:
  30.                 Write cache
  31.            *    CFA feature set


 

Reply

Marsh Posté le 30-04-2007 à 18:22:28    

nothing a écrit :

Bonjour Riot,
 
la commande est en effet bien  

Code :
  1. hdparm -d0 /dev/hda


 
Lorsque la bécanne redémarre, j'ai toujours le même message d'erreur.
 
Sinon voici que me donne hdparm pour ce disque:

Code :
  1. /# hdparm -I /dev/hda
  2. /dev/hda:
  3. CompactFlash ATA device, with removable media
  4.         Model Number:       SanDisk SDCFX-1024
  5.         Serial Number:      003608J2206M1003
  6.         Firmware Revision:  HDX 4.03
  7. Standards:
  8.         Supported: 4
  9.         Likely used: 4
  10. Configuration:
  11.         Logical         max     current
  12.         cylinders       1986    1986
  13.         heads           16      16
  14.         sectors/track   63      63
  15.         --
  16.         CHS current addressable sectors:    2001888
  17.         LBA    user addressable sectors:    2001888
  18.         device size with M = 1024*1024:         977 MBytes
  19.         device size with M = 1000*1000:        1024 MBytes (1 GB)
  20. Capabilities:
  21.         LBA, IORDY(may be)(cannot be disabled)
  22.         Standby timer values: spec'd by Vendor
  23.         R/W multiple sector transfer: Max = 4   Current = 0
  24.         DMA: mdma0 mdma1 *mdma2
  25.              Cycle time: min=120ns recommended=120ns
  26.         PIO: pio0 pio1 pio2 pio3 pio4
  27.              Cycle time: no flow control=120ns  IORDY flow control=120ns
  28. Commands/features:
  29.         Enabled Supported:
  30.                 Write cache
  31.            *    CFA feature set



 
Bonjour,
J'installe justement une Debian sur une CF, je regarderais si ce message remonte.
As tu rajouté la commande "hdparm -d0 /dev/hda" dans un script de boot ?
 
Sinon, comment as tu installé / configuré ta Debian sur la CF.
Pour ma part, j'ai utilisé bootstrap à partir d'un PC linux.
 
Par contre, j'ai lu que les CF ne sont pas prévu pour des écritures sur le long terme.
As tu fait une config. particulère ?
 
merci

Reply

Marsh Posté le 30-04-2007 à 21:56:14    

tu demarres le noyau avec une ligne ide=nodma
 
Le pb, c est que ca desactive le dma sur tout ton bus ide. Theoriquement, ca devrait marcher en mettant juste ide0=nodma ou ide1=nodma selon si ton port compact flash est detecté sur le port primaire ou secondaire. Ca peut etre interessant pour avoir la compact flash en nodma, et un disque dur a coté en dma (parceque bon, les performances ne sont pas les memes).
 
hdparm est un programme qui fait un appel systeme (avec ioctl) sur le noyau. Ca desactive le dma de la meme facon que ci-dessus, mais bien evidemment, le paramétrage n'est pas mémorisé. Il faut donc le relancer à chaque démarrage (dans les scripts init par exemple). Il vaut mieux eviter cela, car ton programme hdparm ainsi que ton script sont forcément sur la compact flash et le noyau aura besoin d'avoir deja initialisé le bus IDE  + la CF pour y acceder, et vu que ca deconne avec le DMA, ca va pas etre pratique.
 
 
Si c'est ton lecteur compact flash qui ne supporte pas le DMA, tu peux soit desactiver le dma dans le noyau soit prendre  une compact flash sans DMA (ca existe, transcend possede 4 types de compact flash : FIXED / REMOVABLE, et DMA / NONDMA).
 
 
Edit : pour parametrer grub, tu edites le fichier /boot/grub/menu.lst , et sur la ligne kernel correspondant a ton noyau, tu rajoutes ide=nodma après le chemin de ton noyau


Message édité par xilebo le 30-04-2007 à 21:59:55
Reply

Marsh Posté le 02-05-2007 à 00:26:30    

Bonsoir à tous,
 
merci xilebo pour toutes ces infos.
Je vais tester tout ça...
 
domos, j'ai installé Etch sur une CF à partir d'un lecteur CD monté provisoirement le temps de l'installation (installation en NetInstall).
 
Ma config:
EPIA 800
Compact Flash sur hda
Disque dur sur hdc


Message édité par nothing le 02-05-2007 à 00:26:49
Reply

Marsh Posté le 02-05-2007 à 13:40:38    

Effectivement, les CF ne supportent pas autant de cycles d'écriture qu'un disque dur. Souvent elles sont à 100.000 cycles par secteur, et certaines  proposent 1.000.000 cycles d'écriture. Par contre en lecture ça ne pose pas de pb.
Il faut préférer les "industrial CF" aux CF classiques d'appareil domestique, elles sont généralement plus fiables et plus adaptées à l'environnement embarqué.

 

L'idéal, c'est d'installer un linux avec le système de fichier en RAM, contenu dans un ramdisk, et chargé en RAM au démarrage par le noyau. L'avantage, c'est que tous les fichiers temporaires qu'on peut avoir dans /var par exemple seront créés en RAM et donc n'useront pas prématurément la CF. L'inconvénient est qu'on perd ces informations à chaque redémarrage du système, et lorsqu'on veut modifier des paramètres (dans /etc par exemple), il faut d'abord monter l'image ramdisk en loopback pour effectuer les modifications.


Message édité par xilebo le 02-05-2007 à 14:52:47
Reply

Marsh Posté le 02-05-2007 à 14:13:58    

les CF classiques de maintenant sont assez fiables pour supporter l'install d'OS,
l'avantage reste tout de même aux CF industrials.
il est clair qu'il faudra se debrouiller pour au moins desactiver la swap et les rotate log
synonymes d'ecriture fréquentes.


---------------
ma conduite intérieure .:R | memaster pilote officiel de la HFR Badoit-Auchan F1 Team | zéro tracas, zéro blabla MMa.ster
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed