<!-- 0,1 -->
<!-- CDRom,0 -->
<!-- Jeff,Tranter,jeff_tranter@pobox.com -->
<!-- 1.12,1997-11-01 -->
<!-- CDRom -->
<!-- Carlos,Fernández Moro,uov00655@correo.uniovi.es -->
<!-- 1.0,1998-03-08 -->
<!-- CDrom,CDAudio,Lector CD,CD -->
<!-- Hardware,Almacenamiento,CDRom -->

<!doctype linuxdoc system>

<article>

<title>CDROM-COMO

<author>Jeff Tranter, <tt><htmlurl
url="mailto:jeff&lowbar;tranter@pobox.com" 
name="jeff&lowbar;tranter@pobox.com"></tt> &nl; Traducido por Carlos
Fernández Moro, <tt><htmlurl url="mailto:uov00655@correo.uniovi.es"
name="uov00655@correo.uniovi.es"></tt>

<date>v1.12, 1 November 1997

<abstract>
Esta es la traducción del CD-ROM-HOWTO. En este documento se explica la
manera de instalar, configurar y utilizar unidades de CD-ROM bajo Linux. 
Incluye una lista de los modelos soportados y las respuestas a las PUFs
(Preguntas de Uso Frecuente).  La intención no es otra que la de capacitar
a los usuarios noveles a un nivel básico y aligerar la correspondencia en
los grupos de noticias de Usenet y listas de correo.
</abstract>

<toc>

<sect>Introducción
<p>

Este es el CDROM-COMO. Pretende ser una guía de referencia rápida,
abarcando todo lo que Vd. necesita saber para poder instalar y configurar
una unidad de CD-ROM bajo Linux. También se da respuesta a las preguntas
más comunes acerca de el CD-ROM, y se incluyen notas de referencia a otras
fuentes de información relacionadas con las aplicaciones del CD-ROM y su
tecnología. 

<sect1>Fuentes de Información
<p>

La mayor parte de esta información proviene de los archivos de código y
documentación suministrados con el núcleo de Linux, las FAQ del grupo de
noticias de Usenet <tt><htmlurl url="news:alt.cd-rom" 
name="alt.cd-rom"></tt> y colaboraciones de usuarios linuxer*s.

Gracias al paquete <tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/utils/text/sgml-tools-0.99.0.tar.gz" 
name="ftp://sunsite.unc.edu/pub/Linux/utils/text/sgml-tools-0.99.0.tar.gz"></tt>,
este COMO está disponible en numerosos formatos, todos ellos generados a
partir de un mismo fichero de texto.

<sect1>Repaso Histórico
<p>

<descrip>
<tag>Versión 1.0</tag>Primera versión de este documento disponible al
público. 

<tag>Versión 1.1</tag>A partir de la versión 1.1.20 del núcleo, queda
soportada de manera explícita la unidad CDU33A; Reveal FX; acerca de la
lectura de pistas de audio; versiones alfa de algunos controladores 
(<it/drivers/); añadida la sección Problemillas; otros añadidos de menor
importancia. 

<tag>Versión 1.2</tag>A partir del núcleo 1.1.33, el sistema de ficheros
ISO-9660 ha de ser montado en modo sólo-lectura; queda aclarado que la
SB16 SCSI sí está soportada, mientras que las unidades Aztech no lo están;
referencias a los programas <tt/photocd/ y <tt/xpcd/; comentarios acerca
de la nueva característica de auto-extracción del controlador SBPCD.

<tag>Versión 1.3</tag>Notas sobre la auto-extracción del controlador SBPCD
a partir del núcleo 1.1.49; acerca de los discos XA y su identificación. 

<tag>Versión 1.4</tag>Traducciones de este documento a otros idiomas; el
SBPCD ofrece soporte para unidades IBM y Longshine; versión alfa del
controlador para unidades Aztech; controlador CDU-33 sin auto-prueba, y
con soporte para PhotoCD y audio; soporte para más de 2 unidades SCSI;
nuevo controlador para unidades IDE; se recomienda comprobar las
posiciones de los jumpers de la unidad; control de la auto-extracción del
controlador SBPCD a través de las funciones <tt/ioctl()/; lista de los
controladores con soporte para multi-sesión; pregunta acerca de el piloto
parpadeante de la CDU-33. 

<tag>Versión 1.5</tag>Esta nueva versión del documento viene con retraso
(he estado ocupado); el documento se sitúa bajo licencia pública GPL; 
nuevos controladores; más información sobre configuración y problemas; 
montones de enlaces a documentos HTML; otros cambios de menor importancia. 

<tag>Versión 1.6</tag>Enlace al programa <tt/eject/ (extracción); parche
para los permisos de ficheros; enlace a la página Web de Creative Labs; 
referencia al FTP y FAQs de ATA/EIDE; nótese que muchas de las unidades
Creative Labs y Mitsumi más recientes son EIDE; <tt/supermount/; la lista
de unidades con soporte para la lectura de CD-Audio está obsoleta, con
relación al cdda2wav; escritura de CDs; unidad EIDE multi-disco. 

<tag>Versión 1.7</tag>Nueva versión del núcleo; muchos de los archivos
README (léame) son trasladados al directorio
<tt>/usr/src/linux/Documentation</tt>; finaliza la fase experimental de
algunos controladores; nuevas unidades soportadas; insistencia en que casi
todas las unidades comercializadas hoy en día son IDE/ATAPI; se añade un
apartado sobre el soporte Plug and Play (Enchufar y Listo) e
identificación de la velocidad de la unidad; cierre de las listas de
correo <tt/vger/; otros pequeños añadidos, miscelánea.

<tag>Versión 1.8</tag>Por qué el CD-ROM deja de funcionar después de
finalizar la instalación de Linux; el controlador <tt/aztcd/ ofrece
soporte para dos unidades CyCDROM; se ruega no utilizar el controlador
SBPCD con unidades IDE; soporte para alguna intercambiadora multi-disco
ATAPI;  nótese la carencia de soporte para unidades vía puerto paralelo;
el último núcleo estable es el 2.0; miscelánea y añadidos de menor
importancia.

<tag>Versión 1.9</tag>Han sido eliminadas una serie de cuestiones muy
antiguas y actualmente obsoletas; nueva dirección de correo electrónico
del autor; ya está disponible la traducción al Chino; enlaces a puntos
donde encontrar los paquetes de software más recientes; más información en
el libro multimedia; correcciones de sintaxis y ortografía. 

<tag>Versión 1.10</tag>Queda aclarado que las nuevas unidades Aztech son
ATAPI; CDU31A como controlador modular; opción de <tt/mount/ para la
lectura de ficheros ocultos; nueva URL de la página web del libro;
correcciones sintácticas y ortográficas.

<tag>Versión 1.11</tag>Unidades vía puerto paralelo; controlador
<tt/bpcd/;  nueva URL de la traducción al Chino; controlador alternativo
CR-56x; CDs de arranque; la API del CDROM; la Guía Linux Multimedia
(<it/Linux Multimedia Guide/) ya está disponible en Francés y Japonés. 

<tag>Versión 1.12</tag>Traducción al Polaco; el documento CD-Writing ya no
es un mini-HOWTO; dos puntos acerca del sistema de ficheros Joliet. 
</descrip>

<sect1>Versiones nuevas de este documento
<p>

Las versiones nuevas de este documento serán enviadas periódicamente al
grupo de noticias <tt><htmlurl url="news:comp.os.linux.answers"
name="comp.os.linux.answers"></tt> . También se subirán a varios puntos de
ftp anónimo, incluído <tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/"
name="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/"></tt>. 

Las versiones hipertexto de éste y otros HOWTOs/COMOs de Linux se
encuentran disponibles en numerosos servidores de la World-Wide-Web,
incluido <tt><htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/" 
name="http://sunsite.unc.edu/LDP/HOWTO/"></tt>. Muchas de las
distribuciones de Linux en CDROM incluyen los HOWTOs, normalmente en el
directorio <tt>/usr/doc</tt>, y también los puede adquirir en formato
impreso. A veces los HOWTOs incluidos en CDROMs, ftps y copias impresas
vienen desfasados. Si la fecha de este COMO tiene más de 6 meses, es
probable que haya disponible una versión más reciente a través de
Internet.

La traducción al Francés de este documento, realizada por Bruno Cornec
(<tt><htmlurl url="mailto:cornec@stna7.stna.dgac.fr" 
name="cornec@stna7.stna.dgac.fr"></tt>) se encuentra en <tt><htmlurl
url="ftp://ftp.ibp.fr/pub2/linux/french/docs/HOWTO/" 
name="ftp://ftp.ibp.fr/pub2/linux/french/docs/HOWTO/"></tt>. 

