Logo de AulaDigital

CDRom Como 4

CDROM-COMO: Instalación Anterior Siguiente Indice

4. Instalación

La instalación de un CD-ROM bajo Linux incluye los siguientes pasos:

  1. Instalar el hardware
  2. Configurar y recompilar el núcleo
  3. Crear los ficheros de dispositivo (device files) y ajustar los parámetros temporales de arranque (boot time parameters)
  4. Arrancar con el nuevo núcleo
  5. Montar la unidad

Vamos a seguir paso a paso este proceso:

4.1 Instalación del Hardware

Siga detenidamente la guía de instalación del fabricante o consiga que su distribuidor, o algún amigo, le instale la unidad. Los detalles variarán dependiendo de si la unidad es interna o externa, y según el tipo de interfase empleada. Linux no requiere ningún tipo de instalación especial. Asegúrese de ajustar correctamente los jumpers (puentes) de la unidad y/o de la interfase; algunos controladores del núcleo proporcionan información al respecto en sus archivos README.

Tal y como viene explicado en el fichero ide-cd, las unidades ATAPI deben de estar configuradas como "single" o "master", y nunca como "slave" cuando solamente hay un dispositivo IDE conectado a la interfase (aunque esta limitación desaparece con los núcleos más recientes).

4.2 Configuración y Construcción del Núcleo

Para instalar Linux desde un CDROM, seguramente emplee un disco llamado "boot" y otro llamado "root" (o similares) que vienen incluidos en la distribución. Si es posible, escoja un disco de arranque (boot) que posea el controlador adecuado para su unidad. Si le resulta imposible encontrar un disco de arranque con el controlador preciso, tiene varias opciones:

  1. Instalar Linux a través de una red.
  2. Arrancar el DOS, y volcar los ficheros de Linux al disco duro.
  3. Arrancar DOS, y crear una serie de discos que utilizará para instalar Linux.
  4. Encontrar a alguien que le construya un disco de arranque con el controlador que Vd. necesita.

En http://sunsite.unc.edu/LDP/HOWTO/Installation-HOWTO.html encontrará más información sobre la instalación de Linux.

Si ha adquirido una distribución de Linux en CDROM, seguramente incluirá las instrucciones precisas para su instalación (impresas en el folletín de la caja y/o en algún fichero del disco).

Una vez que Linux ha sido instalado, probablemente querrá recompilar el núcleo. Hay varias razones para ello:

  • para el habilitar el soporte del CDROM y demás hardware
  • para actualizarse a una nueva versión del núcleo
  • para liberar recursos de memoria, minimizando el tamaño del núcleo

Consulte el http://sunsite.unc.edu/LDP/HOWTO/Kernel-HOWTO.html o su traducción al castellano, el http://www.insflug.org/howtos/online/kernel/Kernel-Como.html para más información al respecto. Aquí nos limitaremos a los aspectos relacionados con el CDROM.

Obviamente, deberá compilar el soporte para su unidad de CD-ROM al hacer "make config".

Si tiene una unidad ATAPI, deberá contestar afirmativamente, es decir, y(es) a las siguientes preguntas:

Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?]
Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [Y/n/?]

Para unidades SCSI CD-ROM, serán las opciones:

SCSI support (CONFIG_SCSI) [Y/n/m/?]
SCSI CD-ROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]

No olvide configurar el soporte para la controladora SCSI, p.e:

Adaptec AHA152X support (CONFIG_SCSI_AHA152X) [Y/n/m/?]

Para las unidades propietarias, seleccione el controlador correspondiente. Puede servirse de la tabla anterior para determinar el controlador que ha de emplear.

Virtualmente, todos los CDROM trabajan con el sistema de ficheros ISO-9660, por lo que será imprescindible habilitar la opción:

ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]

Aunque no es imprescindible (en lo que al funcionamiento del CDROM respecta), si tiene una tarjeta de sonido soportada por Linux, probablemente deseará habilitarla y configurar el controlador de sonido. Para ello, le será de gran interés y utilidad consultar el http://sunsite.unc.edu/LDP/HOWTO/Sound-HOWTO.html; o su traducción, http://www.insflug.org/howtos/online/sonido/Sonido-Como.html.

