Hola a todos, no son problemas graves, pero sí que me provocan muchas
dudas. Tengo dos discos duros, conectados a un mismo canal ide (ide0), uno maestro de 80 GB y otro esclavo de 20 GB. Aquí pongo las características (he borrado alguna información irrelevante). /dev/hda: Model=ST380011A, FwRev=8.01, SerialNo=5JVRFDM2 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4 BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156301488 PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 *udma3 udma4 udma5 /dev/hdb: Model=ST320413A, FwRev=3.35, SerialNo=6ED11CQH RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0 BuffType=unknown, BuffSize=512kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=39102336 PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 *udma4 udma5El problema es que cuando arranco Debian (con linux 2.6.18-5-686), durante la carga del núcleo aparecen los siguientes mensajes de error. Dec 28 16:48:58 debian kernel: hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error } Dec 28 16:48:58 debian kernel: hdb: dma_intr: error=0x84 { DriveStatusError BadCRC } Dec 28 16:48:58 debian kernel: ide: failed opcode was: unknown Dec 28 16:48:58 debian kernel: hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error } Dec 28 16:48:58 debian kernel: hdb: dma_intr: error=0x84 { DriveStatusError BadCRC } Dec 28 16:48:58 debian kernel: ide: failed opcode was: unknown Dec 28 16:48:58 debian kernel: hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error } Dec 28 16:48:58 debian kernel: hdb: dma_intr: error=0x84 { DriveStatusError BadCRC } Dec 28 16:48:58 debian kernel: ide: failed opcode was: unknown Dec 28 16:48:58 debian kernel: hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error } Dec 28 16:48:58 debian kernel: hdb: dma_intr: error=0x84 { DriveStatusError BadCRC } Dec 28 16:48:58 debian kernel: ide: failed opcode was: unknown Dec 28 16:48:58 debian kernel: hda: DMA disabled Dec 28 16:48:58 debian kernel: ide0: reset: successHe estado googleando un poco y el error que aparece (fallo con el CRC) es básicamente que hay algunos sectores del disco no se han podido leer. Pero he testeado el disco y no me da sectores defectuosos. Lo que sí que ocurre es que, una vez arrancado el sistema, al comprobar los modos de transferencias que se están usando, hda está usando el modo PIO4 y hdb el modo UDMA4 (66 MB/s). Esto es algo que he solucionado usando en /etc/hdparm.conf la siguiente configuración: /dev/hda { mult_sect_io = 16 write_cache = off dma = on transfer_mode = 67 #Modo de transferencia UDMA3 (44 MB/s) io32_support = 3 } NOTA: Respecto a hdb, no aplico ninguna configuración respecto al modo de transferencY consigo que se active el modo UDMA en hda, de manera que queda así (información aportada por el controlador IDE, he borrado alguna información irrelevante) ----------AMD BusMastering IDE Configuration---------------- Driver Version: 2.13 South Bridge: 0000:00:0f.0 Revision: IDE 0xa2 Highest DMA rate: UDMA133 BM-DMA base: 0xf000 PCI clock: 33.3MHz -----------------------Primary IDE-------Secondary IDE------ Cable Type: 80w 40w --------------------------drive0------drive1-----drive2------drive3----- Transfer Mode: UDMA UDMA UDMA DMA Transfer Rate: 44.4MB/s 66.6MB/s 33.3MB/s 3.3MB/sLo que ocurre es que, si intento aplicar a hda un modo de trasferencia UDMA4 O UDMA5, los errores antes mencionados de BadCRC me salen también durante la ejecución de INIT (imagino que cuando se lee la configuración de /etc/hdparm.conf), pero esta vez el error aparece tanto en los dos discos, y el resultado es que, hda ahora queda funcionando en modo DMA, pero hdb queda en modo PIO. No comprendo por qué aparecen errores en lectura de sectores si se cambia el modo de transferencia a uno más rápido, sobretodo cuando son modos soportados según las características del disco duro y estoy usando un cable IDE de 80 hilos (ya comprobé que no es fallo del cable, con otro cable me ocurre lo mismo). Si alguien me supiera decir a qué podría deberse, se lo agradecería Por último, a ver si alguien pudiera saber si habría alguna forma de que se pudieran salvar los errores de BadCRC durante la carga del kernel, lo he intentado poniendo como parámetro del kernel ide=nodma y persiste el problema. Un saludo, y gracias de antemano! |