La traducción al Japonés de este documento, realizada por Itsushi Minoura
(<tt><htmlurl url="mailto:minoura@uni.zool.s.u-tokyo.ac.jp"
name="minoura@uni.zool.s.u-tokyo.ac.jp"></tt>) se encuentra en
<tt><htmlurl url="http://jf.linux.or.jp/JF/JF.html/"
name="http://jf.linux.or.jp/JF/JF.html/"></tt>. 

La traducción al Chino de este documento (en código BIG-5), realizada por
Yung-kang Wu (<tt><htmlurl url="mailto:yorkwu@ms4.hinet.net"
name="yorkwu@ms4.hinet.net"></tt>) se encuentra en <tt><htmlurl
url="http://linux.ntcic.edu.tw/&tilde;yorkwu/linux/howto/cdrom/"
name="http://linux.ntcic.edu.tw/&tilde;yorkwu/linux/howto/cdrom/"></tt>. 

La traducción al Polaco, realizada por Bartosz Maruszewski (<tt><htmlurl
url="mailto:b.maruszewski@zsmeie.torun.pl" 
name="b.maruszewski@zsmeie.torun.pl"></tt>), se encuentra en <tt><htmlurl
url="http://www.jtz.org.pl/Html/CDROM-HOWTO.pl.html"
name="http://www.jtz.org.pl/Html/CDROM-HOWTO.pl.html"></tt>. 

Las traducciones de éste y otros HOWTOs de Linux también se pueden
encontrar en <tt><htmlurl
url="http://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/" 
name="http://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/"></tt> y
<tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/" 
name="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/"></tt> . 
Las traducciones al castellano, los COMOs, se encuentran, entre otros
puntos, en <tt><htmlurl url="http://www.insflug.org" 
name="http://www.insflug.org"></tt> y <tt><htmlurl
url="http://www.infor.es/LUCAS" name="http://www.infor.es/LUCAS"></tt>.

<sect1>Contacto con el autor
<p>

Le confío a Vd, lector o lectora, la utilidad y provecho de este COMO. Si
tiene alguna sugerencia, corrección o comentario, por favor, hágamelo
saber, <tt><htmlurl url="mailto:jeff&lowbar;tranter@pobox.com" 
name="jeff&lowbar;tranter@pobox.com"></tt>, e intentaré incluirlo en una
futura revisión. 

Responderé asimismo a toda pregunta general acerca del manejo del CD-ROM
bajo Linux, tan bien como me sea posible. Antes de hacerlo, por favor, lea
atentamente todo el documento y entonces, envíeme la información detallada
de su problema. Por favor, no me consulten sobre la utilización de
unidades de CD-ROM bajo otros sistemas operativos distintos de Linux. 

Si publica este documento en un CDROM u otro tipo de almacenamiento,
agradeceré una copia del mismo; puede mandarme un e-mail para pedirme la
dirección postal. Considere también la posibilidad de hacer una donación
al <it/Linux Documentation Project/ (Proyecto de Documentación de Linux). 
Contacte con el coordinador de los HOWTOs de Linux, Greg Hankins
(<tt><htmlurl url="mailto:gregh@sunsite.unc.edu"
name="gregh@sunsite.unc..edu"></tt>), para más información al respecto.

<sect1>Política de Distribución
<p>

Copyright 1995-1997 Jeff Tranter.

Este COMO se distribuye gratuitamente; Vd. puede redistribuirlo y/o
modificarlo bajo los términos de la GNU General Public License, tal como
ha sido publicado por la Free Software Foundation; a partir de la versión
2 de dicha Licencia, o (a su elección) posteriores.

Este documento se distribuye con la esperanza de que será de utilidad,
pero <bf>sin garantía alguna</bf>; carece de licencia <bf>mercantil</bf> o
de <bf>beneficio particular</bf>. Consulte la GNU General Public License
para más detalles.

Puede obtener una copia de la GNU General Public License escribiendo a la
la siguiente dirección: Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. 

<sect>La Tecnología CD-ROM
<p>

<tscreen><verb>
"El CD-ROM es una memoria de solo-lectura, y el sistema de audio de discos
compactos se halla en forma de paquetes de datos digitales para este
proposito. Para escuchar CD-Audio, por favor, inserte la clavija del
auricular."  --- extraido del manual de instrucciones de un CD-ROM
</verb></tscreen>

¡No se desespere! El mundo de la tecnología del CD-ROM no es tan
incomprensible como el manual de instrucciones de su unidad. 

CD-ROM es el acrónimo de <em>Compact Disc Read-Only Memory</em>. Es un
medio de almacenamiento masivo de datos que se sirve de un láser óptico
para la lectura de unas oquedades microscópicas que están estampadas en
la superficie de un disco de aluminio recubierto de policarbonato. 

Se basa en el mismo sistema que emplean los CDs de audio. Gracias a su
alta capacidad de almacenamiento, seguridad y bajo coste, el CD-ROM se
está convirtiendo en un medio de almacenamiento cada vez más popular.

La capacidad de almacenamiento de un disco compacto es de unos 650
megabytes, o el equivalente a algo más de 500 discos de 3.5" de alta
densidad... algo así como la friolera de unas 250.000 páginas de texto
mecanografiado. 