Luego, continúe con el procedimiento habitual de compilación e instalación del núcleo. No arranque el nuevo núcleo hasta que haya creado los ficheros de dispositivo y ajustado los parámetros temporales de arranque, tal y como se describe en la siguiente sección.

El sistema de ficheros ISO-9660 y la práctica totalidad de los controladores se pueden compilar como módulos cargables. Ello hará que los controladores se carguen y descarguen de la memoria sin tener que reinicializar el sistema, con lo que liberaremos memoria. Al principio, recomendaría incluir los controladores de CD-ROM compilados en el núcleo. Para más información acerca de cómo utilizar los módulos, le vuelvo a referir al http://www.insflug.org/howtos/online/kernel/Kernel-Como.html.

Si su núcleo no soporta alguna de las unidades detalladas, quizás debería actualizarse a una versión más reciente.

Si necesita alguno de los controladores que no vienen incluidos con el núcleo, seguramente lo podrá encontrar como parche: de nuevo le remito al http://www.insflug.org/howtos/online/kernel/Kernel-Como.html

Hay un programa que le ayudará a configurar el núcleo por medio de menús: make menuconfig. Y otro basado en las X11: make xconfig. Los tres métodos proporcionan las indicaciones oportunas.

4.3 Creación de los Ficheros de Dispositivo (device files) y Ajustede los Parámetros Temporales de Arranque

El núcleo utiliza los ficheros de dispositivo para identificar el controlador con el que va a trabajar. En una distribución de Linux estándar, dichos ficheros de dispositivo se crean durante el proceso de instalación. En la distribución Slackware hay una utilidad de configuración por medio de menús que incluye la configuración del CD-ROM. Casi todos los sistemas cuentan con el script /dev/MAKEDEV. O puede seguir el procedimiento que se detalla a continuación. Si emplea alguno de los métodos anteriores, también le sera de gran utilidad confrontar sus ficheros de dispositivo con la información de esta sección.

Para crear los ficheros de dispositivo, tendrá que introducir desde el la línea de comandos las órdenes adecuadas para su unidad. Esta tarea habrá de ser realizada en modo root (superusuario). Téngase en cuenta que algunas distribuciones utilizan nombres distintos a los citados para los dispositivos de CD-ROM.

También es recomendable que cree un enlace simbólico a la unidad; así, le será más fácil acordarse. Por ejemplo, para una unidad IDE que sea el segundo dispositivo y se halle conectada a la interfase secundaria, el enlace se haría de la siguiente manera:

ln -s /dev/hdd /dev/cdrom

Si va a reproducir CDs de audio, bueno será que proteja el fichero de dispositivo (no el enlace simbólico) antes de permitir su lectura a todos los usuarios, así:

chmod 664 /dev/hdd
ls -l /dev/hdd
brw-rw-r--   1 root     disk      22,  64 Feb  4  1995 /dev/hdd

Cuando arranca Linux, los distintos controladores tratan de determinar si los dispositivos correspondientes se encuentran disponibles. Por lo general, lo hacen probando diferentes direcciones. La mayoría realizan la autoprueba (autoprobe) con muchas direcciones, pero a causa de las diferentes configuraciones posibles, conflictos entre dispositivos y limitaciones del hardware, los controladores necesitan a veces ayuda para poder identificar las direcciones y demás parámetros. Casi todos los controladores soportan alguna opción en la línea de comandos del núcleo, desde la cual se transfiere dicha información al controlador. Esta operación podemos realizarla de manera interactiva o, más frecuentemente, a través del gestor de arranque (boot loader). Si utiliza LILO, deberá añadir el comando append, tal y como sigue, en el fichero /etc/lilo.conf:

append = "sbpcd=0x230,SoundBlaster"

Consulte la documentación de LILO para mas información.

A continuación se detallan los aspectos relativos a los diferentes controladores, incluyendo los ficheros de dispositivo, los parámetros de arranque y las posibilidades de éstos. Es probable que sólo necesite leer el apartado referido a su unidad. Los archivos README se encuentran habitualmente en el directorio /usr/src/linux/Documentation/cdrom.

