¿Funcionará ese disco duro externo LaCie/Porsche FireWire de 160 Gb?

Si tienes Firewire, la unidad conocida como "Hard Drive LaCie design by F. A. Porsche" funcionará perfectamente en tu Linux. :-)

La mayoría de las distribuciones modernas deberían reconocerlo automáticamente sin necesidad de hacer nada. Pero siempre hay excepciones, y puede que haya todavía alguna que necesite de algunos ajustes a mano.

Para ello solo tienes que enchufar el disco duro a tu puerto FireWire, enchufar a la red eléctrica, y cargar los módulos del kernel por orden:

[root@claudia:~]# modprobe ieee1394
[root@claudia:~]# modprobe raw1394 #esto es opcional
[root@claudia:~]# modprobe ohci1394
[root@claudia:~]# modprobe sbp2

(Naturalmente, si no tienes estos módulos, tendrás que recompilar tu kernel para activar el soporte FireWire y sus módulos).

Si ahora haces un dmesg, el kernel debería mostrarte cómo reconoce la unidad, de esta guisa:

ieee1394: Initialized config rom entry `ip1394'
ieee1394: raw1394: /dev/raw1394 device initialized
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>
ACPI: PCI interrupt 0000:00:09.3[A] -> GSI 9 (level, low) -> IRQ 9
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[9]  Max Packet=[65536]
ieee1394: Node added: ID:BUS[0-00:1023]  GUID[00d04b4a1105bfa7]
ieee1394: Host added: ID:BUS[0-01:1023]  GUID[ffffffffffffffff]
eth1394: $Rev: 1224 $ Ben Collins <bcollins@debian.org>
eth1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
eth1394: eth1: Could not allocate isochronous receive context for broadcast channel
sbp2: $Rev: 1219 $ Ben Collins <bcollins@debian.org>
scsi5 : SCSI emulation for IEEE-1394 SBP-2 Devices
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048]
  Vendor: WDC WD16  Model: 00BB-00GUA0       Rev: 08.0
  Type:   Direct-Access                      ANSI SCSI revision: 06
SCSI device sde: 312581808 512-byte hdwr sectors (160042 MB)
sde: asking for cache data failed
sde: assuming drive cache: write through
SCSI device sde: 312581808 512-byte hdwr sectors (160042 MB)
sde: asking for cache data failed
sde: assuming drive cache: write through
 /dev/scsi/host5/bus0/target0/lun0: p1 p2 p3 p4 < p5 p6 >
Attached scsi disk sde at scsi5, channel 0, id 0, lun 0
Attached scsi generic sg4 at scsi5, channel 0, id 0, lun 0,  type 0

Esto significa dos cosas: que la unidad será interpretada como un disco SCSI, y el dispositivo que le corresponde (en mi caso, /dev/sde). La unidad viene, de serie, en una única partición vfat (FAT32, si lo prefieres así). Podrías montarla con un comando del tipo "mount /dev/sde1 /mnt/pruebas -t vfat -o rw". Sin embargo, en todas partes te recomiendan que la reparticiones y formatees a tu gusto, a ser posible con un sistema de ficheros más decente que vfat. Yo hice un "fdisk /dev/hde" y la reparticioné en cinco unidades: para copias de seguridad, para basura, para sistemas virtuales de qemu, para cosas que bajo de internet, y para cosas que comparto con el mldonkey. Todas son unidades ext3, y estoy encantado.

El Firewire tiene un pequeño detalle que puede desconcertarte. Si reseteas el ordenador, es posible que la próxima vez no reconozca el disco externo, y se limite a notificarte la carga del último módulo con una única línea, pero sin especificar absolutamente nada que haga referencia a SCSI:

sbp2: $Rev: 1219 $ Ben Collins <bcollins@debian.org>

De hecho, si reseteas una y otra vez, es posible que la unidad sea reconocida a veces sí, y a veces no, de forma caótica. Eso sí, las veces que la reconoce, funciona perfectamente y sin problemas hasta que vuelves a resetear. ¿Qué esta pasando?. Bien, lo cierto es que es la segunda vez que me encuentro con algo parecido (la otra fue con un escaner SCSI Mustek). Parece ser que los sistemas SCSI a veces se "olvidan" de comprobar si el disco o lo que sea sigue ahí, así que asumen que sí o que no, según algún tipo de señal que manejan en el arranque. La solución es sencillísima: solo hay que enviarle al sistema SCSI un comando que le indique que lo vuelva a comprobar. Es comando es:

[15:07:52/0][root@claudia:~]# echo "scsi add-single-device 0 0 0 0" > /proc/scsi/scsi

Si comprobamos nuestro dmesg, veremos que ahora sí se detecta correctamente y que empieza a funcionar. Naturalmente, si queremos que el disco sea reconocido en el arranque, tendremos que meter estos comandos en los scripts de arranque. En el caso de Gentoo, tendrás que meter los módulos en el fichero /etc/modules.autoload.d/kernel-2.6 (solo los módulos, no el comando modprobe), y en cuanto al comando "echo", puedes ponerlo en /etc/conf.d/local.start, que para eso está.

Actualización: Hace ya mucho tiempo que vengo notando que mi Gentoo reconoce el disco FireWire en todos los arranques. Parece que alguna de las actualizaciones que hago automáticamente ha corregido ese problema y ahora va todo como la seda. Que lo sepas. Es de suponer que en las demás distribuciones habrá ocurrido otro tanto de lo mismo, porque seguramente ha sido algún cambio en el kernel.

Be Sociable, Share!

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.