Las unidades de primera generación (conocidas como de velocidad sencilla; 
(<it/single speed/) proporcionaban una velocidad de transferencia de
aproximadamente 150 kilobytes/segundo. Luego los fabricantes de hardware
empezaron a desarrollar unidades de doble velocidad (2x, a 300Kb/seg.), de
cuádruple velocidad (4x, a 600Kb/seg.) y así... A la hora de escribir este
documento, ya se están fabricando unidades de 24x y su precio es bastante
asequible. 

Casi todas las unidades de CD-ROM emplean una de las siguientes
interfases: SCSI (<it/Small Computer Systems Interface/), IDE/ATAPI, o
alguna interfase propietaria del fabricante. Por lo general, pueden
reproducir CDs de audio. La salida del audio tiene lugar bien por medio de
una clavija (jack) que se inserta en un conector externo, a través de la
tarjeta de sonido, u otro medio similar. Algunos CDROM permiten la
extracción de los datos de audio en formato digital.

Los CD-ROM suelen venir formateados con el sistema de ficheros ISO-9660
(también llamado <em>High Sierra</em>). En dicho formato, los nombres de
ficheros siguen el estándar del DOS (es decir, 8+3 caracteres). Una
extensión del mismo, denominada <em>Rock Ridge Extensions</em>, se vale de
una serie de campos indefinidos dentro del estándar ISO-9660 para poder
dar soporte a los nombres de ficheros más largos e informaciones
adicionales que se utilizan en Unix (p.e. permisos de lectura, escritura y
ejecución, enlaces simbólicos, etc).

El <em>PhotoCD</em> es un estándar desarrollado por Kodak para almacenar
imágenes fotográficas en CDROM. Con las aplicaciones adecuadas, Vd. podrá
ver las imágenes, manipularlas, imprimirlas, etc. La posibilidad de añadir
datos a un PhotoCD a posteriori se conoce como <em>multi-sesión</em>.

Las grabadoras de CD-ROM (CD-R) van siendo (poco a poco) cada vez más
asequibles para nuestros bolsillos. Utilizan un sistema diferente y
disponen de un hardware muy complejo para realizar la grabación, pero los
discos resultantes son legibles con cualquier unidad de CDROM.

En el futuro, se desarrollarán nuevas tecnologías que multiplicarán la
capacidad de almacenamiento de los dispositivos actuales. 

<sect>Hardware Soportado
<p>

A continuación se listan los controladores (<it/drivers/) e interfases que
actualmente son soportados por Linux. Dicha información esta basada en el
último núcleo estable, que a la hora de escribir este documento va por la
versión 2.0.31. También se encuentran disponibles los núcleos de
desarrollo 2.1.x, pero su estabilidad no está garantizada. 

Los datos que siguen a continuación son válidos únicamente para sistemas
Linux funcionando sobre plataformas Intel y compatibles. Aunque en su
mayor parte debería poder extrapolarse a procesadores basados en otras
arquitecturas, no tengo de ello información ni experiencia de primera
mano.

<sect1>Unidades ATAPI
<p>

ATAPI (<it/ATA Packet Interface/) es un protocolo diseñado para controlar
y gestionar dispositivos de almacenamiento masivo. Está basado en la
interfase ATA (AT Attachment), que es la denominación oficial según el
estándar ANSI de las interfases IDE desarrolladas para las unidades de
disco duro. Los CDROM, discos duros y otros sistemas de alta capacidad de
almacenamiento suelen ser ATAPI. Además de ser hoy en día la interfase de
más amplia difusión, ofrece unas prestaciones similares a la SCSI sin
tener que desembolsar grandes cantidades de dinero en una controladora y
cables especiales. 

En el núcleo de Linux viene incluido un controlador que debería funcionar
con cualquier unidad de CDROM ATAPI. Otros fabricantes de unidades
compatibles son Aztech, Mitsumi, NEC, Sony, Creative Labs, y Vertos. Si
Vd. ha adquirido recientemente un CDROM, y especialmente si es de 4x o
mayor, seguramente será IDE/ATAPI.

<sect1>Unidades SCSI (<it>Small Computer Systems Interface</it>)
<p>

Las principales ventajas radican en su elevada velocidad de transferencia,
compatibilidad con gran cantidad de plataformas y soporte para múltiples
unidades. Algunas desventajas del SCSI son la necesidad de una
controladora y cables que resultan relativamente caros...

Cualquier CDROM SCSI con un tamaño de bloque (<it/block size/) de 512 o 2048
bytes debería funcionar correctamente bajo Linux; esto incluye a la mayor
parte de las unidades del mercado. 

Tenga en cuenta que va a necesitar una controladora SCSI que sea
soportada; consulte el <tt><htmlurl
url="http://sunsite.unc.edu/LDP/HOWTO/SCSI-HOWTO.html" 
name="http://sunsite.unc.edu/LDP/HOWTO/SCSI-HOWTO.html"></tt> para más
información.

Algunos CDROM vienen con una controladora propietaria cuya interfase no es
100% SCSI compatible (p.e. sin soporte para más unidades SCSI en el bus).
Es probable que dichas unidades <bf/no/ funcionen bajo Linux. 

<sect1>Unidades Propietarias
<p>

Sí que están soportadas muchas unidades de CDROM basadas en interfases
propietarias; a menudo la interfase suele venir junto con la tarjeta de
sonido. Las tarjetas de interfase sencilla (o <it/single/), como las
suministradas con la tarjeta de sonido, también están disponibles. El
precio de dichas unidades suele ser más bajo que el de las SCSI. Su
desventaja estriba en la imposibilidad de expansión y falta de
estandarización.

Cuidado: hay interfases propietarias que vienen catalogadas erróneamente
como IDE porque, al igual que los discos duros IDE, emplean una interfase
sencilla basada en el bus PC/AT. Por si fuera poco, algunos fabricantes,
en particular Creative Labs, han lanzado al mercado diferentes tipos de
unidades, ofreciendo con sus tarjetas de sonido interfases ATAPI, SCSI y
propietarias. 

A continuación tenemos una lista de las unidades propietarias que sabemos
que <bf/Sí/ son soportadas bajo Linux. Los controladores correspondientes
están disponibles en las últimas versiones de desarrollo del núcleo o bien
como parches: en <tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/" 
name="ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/"></tt>. Revise
asimismo los ficheros README que incluidos en la distribución del núcleo;
habitualmente se encuentran instalados en el directorio
<tt>/usr/src/linux/Documentation/cdrom</tt>. 

&nbsp; &nl;

&nbsp; &nl;

<tscreen><verb>
                Unidades de CD-ROM Propietarias

Fabricante 	Modelo		Controlador	Comentarios
----------	------		-----------	-----------
Panasonic	CR-521		sbpcd		Nota 1
Panasonic	CR-522		sbpcd		Nota 1
Panasonic	CR-523		sbpcd		Nota 1
Panasonic	CR-562		sbpcd		Nota 1
Panasonic	CR-563		sbpcd		Nota 1
Creative Labs	CD-200		sbpcd
IBM 		External ISA	sbpcd		Nota 2
Longshine	LCS-7260 	sbpcd
Teac		CD-55A 		sbpcd
Sony		CDU-31A		cdu31a
Sony		CDU-33A		cdu31a
Sony		CDU-535		sonycd535	Nota 3
Sony		CDU-531 	sonycd535
Aztech		CDA268-01A	aztcd		Nota 4
Orchid		CDS-3110	aztcd
Okano/Wearnes	CDD110		aztcd
Conrad		TXC		aztcd
CyCDROM		CR520ie		aztcd
CyCDROM		CR940ie		aztcd
GoldStar	R420		gscd		Nota 5
Philips/LMS	CM206		cm206		Nota 6
Mitsumi		CRMC LU005S	mcd/mcdx	Notas 7, 8
Mitsumi		FX001		mcd/mcdx	Notas 7, 8
Optics Storage	Dolphin 8000AT	optcd
Lasermate	CR328A		optcd
Sanyo		H94A		sjcd
various		various		isp16		Nota 9
MicroSolutions	Backpack	bpcd
</verb></tscreen>

Comentarios:

<enum> <item>Estas unidades deben estar comercializadas exclusivamente por
Creative Labs, Panasonic, Matsushita, o Kotobuki. 

<item>Se trata de la misma unidad que la  Panasonic CR-562.

<item>También podemos encontrarla con el nombre de Procomm.

<item>Este controlador sólo funciona con la unidad CDA268-01A. Los otros
modelos, incluyendo el CDA268-03I y el CDA269-031SE no son propietarios,
por lo que deben usar el controlador del núcleo IDECD (ATAPI). 

<item>Se puede encontrar formando parte del Kit Reveal Multimedia. 

<item>Este controlador no soporta la unidad Philips CM205, pero ya existe
para la misma un controlador en versión alfa que se puede obtener vía
<tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/lmscd0.4.tar.gz"
name="ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/lmscd0.4.tar.gz"></tt>

<item>También la podemos encontrar con el nombre de Radio Shack.

<item>Existen dos controladores. "<tt/mcd/" es el original. "<tt/mcdx/",
el más moderno, soporta más características (pero puede que sea menos
estable). 

<item>Este controlador funciona con las unidades conectadas a la interfase
de una tarjeta de sonido ISP16, MAD16 o Mozart. 
</enum>

Si su núcleo no soporta alguna de las unidades referidas probablemente
necesite actualizarse a una versión mas reciente. 

Si su unidad no coincide con ninguno de los modelos señalados, más aun si
ésta es de reciente adquisición y de cuádruple velocidad o más, es muy
probable que emplee la interfase IDE/ATAPI, que ya hemos comentado en el
apartado anterior.<em> Uno de los errores más frecuentes entre los
usuarios de Linux es creer que cualquier unidad conectada a una tarjeta de
sonido SoundBlaster debe utilizar el controlador SBPCD</em>. Creative Labs
y otros muchos fabricantes están dejando de producir unidades de
interfases propietarias para seguir el estándar ATAPI/IDE. 

<sect1>Unidades Vía Puerto Paralelo
<p>

La única unidad de estas características que está soportada actualmente en
el núcleo de Linux es la MicroSolutions Backpack. 

Hay también disponibles controladores para muchas más unidades, en forma
de parches del núcleo o como módulos cargables. Mas información al
respecto en <tt><htmlurl url="http://www.torque.net/linux-pp.html"
name="http://www.torque.net/linux-pp.html"></tt>. 

<sect1>Unidades Alternativas
<p>

Existe un controlador alternativo para las unidades Panasonic/Matsushita
CR-56x, escrito por Zoltan Vorosbaranyi. Puede encontrarse en <tt><htmlurl
url="ftp://ftp.tarki.hu/pub/linux/pcd/pcd-0.29.tar.gz"
name="ftp://ftp.tarki.hu/pub/linux/pcd/pcd-0.29.tar.gz"></tt>. 

<sect>Instalación
<p>

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

<enum>
<item>Instalar el hardware
<item>Configurar y recompilar el núcleo
<item>Crear los ficheros de dispositivo (<it/device files/) y ajustar los
parámetros temporales de arranque (<it/boot time parameters/) 
<item>Arrancar con el nuevo núcleo
<item>Montar la unidad
</enum>

Vamos a seguir paso a paso este proceso:

<sect1>Instalación del Hardware
<p>

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 <tt>ide-cd</tt>, 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).

<sect1>Configuración y Construcción del Núcleo
<p>

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:

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

En <tt><htmlurl
url="http://sunsite.unc.edu/LDP/HOWTO/Installation-HOWTO.html" 
name="http://sunsite.unc.edu/LDP/HOWTO/Installation-HOWTO.html"></tt>
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: 

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

Consulte el <tt><htmlurl
url="http://sunsite.unc.edu/LDP/HOWTO/Kernel-HOWTO.html" 
name="http://sunsite.unc.edu/LDP/HOWTO/Kernel-HOWTO.html"></tt> o su
traducción al castellano, el <tt><htmlurl
url="http://www.insflug.org/howtos/online/kernel/Kernel-Como.html" 
name="http://www.insflug.org/howtos/online/kernel/Kernel-Como.html"></tt>
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
"<tt/make config/". 

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

<tscreen><verb>
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/?]
</verb></tscreen>

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

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

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