Controlador sbpcd

          Autor principal: Eberhard Moenkeberg (emoenke@gwdg.de)
     Soporta Multi-sesion: si (pero no todas las unidades)
  Soporta Varias Unidades: si
  Soporta Carga en Modulo: si
         Lectura de Audio: si (la CR-562, CR-563 y CD-200 unicamente)
              Auto-prueba: si
   Fichero de Dispositivo: /dev/sbpcd, mayor 25
 Fichero de Configuracion: sbpcd.h
        Opcion del Nucleo: Matsushita/Panasonic CDROM support?
           Archivo README: sbpcd

Línea de comandos del núcleo:

sbpcd=<direccion-E/S>,<tipo-de-interfase>

El primer parámetro es la dirección base del dispositivo (p.e. 0x230), y el tipo-de-interfase podrá ser "SoundBlaster", "LaserMate", o "SPEA". Consulte el archivo sbpcd.h para más información acerca del tipo de interfase empleada. Con sbpcd=0 desactivará la auto-prueba, así como la unidad.

Creación del Fichero de Dispositivo:

# mknod /dev/sbpcd b 25 0

El SBPCD es capaz de soportar hasta cuatro unidades por controlador. Las otras tres unidades del primer controlador utilizarán por orden los números 1, 2 y 3 (en vez de 0). Con más de un controlador, los archivos de dispositivo tendrán como número máximo 26, 27, y 28, así hasta un máximo de cuatro controladores (osea, 16 CDROM en total; afortunadamente, suele ser suficiente para la mayor parte de los usuarios :-).

Más información acerca de este controlador en el archivo sbpcd.

Si ha comprado su CDROM recientemente, no presuponga que ha de emplear este controlador sólo porque se conecte a una tarjeta SoundBlaster. Casi todas las unidades que se venden actualmente son IDE/ATAPI.

Controlador Sonycdu535

          Autor Principal: Ken Pizzini (ken@halcyon.com)
     Soporta Multi-Sesion: no
  Soporta Varias Unidades: no
  Soporta Carga en Modulo: si
         Lectura de Audio: no
              Auto-Prueba: no
   Fichero de Dispositivo: /dev/sonycd535, mayor 24              
 Fichero de Configuracion: sonycd535.h
        Opcion del Nucleo: Sony CDU535 CDROM support?
          Archivo  README: sonycd535

Línea de comandos del núcleo:

sonycd535=<direccion-E/S>

donde direccion-E/S es la dirección base del controlador (p.e.. 0x320). También puede fijarla dentro del fichero sonycd535.h y compilarlo con ella.

Fichero de Dispositivo:

mknod /dev/sonycd535 b 24 0

Algunas distribuciones utilizan /dev/sonycd para dicha unidad. Las versiones más antiguas del controlador usan como mayor de dispositivo 21; compruebe si el fichero de dispositivo está correctamente fijado.

Antiguamente, este controlador se distribuía como parche, pero ahora se incluye en el núcleo estándar. Para más información, lea el archivo sonycd535.

Controlador Cdu31a

          Autor Principal: Corey Minyard (minyard@-rch.cirr.com)
     Soporta Multi-Sesion: si
  Soporta Varias Unidades: no
  Soporta Carga en Modulo: si
         Lectura de Audio: si
              Auto-Prueba: no
   Fichero de Dispositivo: /dev/cdu31a, mayor 15
 Fichero de Configuracion: cdu31a.h
        Opcion del Nucleo: Sony CDU31A/CDU33A CDROM support?
          Archivo  README: cdu31a

Línea de comandos del núcleo:

cdu31a=<direccion-E/S>,<interrupcion>,PAS

El primer número es la dirección base E/S de la tarjeta (p.e. 0x340). El segundo es el número de interrupción empleada (0 para polled E/S). El tercer parámetro, opcional, deberá ser "PAS" si la unidad esta conectada a una tarjeta Pro-Audio Spectrum 16; si no, déjese en blanco.

Si carga el controlador como módulo, el formato variará ligeramente. Para cargarlo, mediante el comando modprobe o insmod, los parámetros serán:

cdu31a_port=<direccion-E/S> cdu31a_irq=<interrupcion>

La dirección base de E/S es imprescindible. El número de interrupción es opcional.

Fichero de Dispositivo:

mknod /dev/cdu31a b 15 0

Para más información, consulte el fichero cdu31a.

También puede visitar la página de Jeffrey Oxenreider ( zureal@infinet.com), donde se describen los problemas más frecuentes que suelen ocurrir con unidades: http://www.infinet.com/~zureal/cdu31a.html.

Controlador Aztcd

         Autor Principal: Werner Zimmermann (zimmerma@rz.fht-essliwgen.de)
    Soporta Multi-Sesion: si
 Soporta Varias Unidades: no
 Soporta Carga en Modulo: si
        Lectura de Audio: no
             Auto-Prueba: no
  Fichero de Dispositivo: /dev/aztcd0, mayor 29
Fichero de Configuracion: aztcd.h
       Opcion del Nucleo: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support?
          Archivo README: aztcd

Línea de comandos del núcleo:

aztcd=<direccion-E/S>

...donde el parámetro no es otro que la dirección base de E/S de la tarjeta (p.e. 0x340).

Fichero de Dispositivo:

mknod /dev/aztcd0 b 29 0

Téngase en cuenta que este controlador funciona exclusivamente con la unidad CDA268-01A. Otros modelos, como el CDA268-03I y CDA269-031SE no son propietarios, y emplean el controlador del núcleo IDECD (ATAPI).

Para mas información, consulte el archivo aztcd

Controlador Gscd

          Autor Principal: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
     Soporta Multi-Sesion: no
  Soporta Varias Unidades: no
  Soporta Carga en Modulo: si
         Lectura de Audio: no
              Auto-Prueba: no
   Fichero de Dispositivo: /dev/gscd0, mayor 16
 Fichero de Configuracion: gscd.h
        Opcion del Nucleo: Goldstar R420 CDROM support?
         Archivo   README: gscd

Línea de comandos del núcleo:

gscd=<direccion-E/S>

...especificando la dirección base de E/S de la tarjeta (e.g. 0x340).

Fichero de Dispositivo:

mknod /dev/gscd0 b 16 0

Más información en el archivo gscd y en la página Web: http://linux.rz.fh-hannover.de/~raupach/.

Controlador Mcd

         Autor Principal: Martin  (martin@bdsi.com)
     Soporta Multi-Sesion: no
  Soporta Varias Unidades: no
  Soporta Carga en Modulo: si
         Lectura de Audio: no
              Auto-Prueba: no
   Fichero de Dispositivo: /dev/mcd, mayor 23
 Fichero de Configuracion: mcd.h
        Opcion del Nucleo: Standard Mitsumi CDROM support?
         Archivo   README: mcd

Este es el controlador más antiguo para unidades Mitsumi. Quizás prefiera probar otro más reciente, mcdx, que ofrece más prestaciones, aunque probablemente sea menos estable.

Línea de comandos del núcleo:

mcd=<direccion-E/S>,<irq>

...especificando la dirección base de E/S de la tarjeta (e.g. 0x340) y el número de la interrución IRQ.

Fichero de Dispositivo:

mknod /dev/mcd b 23 0

Encontrará más información en el archivo mcd.

Controlador Mcdx

          Autor Principal: Heiko Schlittermann
     Soporta Multi-Sesion: si
  Soporta Varias Unidades: si
  Soporta Carga en Modulo: si
         Lectura de Audio: no (el hardware lo soporta)
              Auto-Prueba: no
   Fichero de Dispositivo: /dev/mcdx0, mayor 20
 Fichero de Configuracion: mcdx.h
        Opcion del nucleo: Experimental Mitsumi support?
          Archivo  README: mcdx

Es el controlador más reciente para unidades Mitsumi. El antiguo, seguramente más estable, es el mcd.

Línea de comandos del núcleo:

mcdx=<direccion-E/S>,<irq>

...especificando la dirección base de E/S de la tarjeta (e.g. 0x340) y el número IRQ.

Fichero de dispositivo:

mknod /dev/mcdx0 b 20 0

Si ha comprado recientemente un CD-ROM Mitsumi, no presuponga que tenga que usar este controlador. Hay muchos modelos Mitsumi que son EIDE/ATAPI, por lo que emplean controlador idecd.

Más información en el archivo mcdx

