Los Servicios de Tarjeta para Linux son un paquete de soporte completo para PCMCIA o PC Card. Incluye un conjunto de módulos cargables en el kernel que implementan una versión de la interface del programa de aplicación de Servicios de Tarjetas, un conjunto de controladores de clientes para tarjetas específicas, y un demonio controlador de tarjetas que responde a los eventos de inserción y extracción de tarjetas, el cual carga y descarga los controladores según sea necesario. Soporta «extracción en caliente» de la mayoría de tarjetas, por lo que pueden ser insertadas y extraídas de forma segura en cualquier momento.
Este software está en continuo desarrollo. Probablemente contenga bugs, y debe ser usado con precaución. Haré lo que esté en mi mano para resolver los problemas que me son comunicados, pero si no me los dice, nunca lo sabré. Si usa este código, espero que me envíe sus experiencias, ¡buenas o malas!
Si tiene sugerencias de cómo puede mejorarse este documento, por favor
hágamelo saber (
dhinds@hyper.stanford.edu
).
Derechos Reservados © 1998 David A. Hinds
Este documento puede ser reproducido o distribuido en cualquier forma sin mi permiso previo. Las versiones modificadas de este documento, incluyendo traducciones a otros idiomas, pueden ser distribuidos libremente, si son claramente identificados como tales, y siempre que este copyright se incluya intacto.
Este documento puede ser incluído en distribuciones comerciales sin mi previo consentimiento. Aunque no suponga requisito, me gustaría estar informado de su uso. Si pretende incorporar este documento en un trabajo para ser publicado, por favor contacte conmigo para asegurarme que tiene la última versión disponible.
Este documento se proporciona «TAL CUAL», sin garantías expresas o implícitas. Utilice la información en este documento bajo su propio riesgo.
La versión actual de los Servicios de Tarjetas es la 3.0
, y las
actualizaciones menores o reparaciones de bugs se numeran 3.0.1
,
3.0.2
, y así sucesivamente.
El código fuente de la última versión está disponible en
ftp://hyper.stanford.edu
en
el directorio /pub/pcmcia
como pcmcia-cs-3.0.?.tar.gz.
Habrá usualmente varias versiones ahí. Por lo general, solo conservo la
última versión menor para dar origen a una versión mayor.
Las nuevas versiones pueden contener código relativamente sin probar, así
que también conservo la última versión de la última mayor como «colchón»
relativamente estable; el retraso actual es 2.9.12
. Vd. decide qué
versión es más apropiada, el archivo CHANGES
mostrará las diferencias
más importantes.
ftp://hyper.stanford.edu
es replicado en
ftp://sunsite.unc.edu
(y todos
los servidores réplica de Sunsite) en
/pub/Linux/kernel/pcmcia
.
Si no se siente Vd. a gusto compilando controladores, hay controladores precompilados incluidos con las versiones actuales de la mayoría de las distribuciones principales de Linux, incluyendo Slackware, Debian, Red Hat, Caldera, SuSE, e Yggdrasil, entre otros.
Este paquete debería correr en la mayoría de portátiles basados en Intel y que sean «Linuxizables». También corre en plataformas basadas en Alpha (DEC Multia, por ejemplo). Se programa para hacer al paquete completamente dual-endian, así que también soporta plataformas basadas en PowerPC (Apple Powerbooks, por ejemplo). Los controladores de sockets más comunes están soportados. Las bahías de tarjetas PCMCIA para sistemas de escritorio deben funcionar si usan un controlador soportado, y se conectan directamente al bus ISA o PCI, lo opuesto a los adaptadores SCSI-a-PCMCIA o IDE-a-PCMCIA.
Están soportados los siguientes controladores:
Otros controladores que están registrados como compatibles con el Intel i82365sl, funcionarán también como norma general.
El soporte para tarjetas CardBus de 32 bits es todavía experimental.
Los manejadores previos a la versión 3.0
sólo soportan tarjetas de 16
bits en sockets CardBus. Debido al paso tan rápido en el cambio de la
tecnología para el hardware de portátiles, aparecen nuevos controladores
frecuentemente, y puede producirse cierto estancamiento entre el momento
en que aparece un nuevo modelo en el mercado, y el que haya soporte para
ese controlador.
Toshiba ha dispuesto parcialmente documentación sobre sus chipsets ToPIC95 y ToPIC97, sin embargo, la información que han liberado no ha sido la realmente adecuada. A pesar de los informes de conflictos, Toshiba no ha hecho algún esfuerzo efectivo para remediar esta situación. Hay problemas serios en el soporte de Linux para los chipsets ToPIC, que no pueden ser resueltos hasta que esté disponible una documentación mejor, o la ayuda adecuada por parte de Toshiba. No recomiendo el uso de portátiles Toshiba por el momento. Para el uso de tarjetas de 16 bits, recomiendo establecer el modo de puente a PCIC en la configuración de la BIOS; para tarjetas CardBus, la decisión es suya.
El controlador Motorola 6AHC05GA usado en portátiles Hyundai, no está soportado. El controlador en la HP Omnibook 600 tampoco.
La versión actual incluye controladores para una variedad de tarjetas
ethernet, para tarjetas módem y puertos serie, varios controladores para
adaptadores SCSI, un controlador para tarjetas de unidades ATA/IDE, y
controladores para tarjetas de memoria que sólo soportan la mayoría de
tarjetas SRAM y algunas tarjetas flash. El archivo SUPPORTED.CARDS
incluído en cada versión de Servicios de Tarjetas lista todas las tarjetas
que se sabe que funcionan al menos en un sistema.
La probabilidad de que funcione una tarjeta que no está en la lista de soportados depende del tipo. Esencialmente todos los módems deberían funcionar con el controlador provisto. Algunas tarjetas de red pueden funcionar si hay versiones OEM de las tarjetas soportadas. Otro tipo de tarjetas de E/S (frame buffers, tarjetas de sonido, etc) no funcionarán hasta que alguien escriba los controladores apropiados.
Desafortunadamente, no me pagan por escribir controladores para
dispositivos, así que si quiere tener un controlador para su tarjeta
favorita, probablemente tendrá trabajar un poco. Idealmente, me gustaría
trabajar hacia un modelo como el del kernel de Linux, donde yo sea el
responsable principalmente del código del núcleo y otros autores puedan
contribuir y mantener los controladores para tarjetas específicas. El
archivo SUPPORTED.CARDS
menciona algunas tarjetas para las cuales
los controladores están actualmente en progreso. Trataré de ayudar donde
pueda, pero tenga en cuenta que depurar controladores de dispositivo del
kernel por email no es particularmente efectivo.
Los fabricantes interesados en ayudar a proveer soporte Linux para sus productos pueden contactar conmigo a fin de acordar consultorías.
Solía mantener una base de datos y una lista de correo de usuarios de
Linux PCMCIA. Recientemente he convertido mi página web para información
de Linux PCMCIA en un sitio HyperNews, con un conjunto de listas de
mensajes de temas de Linux PCMCIA. Hay listas para instalación y
configuración, para diferentes tipos de tarjetas, para programar y
depurar. La página de información de Linux PCMCIA está en
http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html
. Los
usuarios pueden solicitar otificación por email de nuevas respuestas a
preguntas particulares, o notificación para todos los mensajes nuevos en
una categoría dada. Espero que esto sea un repositorio útil de
información, para cuestiones que van más allá del enfoque del COMO.
Hay una lista de Linux dedicada a asuntos de portátiles, la lista
linux-laptop
. Para más información, envíe un mensaje con la palabra
help
a
majordomo@vger.rutgers.edu
. Para suscribirse, envíe un email
que contenga el mensaje subscribe linux-laptop
a la misma dirección.
Esta lista de correo puede ser un buen foro de discusión de asuntos de
Linux PCMCIA.
La página de Linux Laptop está en
http://www.cs.utexas.edu/users/kharker/linux-laptop
tiene
enlaces a muchos sitios que tienen información acerca de la configuración
de tipos específicos de portátiles para Linux. Hay también una base de
datos para buscar información acerca de configuración de sistemas.
Para mi, distribuir los binarios puede suponer una molestia importante.
Esto es complicado porque algunas características solo pueden ser
seleccionadas al momento de compilar, y porque los módulos dependen mucho
de contar con una configuración «correcta» del kernel. Así, probablemente
necesite distribuir módulos precompilados junto con los kernels
correspondientes. Más que esto, la necesidad más grande de los módulos
precompilados es cuando se instala Linux en un sistema limpio. Esto
típicamente requiere configurar los controladores para que puedan ser
utilizados en el proceso de instalación, para una distribución de Linux en
particular. Cada distribución de Linux tiene su propia idiosincrasia, y no
me resulta factible el proveer discos boot
y root
para cada una
de las combinaciones de controladores y distribuciones.
PCMCIA forma parte ahora de las principales distribuciones de Linux, incluyendo RedHat, Caldera, Slackware, Yggdrasil, Craftworks y Nascent Technology.
Bueno, no es realmente tan grande al fin y al cabo. Todos los módulos
controladores ocupan alrededor de 500K de espacio en disco. Los programas
de utilidades añaden unos 70K, y los scripts en /etc/pcmcia
son
de 50K. Los controladores principales ocupan unos 55K de la memoria del
sistema. El demonio cardmgr
será generalmente intercambiado excepto
cuando cuando las tarjetas sean insertadas o extraídas. El tamaño total
del paquete es comparable a las implementaciones de servicios de tarjetas
de DOS/Windows.