<tscreen><verb>
Adaptec AHA152X support (CONFIG_SCSI_AHA152X) [Y/n/m/?]
</verb></tscreen>

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: 

<tscreen><verb>
ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]
</verb></tscreen>

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 <tt><htmlurl
url="http://sunsite.unc.edu/LDP/HOWTO/Sound-HOWTO.html" 
name="http://sunsite.unc.edu/LDP/HOWTO/Sound-HOWTO.html"></tt>;  o su
traducción, <tt><htmlurl
url="http://www.insflug.org/howtos/online/sonido/Sonido-Como.html" 
name="http://www.insflug.org/howtos/online/sonido/Sonido-Como.html"></tt>. 

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 <tt><htmlurl
url="http://www.insflug.org/howtos/online/kernel/Kernel-Como.html" 
name="http://www.insflug.org/howtos/online/kernel/Kernel-Como.html"></tt>.

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
<tt><htmlurl
url="http://www.insflug.org/howtos/online/kernel/Kernel-Como.html" 
name="http://www.insflug.org/howtos/online/kernel/Kernel-Como.html"></tt>

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

<sect1>Creación de los Ficheros de Dispositivo (<it/device files/) y Ajuste
de los Parámetros Temporales de Arranque
<p>

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 <it>utilidad de
configuración</it> por medio de menús que incluye la configuración del
CD-ROM. Casi todos los sistemas cuentan con el script
<tt>/dev/MAKEDEV</tt>. 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 <tt>root</tt> (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: 

<tscreen><verb>
ln -s /dev/hdd /dev/cdrom
</verb></tscreen>

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í: 

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

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 (<it/boot loader/). Si utiliza LILO, deberá 
añadir el comando <tt>append</tt>, tal y como sigue, en el fichero
<tt>/etc/lilo.conf</tt>: 

<tscreen><verb>
append = "sbpcd=0x230,SoundBlaster"
</verb></tscreen>

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 
<tt>/usr/src/linux/Documentation/cdrom</tt>. 

<sect2>Controlador <tt>sbpcd</tt>
<p>

<verb>
          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
</verb>

Línea de comandos del núcleo:

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

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

Creación del Fichero de Dispositivo:

<tscreen><verb>
# mknod /dev/sbpcd b 25 0
</verb></tscreen>

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 <tt>sbpcd</tt>.

<em>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.</em>

<sect2>Controlador Sonycdu535
<p>

<verb>
          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
</verb>

Línea de comandos del núcleo:

<tscreen><verb>
sonycd535=<direccion-E/S>
</verb></tscreen>

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/sonycd535 b 24 0
</verb></tscreen>

Algunas distribuciones utilizan <tt>/dev/sonycd</tt> 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
<tt>sonycd535</tt>. 

<sect2>Controlador Cdu31a
<p>

<verb>
          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
</verb>

Línea de comandos del núcleo:

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

El primer número es la dirección base E/S de la tarjeta (p.e. <tt/0x340/). 
El segundo es el número de interrupción empleada (0 para polled E/S). El
tercer parámetro, opcional, deberá ser "<tt/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 <tt/modprobe/ o <tt/insmod/, los parámetros
serán:

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

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/cdu31a b 15 0
</verb></tscreen>

Para más información, consulte el fichero <tt>cdu31a</tt>.

También puede visitar la página de Jeffrey Oxenreider (<tt><htmlurl
url="mailto:zureal@infinet.com" name="zureal@infinet.com"></tt>), donde se
describen los problemas más frecuentes que suelen ocurrir con unidades: 
<tt><htmlurl url="http://www.infinet.com/&tilde;zureal/cdu31a.html"
name="http://www.infinet.com/&tilde;zureal/cdu31a.html"></tt>.

<sect2>Controlador Aztcd
<p>

<verb>
         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
</verb>

Línea de comandos del núcleo:

<tscreen><verb>
aztcd=<direccion-E/S>
</verb></tscreen>

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/aztcd0 b 29 0
</verb></tscreen>

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 <tt/aztcd/

<sect2>Controlador Gscd
<p>

<verb>
          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
</verb>

Línea de comandos del núcleo:

<tscreen><verb>
gscd=<direccion-E/S>
</verb></tscreen>

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/gscd0 b 16 0
</verb></tscreen>

Más información en el archivo <tt>gscd</tt> y en la página Web:
<tt><htmlurl url="http://linux.rz.fh-hannover.de/&tilde;raupach/"
name="http://linux.rz.fh-hannover.de/&tilde;raupach/"></tt>. 

<sect2>Controlador Mcd
<p>

<verb>
         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
</verb>

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

Línea de comandos del núcleo:

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

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/mcd b 23 0
</verb></tscreen>

Encontrará más información en el archivo <tt>mcd</tt>.

<sect2>Controlador Mcdx
<p>

<verb>
          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
</verb>

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

Línea de comandos del núcleo:

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

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

Fichero de dispositivo:

<tscreen><verb>
mknod /dev/mcdx0 b 20 0
</verb></tscreen>

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 <tt/idecd/. 

Más información en el archivo <tt>mcdx</tt>

<sect2>Controlador Cm206
<p>

<verb>
          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
</verb>

Línea de comandos del núcleo:

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

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/cm206cd b 32 0
</verb></tscreen>

Más información en el archivo <tt>cm206</tt>.

<sect2>Controlador Optcd
<p>

<verb>
          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
</verb>

Línea de comandos del núcleo:

<tscreen><verb>
optcd=<direccion-E/S>
</verb></tscreen>

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/optcd0 b 17 0
</verb></tscreen>

Más información acerca de este controlador en el archivo <tt>optcd</tt>.

<sect2>Controlador Sjcd
<p>

<verb>
          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
</verb>

Línea de comandos del núcleo:

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

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/sjcd b 18 0
</verb></tscreen>

Lea el archivo <tt>sjcd</tt> para más información.

<sect2>Controlador Bpcd
<p>

<verb>
          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
</verb>

Línea de comandos del núcleo:

<tscreen><verb>
bpcd=<direccion-E/S>
</verb></tscreen>

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

Fichero de Dispositivo:

<tscreen><verb>
mknod /dev/bpcd b 41 0
</verb></tscreen>

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

<sect2>Controlador SCSI
<p>

<verb>
          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
</verb>

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

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: 

<tscreen><verb>
mknod /dev/scd0 b 11 0
mknod /dev/scd1 b 11 1
</verb></tscreen>

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 <tt/cdda2wav/ o <tt/readcdda/ (empleando la interfase SCSI
genérica del núcleo).

<sect2>Controlador IDECD
<p>

<verb>
           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
</verb>

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

<tscreen><verb>
hdx=cilindros,cabezas,sectores,wpcom,irq
  o
hdx=cdrom
</verb></tscreen>

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

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
<tt>/usr/src/linux/Documentation/ide-cd</tt>. 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. 

<sect1>Arrancando el Núcleo
<p>

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): 

<tscreen><verb>
hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive
</verb></tscreen>

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

Si no ha identificado la unidad, algo falla. Consulte la sección
<ref id="Problemillas">. 

<sect1>Montando, Desmontando y Extrayendo
<p>

Para montar un CD-ROM, inserte el disco en la unidad y ejecute el comando
<tt>mount</tt> siendo <tt>root</tt> (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 <tt>/mnt/cdrom</tt>): 

<tscreen><verb>
mount -t iso9660 -r /dev/cdrom /mnt/cdrom
</verb></tscreen>

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

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

Puede añadir una línea en archivo <tt>/etc/fstab</tt> 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 <tt>fstab(5)</tt>. 

Ojo: para reproducir CDs de audio, <em>no</em> monte la unidad. 

Para desmontar un CD-ROM, utilice el comando <tt>umount</tt> en modo
<tt>root</tt>: 

<tscreen><verb>
umount /mnt/cdrom
</verb></tscreen>

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 <tt/eject/: <tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/eject-1.4.tar.gz" 
name="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/eject-1.4.tar.gz"></tt>. 

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 (<tt><htmlurl url="mailto:sct@dcs.ed.ac.uk" 
name="sct@dcs.ed.ac.uk"></tt>) ha escrito el paquete <tt>Supermount</tt>,
para gestionar de manera transparente el montado de dispositivos
extraíbles, incluyendo CD-ROM. Lo puede encontrar vía ftp: <tt><htmlurl 
url="ftp://sunsite.unc.edu/pub/Linux/patches/diskdrives/"
name="ftp://sunsite.unc.edu/pub/Linux/patches/diskdrives/"></tt>.

<sect1>Problemillas <label id="Problemillas">
<p>

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. 

<sect2>Primero: Asegúrese de haber arrancado con el núcleo recién compilado
<p>

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
<tt>uname</tt>: 