Controlador Cm206

          Autor Principal: David A. van Leeuwen (david@tm.tno.)
     Soporta Multi-Sesion: si
  Soporta Varias Unidades: no
  Soporta Carga en Modulo: si
         Lectura de Audio: no
              Auto-Prueba: si
  Fichero de Dispositivo: /dev/cm206cd, mayor 32
 Fichero de Configuracion: cm206.h
        Opcion del Nucleo: Philips/LMS CM206 CDROM support?
          Archivo  README: cm206

Línea de comandos del núcleo:

cm206=<direccion-E/S>,<interrupcion>

...donde el primer número es la dirección base de E/S de la tarjeta (e.g. 0x340) y el segundo, el canal de interrupción.

Fichero de Dispositivo:

mknod /dev/cm206cd b 32 0

Más información en el archivo cm206.

Controlador Optcd

          Autor Principal: Leo Spiekman (spiekman@dutette.et.tudelnt.nl)
     Soporta Multi-Sesion: si
  Soporta Varias Unidades: no
  Soporta Carga en Modulo: si
         Lectura de Audio: no
              Auto-Prueba: no
   Fichero de Dispositivo: /dev/optcd0, mayor 17
 Fichero de Configuracion: optcd.h
        Opcion del Nucleo: Experimental Optics Storage ... CDROM support?
          Archivo  README: optcd

Línea de comandos del núcleo:

optcd=<direccion-E/S>

...donde especificará la dirección base de E/S de la tarjeta (p.e. 0x340).

Fichero de Dispositivo:

mknod /dev/optcd0 b 17 0

Más información acerca de este controlador en el archivo optcd.

Controlador Sjcd

          Autor Principal: Vadim V. Model (vadim@rbrf.msk.su)
     Soporta Multi-Sesion: no
  Soporta Varias Unidades: no
  Soporta Carga en Modulo: si
         Lectura de Audio: no
              Auto-Prueba: no
   Fichero de Dispositivo: /dev/sjcd, mayor 18
 Fichero de Configuracion: sjcd.h
        Opcion del Nucleo: Experimental Sanyo H94A CDROM support?
          Archivo README : sjcd

Línea de comandos del núcleo:

sjcd=<direccion-E/S>,<interrupcion>,<dma>

...indicando la dirección base, interrupción, y canal DMA (p.e. sjcd=0x340,10,5).

Fichero de Dispositivo:

mknod /dev/sjcd b 18 0

Lea el archivo sjcd para más información.

Controlador Bpcd

          Autor Principal: Grant R. Guenther (grant@torque.net)
     Soporta Multi-sesion: desconocido
  Soporta Varias Unidades: no
  Soporta Carga en Modulo: si
         Lectura de Audio: no
              Auto-Prueba: si
   Fichero de dispositivo: /dev/bpcd, mayor 41
 Fichero de Configuracion: bpcd.h
        Opcion del Nucleo: MicroSolutions backpack CDROM support?
      Archivo README file: bpcd

Línea de comandos del núcleo:

bpcd=<direccion-E/S>

...indicando la dirección base empleada (p.e. bpcd=0x3bc).

Fichero de Dispositivo:

mknod /dev/bpcd b 41 0

Este controlador se incluye con la versión 2.1 del núcleo. Consulte asimismo el archivo bpcd.

Controlador SCSI

          Autor Principal: David Giller
     Soporta Multi-Sesion: si (dependiendo de la unidad)
  Soporta Varias Unidades: si
  Soporta Carga en Modulo: si
         Lectura de Audio: no
              Auto-Prueba: si
   Fichero de Dispositivo: /dev/scd0, mayor 11
 Fichero de Configuracion: cdrom.h
        Opcion del Nucleo: SCSI CDROM support?
           Archivo README: inexistente

Hay una línea de comandos del núcleo específica para cada tipo de controladora SCSI. Más información en el documento http://sunsite.unc.edu/LDP/HOWTO/SCSI-HOWTO.html.

Sí se soportan múltiples unidades (el número máximo de dispositivos dependerá de la capacidad del bus). Determine los ficheros de dispositivo con un numero máximo de 11 y los mínimos empezando desde cero:

mknod /dev/scd0 b 11 0
mknod /dev/scd1 b 11 1

Aunque el controlador de por sí no tiene capacidad de lectura de audio, hay unidades SCSI que sí poseen dicha característica y funcionarán con el programa cdda2wav o readcdda (empleando la interfase SCSI genérica del núcleo).

Controlador IDECD

           Autor Principal: Scott Snyder (snyder@fnald0.fnal.gov)
     Soporta Multi-Sesion: si
  Soporta Varias Unidades: si
  Soporta Carga en Modulo: no
         Lectura de Audio: si (si la unidad lo soporta)
              Auto-Prueba: si
   Fichero de Dispositivo: /dev/hd{a,b,c,d},  mayor 22
 Fichero de Configuracion: cdrom.h
        Opcion del Nucleo: Include support for IDE/ATAPI CDROMs?
          Archivo  README: ide-cd

Este es el controlador para unidades ATAPI. Su línea de comandos del núcleo será de la forma:

hdx=cilindros,cabezas,sectores,wpcom,irq
  o
hdx=cdrom

...donde hdx será una de las siguientes: hda,hdb,hdc,hdd, o "hd", para la "siguiente" unidad (en dicha secuencia). Sólo son imprescindibles los tres primeros parámetros (cilindros, cabezas,sectores). Por ejemplo hdc=1050,32,64 hdd=cdrom.

A veces puede ser complicado el que el controlador reconozca su unidad, especialmente si posee más de 2 dispositivos o más de una controladora IDE. Por lo general, basta con pasar la línea de comandos correcta desde LILO. Cómo hacer esto se explica en el archivo /usr/src/linux/Documentation/ide-cd. Léalo atentamente.

El soporte para múltiples dispositivos IDE ha ido mejorando con las últimas versiones del núcleo. Si tiene problemas con su antiguo núcleo, le puede ser de ayuda actualizarlo.

Algunas controladoras IDE presentan problemas de hardware que el controlador del núcleo es capaz de solucionar. Para ello deberá introducir más parámetros adicionales. Le remito a la documentación.

4.4 Arrancando el Núcleo

Ahora ya puede reinicializar el sistema con el nuevo núcleo. Debería leer un mensaje indicando que el controlador ha identificado a la unidad (el mensaje variará con cada modelo):

hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive

Si los mensajes del arranque se suceden demasiado rápido para poder leerlos, puede revisarlos tecleando dmesg o tail /var/adm/messages.

Si no ha identificado la unidad, algo falla. Consulte la sección Problemillas.

4.5 Montando, Desmontando y Extrayendo

Para montar un CD-ROM, inserte el disco en la unidad y ejecute el comando mount siendo root (asumo que ya ha creado el enlace simbólico a su fichero de dispositivo, como recomendaba anteriormente, y que existe el directorio donde montarlo llamado /mnt/cdrom):

mount -t iso9660 -r /dev/cdrom /mnt/cdrom

Ahora ya puede acceder al CD, en el directorio /mnt/cdrom.

El comando mount soporta más opciones. Consulte la página mount(8) del manual.

Puede añadir una línea en archivo /etc/fstab para que el CD-ROM se monte automáticamente al arrancar o para especificar los parámetros a emplear cuando se monte; consulte la página man fstab(5).

Ojo: para reproducir CDs de audio, no monte la unidad.

Para desmontar un CD-ROM, utilice el comando umount en modo root:

umount /mnt/cdrom

El disco podrá ser desmontado únicamente si no hay ningún proceso accediendo a la unidad (lo que incluye el hecho de que el directorio en que se encuentre sea del CD-ROM). Entonces ya podrá extraer el disco. Casi todas las unidades tienen un botón de extracción; también hay un programa que realiza esta tarea. Se llama eject: ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/eject-1.4.tar.gz.

No intente extraer el disco mientras la unidad esté montada (lo cual será o no posible, dependiendo del tipo de unidad). Algunos controladores pueden extraer automáticamente el CD-ROM cuando se desmonta, e introducir la bandeja cuando se monta. Esta característica puede desactivarse a la hora de compilar el núcleo, o bien mediante los comandos adecuados.

