jueves, mayo 18, 2006

Por fin udma5 en mi linux

Parece mentira que tras llevar más de un año y medio con mi ordenador, no me diese por comprobar el modo de ultra dma que estaba usando mi disco duro. Me he puesto a trastear y me he llevado sorpresas.

Tengo un Seagate ST3120022A, que soporta ultra dma 100, sobre un chipset Intel ICH5, usando Gentoo bajo kernel gentoo-sources-2.6.16-r7. Hasta ahí bien. Pues bien, me da por hacer un hdparm -i /dev/hda y me encuentro con que está usando udma 33, equivalente a udma2, y encima, es el máximo que soporta. No dando crédito a lo que veía me pongo a trastear.

Lo primero que hago es mirar mi cableado de los buses y me encuentro la gran sorpresa, me han puesto un cable de 40 pines conectando el disco duro al ide, en lugar de uno de 80, con lo cual se fuerza el udma a 33. El cable de la grabadora y cdrom del otro bus sí que es de 80 pines. Así que los cambio y reinicio. Nada, todo sigue igual.

Revisando algunos foros, pruebo a añadir la opción CONFIG_IDEDMA_IVB=y al kernel. Así como pasarle el parámetro al grub (en el grub.conf): ide0=ata66.

Reinicio y por fin hay suerte. Ya tengo udma5 activado. Las pruebas de velocidad (hdparm -tT /hda) reportan una velocidad de aproximadamente el doble a lo que obtenía antes, obteniendo unos 54.75 mb/s de lectura (Timing buffered disk reads).

Ahora el problema es que estoy forzando la grabadora y el lector a udma 33, así que tendré que conseguir otro cable de 80 pines, para quitar ese cuello de botella, pero vamos, eso está hecho, un paseo por la tienda y se acabó.