<tscreen><verb>
uname -a
Linux fizzbin 2.0.18 #1 Fri Sep 6 10:10:54 EDT 1996 i586
</verb></tscreen>

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

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

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
<tt>/sbin/lilo</tt>)? Si arranca desde un disco, ¿ha creado un nuevo disco
de arranque y lo ha estrenado? 

<sect2>Segundo: Compruebe que los controladores estén incluidos en el
núcleo.
<p>

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

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

Block devices:
 3 ide0
22 ide1
</verb></tscreen>

En primer lugar, busque el controlador de dispositivo de su CD-ROM: en la
columna <tt/Block devices/. En el ejemplo, vemos el controlador
<tt>idecd</tt> 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 <tt>/proc/filesystems</tt>: 

<tscreen><verb>
cat /proc/filesystems
        ext2
        msdos
nodev   proc
        iso9660
</verb></tscreen>

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

<tscreen><verb>
cat /proc/ioports
 ...
0230-0233 : sbpcd
 ...
</verb></tscreen>

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. 

<sect2>Tercero: Compruebe que el núcleo detecta la unidad durante el arranque
<p>

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
<tt>dmesg</tt>: 

<tscreen><verb>
dmesg
</verb></tscreen>

o

<tscreen><verb>
tail /var/adm/messages
</verb></tscreen>

Si la unidad no fue detectada, algo ha fallado... <it/Houston/ <tt/:)/
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
<tt>Control-Alt-Suprimir</tt>. 

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. 

<sect2>Cuarto: Compruebe si puede leer información desde la unidad
<p>

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.

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

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 <tt>/dev</tt> 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. 

<sect2>Quinto: Pruebe a montar un CD-ROM
<p>

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
<tt>/proc/filesystems</tt>, tal y como se ha descrito anteriormente. 

Ha de montar la unidad con los parámetros "<tt/-t iso9660/" y la opción
"<tt/-r/". El CD debe estar formateado con el sistema de ficheros
ISO-9660. El montado de CDs ha de hacerse en siendo <tt/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 <tt>/etc/fstab</tt> son correctas.  Si ha cargado el demonio
<tt/syslog/, es probable que haya mensajes de error del núcleo que no ha
visto.  Pruebe con "<tt/dmesg/":

<tscreen><verb>
dmesg
SBPCD: sbpcd_open: no disk in drive
</verb></tscreen>

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

<sect2>Problemas con el sonido
<p>

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
<tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/"
name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/"></tt>.

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 <tt><htmlurl
url="http://www.insflug.org/howtos/online/sonido/Sonido-Como.html"
name="http://www.insflug.org/howtos/online/sonido/Sonido-Como.html"></tt>.

<sect2>Nada, Que sigue fallando...
<p>

Si aún tiene problemas, puede:

<itemize>
<item>releer meticulosamente el documento.

<item>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.

<item>enviar una pregunta a alguno de los grupos de noticias
<tt>comp.os.linux</tt>, (en castellano <tt/es.comp.os.linux/)

<item>enviar una pregunta a la Lista de Correo de Linux
<item>probar con la última versión del núcleo
<item>contactar con su distribuidor (del equipo)
<item>contactar con el distribuidor del CD-ROM

<item>enviar un mensaje al responsable del controlador del núcleo (busque
en el archivo <tt>/usr/src/linux/MAINTAINERS</tt>) 

<item>enviarme un mensaje
<item>cargar el Emacs y teclear <tt>Esc-x doctor :-)</tt>
</itemize>

<sect>Aplicaciones
<p>

En esta sección se describen brevemente algunas de las aplicaciones
relacionadas con el CD-ROM que hay disponibles para Linux. Vea también el
Mapa de Software de Linux (LSM). 

<sect1>Reproductores de CDs de Audio
<p>

Hay muchos programas que sirven para la reproducción de discos compactos,
bien a través de unos auriculares, o por la tarjeta de sonido. 

<descrip>

<tag>Workman</tag>reproductor en modo gráfico bajo las X11 con soporte
para base de datos de CDs y otras muchas características.

<tag>WorkBone</tag>reproductor interactivo en modo texto
<tag>xcdplayer</tag>sencillo reproductor basado en las X11
<tag>cdplayer</tag>sencillo reproductor desde la línea de comandos
<tag>Xmcd</tag>reproductor basado en las X11 y Motif
<tag>xmitsumi</tag>otro reproductor basado en las X11 para unidades Mitsumi

<tag>xplaycd</tag>otro reproductor basado en las X11, con utilidades de
mezcla y control de volumen

<tag>cdtool</tag>reproductor de CDs desde la línea de comandos
</descrip>

Alguno de estos programas vienen diseñados para utilizar algún fichero de
dispositivo concreto (p.e. <tt>/dev/cdrom</tt>). Deberá introducir el
adecuado como parámetro, o bien crear un enlace simbólico en el directorio
<tt>/dev</tt>. Si la salida se realiza desde el CDROM a una tarjeta de
sonido, quizás quiera usar un programa mezclador para ajustar el volumen y
seleccionar la entrada del CDROM cuando desee grabar. 

<sect1>PhotoCD
<p>

Los PhotoCD emplean el sistema ISO-9660. Los archivos de imágenes vienen
en formato propietario. No todos los lectores de CDROM soportan la lectura
de PhotoCD. 

<tt>hpcdtoppm</tt> es un programa escrito por Hadmut Danisch para la
conversión de archivos de PhotoCD a mapa de pixels (pixmap). Se encuentra
disponible vía ftp en <tt><htmlurl
url="ftp://ftp.gwdg.de/pub/linux/hpcdtoppm" 
name="ftp://ftp.gwdg.de/pub/linux/hpcdtoppm"></tt> o bien incluído en el
paquete de utilidades PBM (<it/Portable Bit Map/) , disponible en muchos
bancos de archivos (búsquelo por "<tt/pbm/" o "<tt/netpbm/").

<tt>photocd</tt>, un programa de Gerd Knorr, <tt><htmlurl
url="mailto:kraxel@cs.tu-berlin.de" name="kraxel@cs.tu-berlin.de"></tt>
para la conversión de PhotoCDs en archivos de mapa de bits: Targa, Windows
y OS/2. 

Del mismo autor es el programa <tt>xpcd</tt>, basado en las X11, diseñado
para la gestión de imágenes de PhotoCD. Vd. puede seleccionar las imágenes
con el ratón, hacer previsualizaciones en una pequeña ventana y cargar la
imagen en alguna de las cinco resoluciones posibles. También puede cargar
un determinado área de la imagen: <tt><htmlurl 
url="ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc/"
name="ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc/"></tt>. 

ImageMagick permite la manipulación de archivos de imágenes, también
soporta el formato PhotoCD. Lo puede encontrar vía ftp <tt><htmlurl
url="ftp://ftp.x.org/contrib/applications/ImageMagick/" 
name="ftp://ftp.x.org/contrib/applications/ImageMagick/"></tt>. 

<sect1><tt>mkisofs</tt>
<p>

Con el paquete <tt>mkisofs</tt>, de Eric Youngdale's, podrá crear una
partición del disco duro con el sistema de ficheros ISO-9660. Ello puede
serle de gran utilidad a la hora de desarrollar y verificar sistemas de
archivos de CD-ROM antes de hacer los masters.

Las utilidades para la escritura de CD-ROM suelen ser suministradas por el
fabricante. El proceso de escritura tiene que realizarse sin que haya
interrupciones, característica para la cual un sistema multitarea como
Linux está particularmente bien dotado. 

<sect1>Utilidades ISO-9660
<p>

Aquí encontrara algunas utilidades para la verificación del sistema de
ficheros ISO-9660 en discos formateados. Le será de gran interés a la hora
de hacer comprobaciones de CDs que puedan estar defectuosos. Puede
conseguir el paquete vía ftp <tt><htmlurl 
url="ftp://ftp.cdrom.com/pub/cdrom/ptf/"
name="ftp://ftp.cdrom.com/pub/cdrom/ptf/"></tt>.
Está escrito por Bill Siegmund y Rich Morin.

<sect>Respuestas a las Preguntas de Uso más Frecuente (PUFs)
<p>

<sect1>¿Cómo hacer que cualquier usuario (no root) pueda montar y desmontar 
los CDs?
<p>

Prácticamente todos los comandos <tt>mount</tt> soportan la opción
<em>user</em>. Introduciendo una línea como la que sigue en el fichero
<tt>/etc/fstab</tt>: 

<tscreen><verb>
/dev/sbpcd  /mnt/cdrom   iso9660     user,noauto,ro
</verb></tscreen>

...cualquier usuario podrá montar y desmontar la unidad, de la siguiente
manera: 

<tscreen><verb>
mount /mnt/cdrom
umount /mnt/cdrom
</verb></tscreen>