Es posible que no pueda montar ningún CD-ROM después de haber reproducido un disco de audio. Debe antes enviar un comando "stop" mediante un programa reproductor de CDs. Esto sólo parece ocurrir con el controlador SBPCD.

Stephen Tweedie ( sct@dcs.ed.ac.uk) ha escrito el paquete Supermount, para gestionar de manera transparente el montado de dispositivos extraíbles, incluyendo CD-ROM. Lo puede encontrar vía ftp: ftp://sunsite.unc.edu/pub/Linux/patches/diskdrives/.

4.6 Problemillas

Si después de seguir las instrucciones detalladas, aún tiene problemas con su unidad, es hora de hacer una serie de comprobaciones. Vienen descritas en orden creciente de complejidad. Si detecta fallos a la hora de realizar alguna de las comprobaciones, solucione ese problema antes de pasar a la siguiente.

Primero: Asegúrese de haber arrancado con el núcleo recién compilado

Puede verificar la fecha del núcleo para asegurarse de estar corriendo el núcleo que ha compilado con soporte para CD-ROM, con el comando uname:

uname -a
Linux fizzbin 2.0.18 #1 Fri Sep 6 10:10:54 EDT 1996 i586

...o también leyendo el archivo /proc/version:

cat /proc/version
Linux version 2.0.18 (root@fizzbin) (gcc version 2.7.2) #1 Fri Sep 6 10:10:54 EDT 1996

Si ve que la fecha no coincide con la de construcción y compilación del núcleo, es que todavía esta corriendo la versión antigua. ¿Seguro que ha reinicializado el sistema? Si utiliza LILO, ¿lo ha reinstalado (ejecutando /sbin/lilo)? Si arranca desde un disco, ¿ha creado un nuevo disco de arranque y lo ha estrenado?

Segundo: Compruebe que los controladores estén incluidos en elnúcleo.

Puede ver una lista de los controladores compilados en el archivo /proc/devices:

cat /proc/devices
Character devices:
 1 mem
 2 pty
 3 ttyp
 4 ttyS
 5 cua
 7 vcs

Block devices:
 3 ide0
22 ide1

En primer lugar, busque el controlador de dispositivo de su CD-ROM: en la columna Block devices. En el ejemplo, vemos el controlador idecd cuyo número mayor es 22.

Asegúrese de que también ha compilado el soporte para el sistema de ficheros ISO-9660, leyendo el archivo /proc/filesystems:

cat /proc/filesystems
        ext2
        msdos
nodev   proc
        iso9660

En el archivo /proc/ioports encontrará las direcciones (E/S) de los puertos utilizados por los controladores:

cat /proc/ioports
 ...
0230-0233 : sbpcd
 ...

Si alguno de los controladores que Ud. creía haber compilado no aparece, es que algo ha ido mal durante el proceso de configuración y/o construcción del núcleo. Tendrá que comenzar de nuevo.

Tercero: Compruebe que el núcleo detecta la unidad durante el arranque

Cerciórese de que el CD-ROM fue detectado durante el proceso de arranque del núcleo. Debiera leer algún mensaje al respecto. Si los mensajes se suceden y salen de la pantalla, puede revisarlos con el comando dmesg:

dmesg

o

tail /var/adm/messages

Si la unidad no fue detectada, algo ha fallado... Houston :) Compruebe que está enchufada y que los cables están bien conectados. Si dispone de jumpers para las direcciones, verifique sus posiciones (p.e. drive 0 si sólo tiene una unidad). Los CD-ROM ATAPI deben tener los jumpers en modo "single" o "master", y nunca en "slave" cuando solamente hay un dispositivo IDE conectado a la interfase. Si la unidad funciona bajo DOS, es que no hay fallos en el hardware.

Muchos controladores llevan a cabo auto-prueba, pero los hay que no. En cualquier caso, no es infalible. Tendrá que utilizar la línea de comandos detallada para su unidad. Puede que tenga que probar con muchos valores de direcciones de E/S si no está seguro. Se puede configurar LILO (es lo más frecuente) para poder introducir los parámetros manualmente al arrancar.

Otra posibilidad es que no esté utilizando el controlador adecuado. Algunos manuales refieren sus interfases propietarias como IDE, induciendo al error de suponer que se trata de unidades ATAPI.