El disco, por razones de seguridad, será montado con algunas limitaciones
(p.e. los programas no podrán ser ejecutados, los archivos de dispositivo
se ignorarán...); esto puede resultar demasiado restrictivo en algunos
casos. 

Otra opción es conseguir el paquete <tt>usermount</tt>, que habilita para
los usuarios normales el montado y desmontado de dispositivos extraíbles,
tales como discos y CDROM, pero que restringe el acceso a otros (como las
particiones del disco duro). Se puede encontrar en casi todos los bancos
de archivos. 

En <tt><htmlurl url="ftp://ftp.cdrom.com" name="ftp://ftp.cdrom.com"></tt>
se halla el código fuente <tt>mount.c</tt>, que permite el montado y
desmontado de CD-ROM (únicamente) por usuarios normales.

<sect1>¿Por qué obtengo "device is busy (dispositivo ocupado)" a la hora
de desmontar el CD-ROM?
<p>

Un disco no puede ser desmontado mientras haya algún proceso accediendo a
la unidad, lo que incluye el hecho de que nos encontremos en alguno de los
directorios asignados a la misma. Si no puede identificar el proceso que
la esta usando, puede emplear el comando <tt>fuser</tt>, tal y como se
muestra a continuación:

<tscreen><verb>
umount /cdrom
umount: /dev/hdd: device is busy
fuser -v /cdrom
                     USER       PID ACCESS COMMAND
/mnt/cdrom           tranter    133 ..c..  bash
</verb></tscreen>

<sect1>¿Cómo puedo exportar un CD-ROM a otra máquina vía NFS?
<p>

Para ello es preciso añadir una línea al archivo <tt>/etc/exports</tt>.
Para más detalles, consulte la página man <tt>exports(5)</tt>. 

<sect1>¿Es posible arrancar Linux desde un CD-ROM?
<p>

Para instalar Linux, el método más común es utilizar un disco de arranque.
Algunas distribuciones vienen preparadas para arrancar el núcleo de Linux
utilizando un CDROM directamente desde el DOS. 

Michael Fulbright (<tt><htmlurl url="mailto:msf@redhat.com" 
name="msf@redhat.com"></tt>) explica cómo, con un CDROM, la ROM-BIOS y una
unidad ATAPI es posible arrancar directamente desde el CD. La última
version de <tt>mkisofs</tt> también soporta la creación de dichos CDRoms.
Para ello, se ha tenido que añadir una serie parches para soportar el
estándar de discos de arranque <it/El Torito/. 

<sect1>¿Cómo puedo leer la información digital de un CD-Audio?
<p>

Heiko Eissfeldt (<tt><htmlurl url="mailto:heiko@colossus.escape.de" 
name="heiko@colossus..escape.de"></tt>) y Olaf Kindel han escrito una
utilidad que lee y graba los datos de audio archivos de formato
<tt>.wav</tt>. El paquete se llama <tt>cdda2wav.tar.gz</tt> y se
encuentra en <tt>sunsite.unc.edu</tt>.

A consecuencia del rápido desarrollo que están experimentando las unidades
de CD-ROM, es casi imposible hacer una lista completa de los modelos que
soportan la extracción digital de audio. Lo mejor será que consiga la
última versión de paquete <tt>cdda2wav</tt> y lea la documentación.

Para más información al respecto, visite la página web <tt><htmlurl
url="http://www.tardis.ed.ac.uk/&tilde;psyche/cdda/"
name="http://www.tardis.ed.ac.uk/&tilde;psyche/cdda/"></tt> y las FAQ de
<tt/alt.cdrom/ (sección de Referencias).

<sect1>¿Por que el comando <tt>find</tt> no funciona correctamente?
<p>

Al utilizar discos formateados con el sistema ISO-9660, pero que carecen
de las Extensiones Rock Ridge, hay que añadir la opción <tt>-noleaf</tt>
al comando <tt>find</tt>.  Consulte la página del manual <tt/find(1)/ para
más detalles.

(Hoy en día todos los CDs de Linux emplean las Extensiones Rock Ridge, por
lo que este problema se planteará raras veces.) 

<sect1>¿Soporta Linux alguna unidad grabadora de CD-ROM?
<p>

El paquete X-CD-Roast es una aplicación gráfica diseñada para la
utilización de grabadoras de CD-ROM bajo Linux. Se puede encontrar en
<tt><htmlurl 
url="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/xcdroast-0.95.tar.gz"
name="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/xcdroast-0.95.tar.gz"></tt>

Consulte también el CD-Writing HOWTO, que está disponible en <tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/CD-Writing.html"
name="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/CD-Writing.html"></tt> ó
<tt><htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/CD-Writing.html"
name="http://sunsite.unc.edu/LDP/HOWTO/CD-Writing.html"></tt>.

<sect1>¿Por qué obtengo "<tt>mount: Read-only file system</tt> (sistema de
ficheros de solo-lectura)" al montar un CD-ROM?
<p>

El CD-ROM es un medio de almacenamiento de sólo-lectura. Con alguno de los
núcleos más antiguos se podía montar CDROM para lectura/escritura; los
intentos de escribir datos en el CDROM eran ignorados. Esto ha sido
corregido a partir del núcleo 1.1.33, con el que los CDROM han de montarse
como de sólo-lectura (con la opción -r del comando <tt/mount/). 

<sect1>¿Por qué se abre la bandeja de la unidad cuando apago el sistema?
<p>

A partir de la versión 1.1.38 del núcleo, el controlador <tt/sbpcd/
realiza automáticamente la extracción del CD al ser desmontado. Al apagar
el sistema, se desmonta el CD, lo que provoca su extracción. Esta
característica resulta de utilidad a la hora de cambiar los CDs. Si la
bandeja está abierta, cuando monte un CD se cerrará automáticamente.

He comprobado que esto ocasiona algunos problemas al utilizar algunos
programas (p.ej. el <tt/cdplay/ y el <tt/workbone/). A partir del núcleo
1.1.60 es posible controlar dicha característica por medio de software. Un
programa de ejemplo viene incluído con el archivo de documentación del
<tt/sbpcd/ (o también puede usar el programa <tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/eject-1.4.tar.gz"
name="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/eject-1.4.tar.gz"></tt>. 

<sect1>Tengo un CD "quiquilloso" que no consigo montar
<p>

Ese disco ``quisquilloso'' seguramente sea un disco XA (como todos los
PhotoCD y los ``one-offs'' generados con unidades CD-R). La mayor parte de
los controladores del núcleo no soportan discos XA, pero seguramente podrá
encontrar algún parche para añadir dicho soporte en alguno de los
múltiples bancos de archivos. El <tt/sbpcd/ sí que soporta discos XA. Si
utiliza dicho controlador, podrá comprobar si el disco es efectivamente
XA, de la siguiente manera: Edite el fichero sbpcd y active la
visualización de la "Tabla de Contenidos" (<it/Table of Contents/) (TOC).
Compile, instale y arranque de nuevo el núcleo. Ahora, cada vez que monte
un disco, podrá leer la información de la Tabla de Contenidos (bien en la
pantalla o en un fichero log). Si el primer valor que aparece en la
primera linea es un "20", quiere decir que se trata de un disco XA. Dicho
valor sera "00" cuando monte discos normales. Si en la Tabla de Contenidos
hay varias pistas, significa también que se trata de un disco XA. 

(gracias a Eberhard Moenkeberg por esta información)

Otras posibilidades que pueden imposibilitar la lectura de CDs:

<enum>
<item>El disco no utiliza el sistema de ficheros ISO-9660 (p.e. algunos
utilizan SunOS o HFS) 
<item>Se trata de un CD-Audio
<item>El CD esta dañado o es defectuoso
<item>Lo ha insertado del revés :-)
</enum>

<sect1>¿Funcionan bajo Linux las unidades de CD-ROM multi-disco?
<p>

Hay much*s usuarios satisfech*s del funcionamiento de las intercambiadoras
de CD-ROM multi-disco SCSI. Es probable que deba activar la opción "Probe
all LUNs on each SCSI device" durante la configuración del núcleo. Al
menos un usuario ha tenido que incrementar el valor SCSI timeout en el
controlador del núcleo. Las intercambiadoras Nakamichi MBR-7 de 7 discos y
la Pioneer de 12 discos funcionan correctamente.  También están soportadas
las intercambiadoras multi-disco EIDE/ATAPI. El soporte implementado para
algunas unidades (utilizando la función CDROM_SELECT_DISC ioctl) con el
núcleo 2.0 resulta un tanto rudimentario. En el archivo de documentación
del controlador del núcleo IDE-CD viene incluído el código fuente de un
programa para seleccionar el plato, o también puede utilizar una versión
reciente del programa <tt>eject</tt>, descrito anteriormente. 