También es posible que su unidad (o la interfase de la tarjeta) sea una de esas del tipo "compatible" que precisa inicializarse con el controlador del DOS. Inténtelo arrancando el DOS y cargando el controlador suministrado con la unidad. Luego, arranque Linux presionando Control-Alt-Suprimir.

Si su unidad no es ninguna de las citadas, puede que no haya ningún controlador disponible bajo Linux. Para más información al respecto, lea las Referencias que encontrará al final de este documento.

Cuarto: Compruebe si puede leer información desde la unidad

Vamos a intentarlo. Los siguientes comandos deberían provocar el encendido de la lucecita de la unidad (si la hay, claro) y no debería haber mensajes de error. Utilice el fichero de dispositivo adecuado para su unidad y asegúrese de haber insertado un CD;

salga con Control-C.

dd if=/dev/cdrom of=/dev/null bs=2048
^C
124+0 records in
124+0 records out

Si ha funcionado, es que el núcleo se está comunicando con la unidad y puede pasar a la siguiente comprobación.

Si no, puede que haya algún error en el fichero de dispositivo. Asegúrese de que éste se encuentra en el directorio /dev y que sus números mayor y menor son correctos. Los permisos del fichero deben de estar fijados tanto para lectura como para escritura.

Existe una posibilidad remota de fallo del hardware. Si es posible, evalúela desde el DOS.

Quinto: Pruebe a montar un CD-ROM

Si puede leer desde la unidad, pero no puede montarla, compruebe antes de nada que ha compilado el sistema de ficheros ISO-9660, leyendo el archivo /proc/filesystems, tal y como se ha descrito anteriormente.

Ha de montar la unidad con los parámetros "-t iso9660" y la opción "-r". El CD debe estar formateado con el sistema de ficheros ISO-9660. El montado de CDs ha de hacerse en siendo root.

Compruebe que el directorio en el cual se monta la unidad existe. Si monta la unidad durante el arranque, asegúrese de que las instrucciones del archivo /etc/fstab son correctas. Si ha cargado el demonio syslog, es probable que haya mensajes de error del núcleo que no ha visto. Pruebe con "dmesg":

dmesg
SBPCD: sbpcd_open: no disk in drive

Quizás hay algún mensaje de error en los ficheros en /var/adm/, dependiendo de cómo esté configurado su sistema.

Problemas con el sonido

Si la unidad funciona bien con CD-ROMs, pero no reproduce CDs de audio, aquí encontrará algunas de las soluciones posibles. En primer lugar, necesitará un programa para la reproducción de CDs de audio. Es posible que no todos los programas sean compatibles con su unidad. Pruebe con otra aplicación, o intente recompilarla. Un buen sitio para buscar software es ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/.

Unos pocos controladores no tienen soporte para audio. Compruebe el archivo README o el código fuente para ver si se da el caso.

Compruebe si se escucha el audio por medio de unos auriculares conectados a la salida externa de la unidad. Si se escucha, el problema está en la tarjeta de sonido. Con un programa mezclador (mixer) podrá ajustar tanto la entrada como el volumen. Asegúrese de que tiene instalado el cable de audio que conecta el CD-ROM con la tarjeta de sonido. Verifique el correcto funcionamiento del controlador de la tarjeta de sonido. Más información al respecto en http://www.insflug.org/howtos/online/sonido/Sonido-Como.html.

Nada, Que sigue fallando...

Si aún tiene problemas, puede:

  • releer meticulosamente el documento.
  • consultar las referencias que hay al final de este escrito, especialmente las que se refieren a los archivos README de los fuentes del núcleo.
  • enviar una pregunta a alguno de los grupos de noticias comp.os.linux, (en castellano es.comp.os.linux)
  • enviar una pregunta a la Lista de Correo de Linux
  • probar con la última versión del núcleo
  • contactar con su distribuidor (del equipo)
  • contactar con el distribuidor del CD-ROM
  • enviar un mensaje al responsable del controlador del núcleo (busque en el archivo /usr/src/linux/MAINTAINERS)
  • enviarme un mensaje
  • cargar el Emacs y teclear Esc-x doctor :-)


Anterior Siguiente Indice