<sect1>Obtengo "<tt>/cdrom: Permission denied</tt>"
<p>

Algunos CDs poseen archivos que se encuentran en directorios cuyo permiso
de lectura está restringido al modo <tt>root</tt>. Algo así ocurría con la
edición de InfoMagic de Marzo de 1995. 

El siguiente parche, cortesía de Christoph Lameter (<tt><htmlurl
url="mailto:clameter@waterf.org" name="clameter@waterf.org"></tt>) permite
solventar el problema.

<tscreen><verb>
From: clameter@waterf.org (Christoph Lameter)
Newsgroups: comp.os.linux.setup
Subject: InfoMagic Developers Set: Fix for CD-ROM permissions
Date: 12 Apr 1995 20:32:03 -0700
Organization: The Water Fountain - Mining for streams of Living Water
NNTP-Posting-Host: waterf.org
X-Newsreader: TIN [version 1.2 PL2]
</verb></tscreen>

<it>
En la edición de InfoMagic Developers CD-ROM Set de Marzo de 1995 se
plantean una serie de problemas con la información almacenada en
directorios cuyos permisos quedan restringidos al root. 
</it>

<enum>
<item>En el Disco1 los valores de propietario/grupo están fijados con los
valores 5101/51 y tienen permiso de escritura (?)

<item>El Disco2 y 3 vienen con permisos <tt/rwx/ para root y ningún
permiso para grupo/usuario. ¡Sólo como root es posible acceder a ellos! Yo
mantengo una BBS y necesito tenerlos disponibles para otr*s. 
</enum>

<it>
Hay varias soluciones. El problema estriba en que, por lo común, estos
arreglos cambian los permisos de todos los directorios del CD. El parche
que viene a continuación sólo cambia los permisos para el directorio root
del CD-ROM. Si quiere hacer correr partes de Linux directamente desde el
CD-ROM, probablemente se vea en un aprieto tanto si todos los directorios
pueden ser accedidos para lectura por todos los usuarios como si son
propiedad del root.
</it>

<it>
Con este parche, los permisos del directorio root quedarán fijados como
<tt/r-xr-xr-x/, y los valores de propietario/grupo serán los indicados a
través de las opciones uid y gid del comando <tt/mount/.
</it>

<it>
Para aplicarlo:
</it>

<tscreen><verb>
 cd /usr/src/linux/fs/isofs
 patch < parche
</verb></tscreen>

<it>
...y recompile el núcleo (puede que tenga que aplicar el parche a mano,
dependiendo de su versión del núcleo). 
</it>

<it>
Este es el fichero <tt/parche/:
</it>

<tscreen><verb>
--- inode.c.ORIG	Wed Apr 12 17:24:36 1995
+++ inode.c	Wed Apr 12 17:59:12 1995
@@ -552,7 +552,15 @@
    numeros de la estructura de inodos */
 
 	if (!high_sierra)
-	  parse_rock_ridge_inode(raw_inode, inode);
+	{  parse_rock_ridge_inode(raw_inode, inode);
+           /*comprobacion de los permisos de acceso de propietario CL al directorio root*/
+	   if((inode->i_sb->u.isofs_sb.s_firstdatazone) == inode->i_ino)
+           { /*sustitucion de los permisos de propietario por los introducidos mediante el comando mount*/
+             inode->i_uid = inode->i_sb->u.isofs_sb.s_uid;
+             inode->i_gid = inode->i_sb->u.isofs_sb.s_gid;
+	     inode->i_mode = S_IRUGO | S_IXUGO | S_IFDIR;
+           }
+        }
 	
 #ifdef DEBUG
 	printk("Inode: %x extent: %x\n",inode->i_ino, inode->u.isofs_i.i_first_extent);
@@ -805,4 +813,3 @@
 }
 
 #endif
-
</verb></tscreen>

Tenga en cuenta que este parche es algo antiguo y probablemente no
podrá aplicarse tal cual a versiones más recientes del núcleo (a partir de
la 2.0). Consulte también la sección referente a los ficheros ocultos. 

<sect1>¿Cómo he de interpretar los mensajes de error del núcleo referentes
al CD IDE?
<p>

¿Qué significa cuando obtengo un mensaje del controlado IDE de la manera
<tt>hdxx: code: xx key: x asc: xx ascq: x</tt>? 

Se trata de un mensaje de status/error de la unidad IDE. Por defecto el
controlador IDECD envía a una salida las informaciones, en vez de gastar
espacio del núcleo con mensajes de error. Esto puede cambiarse, para poder
visualizar los mensajes de error directamente, editando el archivo
<tt>/usr/src/linux/drivers/block/ide-cd.c</tt>, cambiando el valor de
<tt/VERBOSE_IDE_CD_ERRORS/ a 1, y recompilando el núcleo. 

<sect1>¿Cómo puedo comprobar la velocidad de mi CD-ROM?
<p>

He aquí un método. Estas instrucciones miden el tiempo que se tardan en leer 1500K desde el CD:

<tscreen><verb>
time -p dd if=/dev/cdrom of=/dev/null bs=1k count=1500
1500+0 records in
1500+0 records out
real 5.24
user 0.03
sys 5.07
</verb></tscreen>

El rango de transferencia a velocidad sencilla es de 150kb/segundo, osea,
que tardará unos 10 segundos. A doble velocidad, tardará 5 segundos; a
cuádruple, 2.5 segundos...etc

El valor más fiable es el de "real", que en nuestro ejemplo indica una
unidad de doble velocidad. Vd puede incrementar la cantidad de datos
transferidos para así obtener un valor más exacto (los datos no se
almacenan). Lo mejor sería ejecutar varias veces el comando y, a
continuación, hallar la media. 

<sect1>Mi CD-ROM dejó de funcionar después de completar la instalación de
Linux
<p>

Lo más seguro es que el disco de arranque utilizado para instalar Linux
haya reconocido su unidad de CD-ROM. Pero una vez terminado el proceso de
instalación en el disco duro o en floppy y tras reinicializar el
ordenador, el CD-ROM deja de ser reconocido. 

Esto suele ser debido a que, con algunas distribuciones de Linux, el
núcleo que se instala en el disco duro o floppy no es necesariamente el
mismo del disco de arranque. Vd seleccionó un disco de arranque adecuado
al hardware de su CD-ROM, mientras que el núcleo que acaba de instalar es
un núcleo "genérico" sin soporte para CD-ROM. Puede comprobarlo siguiendo
los pasos detallados en la sección <ref id="Problemillas"> (p.e. empiece
comprobando el archivo <tt>/proc/devices</tt>).

La solución pasa por recompilar el núcleo, asegurarse de incluir los
controladores necesarios para su unidad y todo lo demás (p.e. controlador
SCSI, sistema de ficheros ISO-9660). Consulte <tt><htmlurl
url="http://www.insflug.org/howtos/online/kernel/Kernel-Como.html" 
name="http://www.insflug.org/howtos/online/kernel/Kernel-Como.html"></tt>.

Si ha pasado alguna opción desde la línea de comandos al disco de arranque
(<it/boot disk/) (p.e. "<tt/hdc=cdrom/"), deberá añadirla a su fichero de
configuración de arranque (<tt>/etc/lilo.conf</tt>).

<sect1>No puedo leer los ficheros ocultos
<p>

Algunos CDs tienen archivos que están determinados como ``ocultos''. 
Normalmente, no son visibles. Si monta el CD-ROM con la opción ``unhide'',
deberían de hacerse accesibles (esto parece no estar documentado en lugar
alguno). 

<sect1>¿Dónde se encuentra la documentación de la API del CDROM?
<p>

Si pretende escribir su propia aplicación, p.e. un reproductor de CDs,
necesitará entender la API (Interfase para la Programación de
Aplicaciones) del Linux. 

En un principio, los controladores de CD-ROM usaban sus propias funciones
<tt/ioctl()/ para dar soporte a las características específicas de cada
unidad.

Esto se describe en los archivos de cabecera, p.e. en
<tt>/usr/include/linux/sbpcd.h</tt>. Puesto que muchos controladores
estaban basados en otros controladores, las interfases, aunque no
idénticas, sí tenían mucho que ver. 

Recientemente ha surgido una iniciativa encabezada por David van Leeuwen
(<tt><htmlurl url="mailto:david@tm.tno.nl" name="david@tm.tno.nl"></tt>)
dirigida a la estandarización de la API de las unidades de CDROM. Se trata
de asegurar el que todos los controladores presenten el mismo
comportamiento. Esto se detalla en el archivo
<tt>/usr/src/linux/Documentation/cdrom/cdrom-standard.tex</tt>.  Muchos
controladores del núcleo ya lo soportan. Se espera que para futuras
versiones del núcleo (3.0?) todos los controladores de CDROM empleen la
API estándar. 

En mi libro, <em>Linux Multimedia Guide</em> (Guia Linux Multimedia),
entro en detalle acerca de la programación de unidades de CDROM,
especialmente de cara a las funciones de audio. Vea la sección
<ref id="Referencias">.

<sect1>¿Por qué no leo los nombres de fichero largos de este CDROM de Windows?
<p>

Si tiene un CDROM con nombres de fichero largos bajo Windows, pero no bajo
Linux, es que ha sido formateado empleando el sistema de ficheros Joliet,
sistema propietario de Microsoft. Siga leyendo. 

<sect1>Es soportado el sistema de ficheros de Microsoft Joliet?
<p>

Microsoft ha creado una extensión del formato ISO-9660 llamada Joliet. A
la hora de escribir este documento, el soporte para Joliet se encuentra
bastante avanzado y los parches se pueden obtener en <tt><htmlurl
url="http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html"
name="http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html"></tt> 
o <tt><htmlurl
url="ftp://www-plateau.cs.berkeley.edu/pub/multimedia/linux/joliet/"
name="ftp://www-plateau.cs.berkeley.edu/pub/multimedia/linux/joliet/"></tt>.

<sect>Referencias <label id="Referencias">
<p>

Ya he mencionado los archivos <tt/README/, que suelen venir instalados en
el directorio <tt>/usr/src/linux/Documentation/cdrom</tt>. ¡Son un tesoro
de información!

Las FAQs de los siguientes grupos de usenet se envían periódicamente a
<tt><htmlurl url="news:news.answers" name="news.answers"></tt> y son
archivadas en diversos servidores de ftp, p.e. <tt><htmlurl
url="ftp://rtfm.mit.edu/" name="ftp://rtfm.mit.edu/"></tt>: 

<itemize>
<item>alt.cd-rom FAQ
<item>comp.periphs.scsi FAQ
<item>Enhanced IDE/Fast-ATA/ATA-2 FAQ
</itemize>

En otros HOWTOs también encontrara información relacionada con el CD-ROM: 

<itemize>

<item><tt><htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/SCSI-HOWTO.html"
name="http://sunsite.unc.edu/LDP/HOWTO/SCSI-HOWTO.html"></tt>

<item><tt><htmlurl 
url="http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO.html"
name="http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO.html"></tt>

<item><tt><htmlurl
url="http://www.insflug.org/howtos/online/Sonido-Como.html" 
name="http://www.insflug.org/howtos/online/Sonido-Como.html"></tt>

<item><tt><htmlurl
url="http://www.influg.org/howtos/online/Kernel-Como.html"
name="http://www.influg.org/howtos/online/Kernel-Como.html"></tt>

<item><tt><htmlurl
url="http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html"
name="http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html"></tt>

<item><tt><htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/CD-Writing.html"
name="http://sunsite.unc.edu/LDP/HOWTO/CD-Writing.html"></tt>
</itemize>

Hay más de una docena de compañías que venden distribuciones de Linux en
CD-ROM; casi todas se encuentran referidas en el Distribution-HOWTO. 

Los siguientes grupos de noticias se ocupan de temas relacionados con el
CD-ROM: 

<itemize>
<item><tt><htmlurl url="news:comp.publish.cdrom.hardware"
name="comp.publish.cdrom.hardware"></tt>
<item><tt><htmlurl url="news:comp.publish.cdrom.multimedia"
name="comp.publish.cdrom.multimedia"></tt>
<item><tt><htmlurl url="news:comp.publish.cdrom.software"
name="comp.publish.cdrom.software"></tt>
<item><tt><htmlurl url="news:comp.sys.ibmpc.hardware.cd-rom"
name="comp.sys.ibm.pc.hardware.cd-rom"></tt>
<item><tt><htmlurl url="news:alt.cd-rom" name="alt.cd-rom"></tt>
<item><tt><htmlurl url="news:alt.cd-rom.reviews"
name="alt.cd-rom.reviews"></tt>
</itemize>

Los grupos de noticias <tt>comp.os.linux</tt>, (junto con su homónima en
castellano, <tt>es.comp.os.linux</tt>) también son una valiosa fuente de
información. 

Existe un gran archivo de software e información relacionada con el CD-ROM
en <tt><htmlurl url="ftp://ftp.cdrom.com/pub/cdrom/"
name="ftp://ftp.cdrom.com/pub/cdrom/"></tt>. 

Hay un documento con las FAQ para unidades IDE y ATAPI en <tt><htmlurl
url="ftp://rtfm.mit.edu/pub/usenet/news.answers/pc-hardware-faq/enhanced-IDE/" 
name="ftp://rtfm.mit.edu/pub/usenet/news.answers/pc-hardware-faq/enhanced-IDE/"></tt>
y en <tt><htmlurl
url="http://www.seagate.com/techsuppt/faq/faqlist.html"
name="http://www.seagate.com/techsuppt/faq/faqlist.html"></tt>. 

Western Digital, la compañía precursora del protocolo IDE, ofrece
información sobre dicho protocolo en su FTP: <tt><htmlurl
url="ftp://fission.dt.wdc.com/pub/standards/atapi"
name="ftp://fission.dt.wdc.com/pub/standards/atapi"></tt>. 

Página Web dedicada a multimedia: <tt><htmlurl
url="http://viswiz.gmd.de/MultimediaInfo/" 
name="http://viswiz.gmd.de/MultimediaInfo/"></tt>. Creative Labs tiene su
Web en <tt><htmlurl url="http://www.creaf.com/" 
name="http://www.creaf.com/"></tt>.

El Proyecto de Documentación de Linux ha dado como fruto muchos libros
sobre Linux, como la <em>Linux Installation and Getting Started</em>. 
Puede conseguirlos vía FTP, o también comprarlos impresos. La traducción
al castellano de los mismos está en <tt><htmlurl
url="http://www.infor.es/LUCAS" name="http://www.infor.es/LUCAS"></tt>. 

El <em>Mapa de Software para Linux (Linux Software Map)</em> (LSM) es una
referencia de máximo interés: p.e. <tt><htmlurl
url="ftp://sunsite.unc.edu/pub/Linux/docs/LSM/"
name="ftp://sunsite.unc.edu/pub/Linux/docs/LSM/"></tt>. 

Las listas de correo de linux tienen muchos canales dedicados a diferentes
temas. Para averiguar cómo subscribirse, envíe un e-mail con la palabra
"help" en el cuerpo del mensaje a <tt><htmlurl
url="mailto:majordomo@vger.rutgers.edu"name="majordomo@vger.rutgers.edu"></tt>
(Nota: a la hora de escribir este documento, las listas de correo estaban
muy sobrecargadas, y pendientes de reeestructuración). 

Consejo final: Si desea aprender mucho más sobre multimedia bajo Linux (en
concreto sobre aplicaciones y programación del CD-ROM y la tarjeta de
sonido), consulte mi libro <em>Linux Multimedia Guide</em>, ISBN
1-56592-219-0, publicado por la firma O'Reilly and Associates.

Se encuentran impresas tanto la versión original en Inglés, como las
traducciones al Francés y Japonés. Para más detalles, puede telefonear al
800-998-9938 de Norte América, consultar la pagina Web <tt><htmlurl
url="http://www.ora.com/catalog/multilinux/noframes.html"
name="http://www.ora.com/catalog/multilinux/noframes.html"></tt>
o también mi página personal <tt><htmlurl 
url="http://www.pobox.com/&tilde;tranter/"
name="http://www.pobox.com/&tilde;tranter/"></tt>.

<sect>Anexo: El INSFLUG <label id="Grupos">
<p>

El <em/INSFLUG/ forma parte del grupo internacional 
<it/Linux Documentation Project/, 
encargándose de las traducciones al castellano de los Howtos (Comos),
así como la producción de documentos originales en aquellos casos
en los que no existe análogo en inglés.

En el <bf/INSFLUG/ se orienta preferentemente a la traducción de documentos
breves, como los <em/COMOs/ y <em/PUFs/ (<bf/P/reguntas de
<bf/U/so <bf/F/recuente, las <it/FAQs/. <tt/:)/ ), etc.

Diríjase a la sede del INSFLUG para más información al respecto.

En la sede del INSFLUG encontrará siempre las <bf/últimas/ versiones 
de las traducciones:  <tt><htmlurl url="http://www.insflug.org" 
name="www.insflug.org"></tt>. Asegúrese de comprobar cuál es la última versión 
disponible en el Insflug antes de bajar un documento de un servidor réplica.

Se proporciona también una lista de los servidores
réplica (<it/mirror/) del Insflug más cercanos a Vd.,  
e información relativa a otros recursos en castellano.

Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org"
name="pacopepe@insflug.org"></tt>.
</article>
