Hardware básico y Linux

Indicadores de Logros:

Lectura: Hardware básico y Linux

En ocasiones cuando un componente de un computador falla o cuando se requiere instalar uno nuevo, un administrador puede requerir comprar uno compatible con Linux, instalarlo y configurarlo. Estas actividad en general no presentará problemas, mientras se informe bien.

En esta sección presentamos nociones básicas sobre el hardware que típicamente se encuentra en la placa base de un PC, así como su configuración en Linux. Varios dispositivos que no se presentan en esta sección se presentan en la siguiente (ver Dispositivos y Linux) o en el siguiente capítulo (ver Dispositivos para interconexión y Linux). Tenga en cuenta al leer esta sección que nos hemos concentrado en hardware cercano a la recomendación de la plataforma de referencia ver Plataforma de referencia.

Precauciones para manipular hardware

Para instalar una tarjeta adaptadora, memoria o diversos dispositivos, tendrá que destapar su computador. A continuación damos algunas recomendaciones:

  • Consulte la documentación particular de su computador y guardela para referencia futura.

  • Normalmente NO tendrá que abrir el monitor de su computador. Le recomendamos no hacerlo porque los niveles de voltaje de un monitor o un televisor (i.e. de un tubo de rayos catódicos CRT) son bastante elevados (>10000V), permanencen así durante un tiempo después de desconectado y si no toma las precauciones debidas puede sufrir una descarga eléctrica mortal.

    Este dispositivo puede mantener niveles de voltaje muy altos tiempo después de ser apagado y desconectado. No debe abrirse.

  • Antes de abrir el computador apague el equipo, así evitará dañar componentes, haciendo cortos accidentales y evitará recibir descargar eléctricas.

    En general, antes de abrir un componente eléctrico es recomendable ...

  • Antes de abrirlo toque un elemento "tierra" [1], normalmente la carcaza de su computador si este tiene un polo a tierra. De esta forma puede sacar la carga eléctrica estática que pueda quedar en su cuerpo. Esto es importante, porque las cargas estáticas puede dañar ciertos dispositivos. Mantenga también los dispositivos en su envoltura antiestática mientras no los use y trate de manipularlos por sus esquinas sin tocar sus circuitos integrados.

  • Si por algún motivo ve que el componente no está en óptimas condiciones, no le suministre energía ni lo instale en su computador.

Generalidades sobre la placa base

TAmbién llamada tarjeta madre, es una lámina sobre la que hay circuitos, componentes electrónicos, el procesador y conexiones entre ellos.

Cuando destape un computador personal verá una lámina sobre la que encontrará entre otros: circuitos integrados (entre ellos el procesador y el BIOS), espacios para la memoria, puertos para discos, ranuras para otras tarjetas, jumpers para configurarla. Esa lámina se llama placa base o tarjeta madre [2]. Separados de la placa, aunque conectados por medio de cables, eventualmente podrá ver unidades de disquete, de CD-ROM, discos duros, una fuente de potencia (por la que se suministra corriente electríca alterna ---en Colombia 110V 60Hz--- y que convierte para uso del computador a corriente directa).

Esta es la frecuencia de la energía eléctrica en Colombia.

Con el fin de facilitar el cambio y actualización de los dispositivos, una placa base tiene ranuras de uno o más tipos de buses (e.g ISA, PCI, AGP) para conectar en ellos tarjetas que sean o que controlen dispositivos (e.g. tarjeta de sonido, tarjeta de video) o que sirvan como adaptadores para cierto tipo de puertos (e.g adaptadores para dispositivos SCSI), puede también tener integrados controladores y puertos para cierto tipo de dispositivos (e.g IDE, teclado, ratón, puerto paralelo, puerto serial), y eventualmente puede tener integrados dispositivos (e.g. tarjeta de sonido).

Generalidades sobre dispositivos

Los dispositivos que pueden conectarse a la placa base por puertos, ranuras o por intermedio de tarjetas adaptadoras tienen direcciones de entrada salida (también llamadas puertos E/S [3]) que les permiten intercambiar datos con el procesador, pueden emplear además unos cables especiales del procesador llamados líneas IRQ (Interruption Request) para solicitar atención especial (por ejemplo cuando un dato llega a un modem, este puede activar la línea IRQ que tenga asignada para solicitar procesamiento del dato), eventualmente pueden emplear canales DMA (Direct Memory Access) para transmitir información directamente a la memoria sin intervención del procesador y eventualmente si el dispositivo emplea directamente la memoria puede requerir además una dirección base en memoria compartida [4] para comunicarse con los programas.

Es un número con el que se asocia un dispositivo, para permitir su identificación y comunicación con el procesador. Un mismo dispositivo puede emplear diversos de estos números.

Una línea ... puede ser empleada por un dispositivo para solicitar atención al procesador.

Algunos dispositivos pueden emplear un canal ... para acceder directamente a la memoria, sin intervención del procesador.

Número de líneas IRQ en la arquitectura i386.

Número de direcciones E/S en la arquitectura i386.

Número de canales DMA en la arquitectura i386.

Archivo que puede examinarse para determinar las líneas IRQ en uso.

Archivo que puede examinarse para determinar los canales DMA en uso.

Archivo que puede examinarse para determinar los puertos de E/S en uso.

Archivo que puede examinarse para determinar los rangos de memoria compartida usados por dispositivos.

Normalmente los recursos citados sólo pueden ser empleados por un dispositivo a la vez, si dos emplean el mismo recurso pueden entrar en conflicto y no funcionar. Dado que sólo hay 16 líneas IRQ, 65535 direcciones de E/S, 8 canales de DMA (los primeros 4 de 8 bits y los otros 4 de 16 bits) y la memoria compartida es memoria RAM de su computador (límitada por la cantidad que tenga) debe configurar nuevos dispositivos teniendo en cuenta los que ya hay (algunos dispositivos y controladores permiten compartir IRQ con otros). Para conocer la asignación de recursos puede examinar: /proc/interrupts que lista las interrupciones en uso, /proc/dma que lista DMAs en uso, /proc/ioports que presenta los puertos E/S asignados (tenga en cuenta que normalmente un dispositivo requiere un rango de puertos consecutivos, ningún puerto en ese rango debe estar ocupado ---por ejemplo una tarjeta de red Ethernet requiere un puerto base y los 31 puertos siguientes), /proc/iomem presenta los rangos de memoria compartida con dispositivos.

El estado de los puertos puede verse o modificarse por intermedio del archivo /dev/port.

A nivel de sistema operativo, Linux presenta los dispositivos que puede manejar como "archivos" del directorio /dev (ver Ubicación de archivos y directorios), puede consultar la lista de los dispositivos reconocidos con:


cat /proc/devices

Este archivo lista los dispositivos reconocidos.

Procesador

Este dispositivo puede realizar cálculos y administrar memoria y dispositivos, en un orden dictado por un reloj.

Unidad de frecuencia, empleada para indicar velocidad del reloj de un computador.

Es un circuito integrado que realiza algunos cálculos y que controla memoria y dispositivos. Para dar orden a su operación emplea un reloj para ejecutar una instrucción por cada pulsación. Recibe toda la información por diversos cables (por ejemplo el bus de datos de la arquitectura i386 [5] tiene 32 cables) codificada en cada cable con dos níveles de voltaje: alto y bajo [6]. La velocidad del reloj ---que determina la velocidad del procesador--- se mide en Hertz [7].

Es un nivel de voltaje alto o bajo, se representa con un 1 o un 0.

Un kernel compilado para un Intel 386 podría usarse en sus procesadores descendientes, clones o compatibles, aunque el kernel soporta de manera particular algunos de tales procesadores. La serie 2.2 del kernel soporta 80386DX/DXL/SL/SLC/SX [8] de Intel o Cyrix, 80486DX/DX2/DX4 de AMD o Cyrix o IBM o Intel, AMD K5, Intel 5x86/6x86/6x86MX, Intel Pentium Classic, Intel Pentium MMX, AMD K6-3D, Cyrix/VIA, CyrixIII, Intel Pentium Pro, Intel Pentium II, 6x86MX/MII de Cyrix/IBM/National Semiconductor. La serie 2.4 tiene soporte especial además para: Intel Pentium III, Intel Pentium 4, AMD K7 (Athlon/Duron/Thunderbird), Crusoe de Tansmeta, Winchip C6/2/2A y soporta varios procesadores en una misma placa base (SMP - Symmetric Multi Processing). No soporta 80286 o procesadores previos a ese.

En los depósito de Debian hay kernels ya compilados con soporte especial para algunos de estos procesadores. Sus nombres son de la forma kernel-image-version-procesador (ver Configuración del kernel).

Puede examinar información sobre el procesador que tiene con:


cat /proc/cpuinfo

En este archivo puede examinar información sobre el procesador que tiene.

Memoria RAM

Unidad con la que se mide capacidad de almacenamiento en memoria RAM.

La memoria RAM (Random Access Memory) permite almacenar información mientras el computador está encendido. La cantidad de información que puede almacenar se mide en bytes [9].

La memoria tiene una velocidad de acceso, menor a la velocidad del procesador, que está limitada por el tipo de memoria, el procesador y el chipset [10] de la placa base.

Una placa base normalmente tendrá módulos de memoria [11]. que pueden cambiarse. Los tipos de conectores ---que dependen del procesador y de la placa base--- pueden ser SIMM (Single in-line memory module) de 32 bits y 72 pines o DIMM (Double in-line memory module) de 64 bits y 168 pines.

Puede examinar la memoria disponible en su sistema en este archivo.

Puede examinar la cantidad de memoria de su computador con el programa free o con:


cat /proc/meminfo
que también presentará información sobre memoria virtual, es decir espacios del disco duro usados para hacer las veces de memoria RAM (estos espacios del disco son particiones especiales ver Discos duros). Si nota que Linux no llega a reconocer automáticamente toda la memoria que tiene instalada puede especificarla manualmente pasando un parámetro como mem=128M desde el cargador de arranque (ver Parámetros desde el cargador de arranque).

El contenido de la memoria física puede verse o modificarse con el archivo /dev/mem (c,1,1)[12] y la memoria virtual con /dev/kmem (c,1,2).

Aviso

No modificar directamente /dev/mem ni /dev/kmem.

Aunque hay distribuciones más livianas que las sugeridas en estas guías que podrían instalarse con 4MB (e.g Tiny /, SmallLinux http://www.superant.com/smalllinux/), nuestras recomendaciones de software requieren mínimo 32MB en RAM. La serie 2.2 del kernel soporta máximo 2GB, la serie 2.4 soporta máximo 64GB --Debian Potato por defecto soporta máximo 1GB y mínimo 12MB.

Número máximo de GigaBytes en RAM soportados por la serie 2.2 del kernel.

Número máximo de GigaBytes en RAM soportados por la serie 2.4 del kernel.

Buses

Para que un dispositivo pueda ser usado por el procesador es necesario que ambos estén eléctricamente conectados y que se comuniquen empleando un "lenguaje" (protocolo) común. A un tipo de conexión junto con un protocolo para realizar esta comunicación se le llama bus.

Especificación de las características que debe cumplir un dispositivos para comunicarse con un procesador. Hay diversos estándares como ISA, EISA, PCI, AGP.

Hay diversos tipos de buses, cada uno tiene un tamaño (medido en bits) que índica cuanta información puede transmitirse simultáneamente (8, 16, 32 o 64 bits) y una velocidad de reloj diferente a la velocidad del procesador (e.g 60Mhz, 100Mhz). A continuación presentamos información sobre los tipos de buses más comunes en computadores de escritorio, todos los cuales son soportados por Linux:

ISA (International Standard Architecture)

Tipo de bus bastante popular, que data de 1980 y es de 8Mhz.

Aunque este tipo de bus de 8Mhz es de 1980, hay placas base recientes con ranuras que lo soportan y hay una amplia gama de dispositivos tanto de 8 como de 16 bits (tarjetas de red, tarjetas SCSI, controladoras IDE, tarjetas de video, etc). Todas las versiones del kernel soportan este bus y gran cantidad de dispositivos ISA (algunos se presentan en otras secciones).

Configuración de hardware

Algunos de estos dispositivos emplean recursos (puertos E/S, IRQ, DMA) con valores prefijados por quien lo instala antes de que el computador sea encendido. Normalmente cada dispositivo podrá ser configurado para emplear diversos recursos (por ejemplo diversas líneas IRQ) y así evitar conflictos en el uso de estos recursos con otros dispositivos. Algunos dispositivos se pueden configurar con jumpers en el hardware (de acuerdo a las instrucciones que acompañan al dispositivo y mientras el computador está apagado) o bien por software ---normalmente con un programa para DOS que guarda la configuración que usted elija en una memoria EPROM del dispositivo. Hay algunos programas para Linux que permiten hacer estas configuraciones para ciertos dispositivos, puede también emplearse software para DOS con una versión de libre redistribución de ese sistema como FreeDOS http://www.freedos.org).

Si el dispositivo usa una IRQ y su BIOS soporta Plug and Play, debe también entrar a la configuración del BIOS y marcar ese IRQ como "Legacy-ISA" en lugar de "PnP".

Configuración del sistema operativo

Después de configurar el dispositivo y tras iniciar el sistema operativo debe emplear el controlador apropiado para manejarlo y pasar parámetros acordes con la configuración que hizo, por ejemplo si configura una tarjeta de red ISA compatible NE2000 para usar la IRQ 12 y la dirección base 0x200 y tiene el módulo ne, debe configurarlo por ejemplo con modconf (verKernel y módulos) o con:


modprobe ne irq=12,io=0x200
Dispositivos ISA Plug and Play (PnP)

Algunos dispositivos para puertos ISA denominados Plug and Play pueden ser configurados después de que el computador ha iniciado, bien por la BIOS o bien por el sistema operativo. Estos dispositivos son manejados automáticamente por el kernel 2.4 y pueden configurarse manualmente con las herramientas isapnp tanto en el kernel 2.2 como en el 2.4. Si usted lo prefiere o el kernel no logra configurar alguno de estos dispositivos tiene estas alternativas:

  1. Algunos de estos dispositivos permiten activar/desactivar el funcionamiento como Plug and Play. Si ese es el caso desactívelo y configure el dispositivo como se explicó para dispositivos ISA. Eventualmente también tendrá que desactivar la posible opción de su BIOS: PnP OS.

  2. Programa que detecta posibles configuraciones para dispositivos ISA Plug and Play.

    Emplee las utilidades isapnptools (paquete con el mismo nombre) para asignar una configuración que no entre en conflicto con la de otros dispositivos y que en caso de tener otro sistema operativo en el mismo disco debe coincidir con esa (en tal caso revise primero la configuración que el dispositivo tiene en el otro sistema operativo). Para generar un archivo con las posibles configuraciones de los dispositivos ISA PnP, ejecute el programa pnpdump redireccionando la sálida e.g

    
pnpdump > ~/pnp.txt
    
    después edite el archivo ~/pnp.txt para escoger una configuración adecuada que no entre en conflicto y pruebela ejecutando:
    
isapnp ~/pnp.txt
    

    Programa que intenta configurar dispositivos ISA Plug and Play con un archivo de configuración como los producidos por pnpdump.

    El archivo generado consta de líneas con comentarios (iniciadas con el caracter '#') e instrucciones que indican como debe realizarse la configuración general y la configuración particular de cada dispositivo. Cada instrucción debe estar entre paréntesis con sus posibles parámetros. Las primeras instrucciones (configuación general) indican como se realiza el asilamiento de dispositivos ISA PnP, si debe ser realizado por isapnp con la instrucción (ISOLATE) (esto es necesario con algunas BIOS que no soportan ISA PnP), por el contrario si el aislamiento lo hace el BIOS el archivo debe comenzar con algo como:

    
(READPORT 0x3bb)
    (CSN 2)
    (IDENTIFY *)
    
    A continuación debe haber una sección para cada dispositivo ISA PnP, que indica como se configura, por ejemplo una sección típica (tras quitar comentarios) para configurar una tarjeta de sonido Sound Blaster es:
    
(CONFIGURE CTL0044/1132685 (LD 0 
    (INT 0 (IRQ 5 (MODE +E))) 
    (DMA 0 (CHANNEL 1))
    (DMA 1 (CHANNEL 5)) 
    (IO 0 (BASE 0x220)) 
    (IO 1 (BASE 0x330)) 
    (IO 2 (BASE 0x388)) 
    (ACT Y)))"
    

    donde CTL0044/1132685 es la identificación del dispositivo, LD 0 es un número asignado al dispositivo por Linux (logical device) y las siguientes líneas especifican que el usuario eligió para el dispositivo: 1 línea IRQ (5), 2 canales DMA (1 y 5) y 3 direcciones E/S base (0x220 [13], 0x330 y 0x388).

    Importante: La línea con (ACT Y) es indispensable para que la configuración sea tenida en cuenta. Después de todas las secciones de dispositivos el archivo debe terminar con la instrucción (WAITFORKEY).

    Archivo leido durante el arranque para configurar dispositivos ISA Plug and Play.

    Una vez logre configurar el dispositivo ---lo habrá logrado si al ejecutar isapnp y al cargar el módulo no se presentan errores--- puede hacer el cambio permanente guardando la configuración en el archivo /etc/isapnp.conf que tiene la sintaxis de los archivos generados por pnpdump y que es cargado automáticamente durante la inicialización del sistema (puede ver el script /etc/init.d/isapnp que es usado en /etc/rcS.d ver Inicialización del sistema). Además de /etc/isapnp.conf, el programa isapnp emplea el archivo /etc/isapnp.gone en el que se pueden especificar recursos que NO están disponibles para dispositivos Plug and Play.

MCA o Microcanal

Tipo de bus de 32 bits, 12Mhz usado en computadore IBM PS/2.

Este bus de 32 bits que opera a 12Mhz fue introducido por IBM en 1987 para su línea de computadores PS/2, es usado por estos y por algunos computadores portátiles. El kernel lo soporta con la variable de configuración CONFIG_MCA (vr Kernel y módulos). De acuerdo a la documentación del kernel (Documentation/mca) cuando se usa puede examinarse en /proc/mca: pos lista de registros POS, slot[1-8] información sobre el adaptador de una ranura, video información sobre video integrado, scsi información sobre SCSI integrado, machine información sobre la máquina. Hay más bien pocos controladores Linux para este tipo de bus, así como también hay relativamente pocos dispositivos que lo soporten. Los dispositivos se configuran por software (ver sección ISA) y los controladores recibien como parámetros los recursos usados.

EISA (Enhanced Industry Standard Architecture)

Extensión de 32 bits al bus ISA, puede operar a 20Mhz.

Esta es una extensión de 32 bits al sistema ISA [14] introducida en 1988, que puede funcionar a 20Mhz. Este bus y muchos dispositivos EISA son soportados por Linux (ver sección sobre el tipo de dispositivo particular).

VESA o VL-Bus o VLB (Video Electronic Standard)

Tipo de bus de 32 bits, específico para el procesador i486 y usado por algunas tarjetas graficadoras.

En su versión 1.2, se trata de un bus de 32bits, 33Mhz atado al procesador 486, usado por algunas tarjetas graficadoras producidas especialmente entre 1992 y 1994. La versión 2.0 de VESA es empleada por algunas tarjetas graficadoras (como ATI Video Expression, Matrox Millennium G200, Riva 128 y otras listadas en Framebuffer-HOWTO), en particular permite el uso de framebuffer desde Linux con el controlador vesafb (en particular si se activa soporte para dispositivos framebuffer VESA en el kernel y si se cuenta con una tarjeta VESA 2.0, durante el arranque aparecerá el logo de Linux).

PCI (Peripheral Component Interconnect) o Local Bus

Tipo de bus de 32 bits, que puede extenderse con otros buses. Opera a 66Mhz, soporta ISA y asigna automáticamente líneas IRQ.

Este es un diseño de bus de 1993 extensible [15] de 32bits que opera a 66Mhz y que soporta ISA, las líneas IRQ de estos dispositivos son asignadas automáticamente durante el arranque por la BIOS (no hay forma de asignar manualmente una IRQ a un dispositivo PCI). El programa de configuración de algunas BIOS permite evitar que ciertas IRQs sean usadas en la asignación automática (eventualmente en una menú Plug and Play), de forma que esas pueden reservarse para otros dispositivos ISA/EISA.

Los dispositivos PCI tienen una identificación única que permite clasificar el tipo de dispositivo y el fabricante [16]. Estas identificaciones suelen ser presentadas por algunas BIOS durante el arranque del sistema, en Linux puede examinarse junto con los recursos que emplean con:


cat /proc/pci

Archivo que lista dispositivos PCI y los recursos que emplean.

o con lspci. En Internet puede consultarse la lista de vendedores y dispositivos en: http://www.yourvote.com/pci/ o en caso de sólo conocer el número FCC [17] de un dispositivo puede consultar el vendedor en: http://www.fcc.gov/oet/fccid/

El kernel 2.2.19 y la serie 2.4, durante el arranque identifican también los dispositivos PCI conectados y tratan de cargar los controladores apropiados, normalmente sin intervención del usuario. Si el módulo apropiado para un dispositivo PCI no logra ser cargado automáticamente durante el arranque, puede cargarlo después por ejemplo con modconf (normalmente no requerirá parámetros para dispositivos PCI ver Módulos).

USB (Universal Serial Bus)

Es un tipo de bus extensible por medio de hubs. Funciona a 12Mbtis y soporta hasta 127 dispositivos.

Este tipo de bus que permite tasas de transmisión de 12 Mbits y hasta 127 dispositivos, no requiere la instalación de tarjetas, los dispositivos pueden conectarse y desconectarse mientras el computador está encendido, se conectan a puertos de la placa base o tarjetas adaptadoras o a otros dispositivos USB que actuan como concentradores [18]. Los conectores se distinguen por ser rectangulares, cada dispositivo puede separarse de un concentrador/puerto USB hasta 5 metros.

Las versiones del kernel posteriores a la 2.2.18 soportan dispositivos USB (CONFIG_USB, usbcore), y dos posibles protocolos empleados por el chipset de la placa base:

UHCI (Universal Host Controller Interface)

Protocolo para buses USB desarrollado por Intel.

Desarrollada por Intel y presente en placas base con chipsets PCI de Intel como 430TX/44FX/440LX/440BX/i810/i820 o en chipsets PCI de VIA como VIA VP2, VP3, MVP3, Apollo Pro /II/133). En el kernel se configura con CONFIG_USB_UHCI, módulo usb-uhci o bien con el controlador alterno CONFIG_USB_UHCI_ALT, uhci.

OHCI (Open Host Controller Inteface)

Protocolo para buses USB desarrollado por Compaq/Microsoft/National.

Desarrollado por Compaq/Microsoft/National los controladores USB en la mayoría de arquitecturas con chipsets no Intel (como SIS o ALI) cumplen este estándar. CONFIG_USB_OHCI, usb-ohci.

De acuerdo a documentación del kernel (Documentation/usb/scanner.txt), los chipsets que soportan UHCI al ejecutar lspci -V presentan información de la forma:


 USB Controller: ......
 Flags: .....
 I/O ports at ....

mientras que los que soporta OHCI dicen:


 USB Controller: ......
 Flags: .....
 Memory at ...

El controlador básico presenta [19] los dispositivos detectados en /proc/bus/usb/devices, los controladores usados en /proc/bus/usb/001/002 (cambiando 001 por el número de bus y 002 por el número de dispositivo). Para verlos debe montarse antes el directorio con mount -t usbdevfs none /proc/bus/usb (ver Montaje y desmontaje de sistemas de archivos).

Directorio que debe montarse para poder ver información de dispositivos USB.

Los dispositivos USB para interacción con humanos (e.g ratón, teclado, joystick, tarjeta digitalizadora), son manejados con el controlador HID - Human Interface Device (CONFIG_USB_HID, hid) ---si su computador tiene estos dispositivos puede requerir incluir estáticamente este controlador en el kernel, para eso debe escoger también durante la configuración soporte básico de entrada (Input core support, CONFIG_INPUT).

Hay controladores genéricos para audio (CONFIG_USB_AUDIO, audio), scanner (CONFIG_USB_SCANNER, scanner), impresora (CONFIG_USB_PRINET, printer), modems y dispositivos ISDN (CONFIG_USB_ACM, acm), dispositivos de almacenamiento (CONFIG_USB_STORAGE, usb-storage), dispositivos Bluetooth ---comunicaciones inalámbricas--- (CONFIG_USB_BLUETOOTH, bluetooth).

Hay soporte para varios adaptadores de USB a puerto serial (CONFIG_USB_SERIAL, usbserial), y el kernel 2.4 soporta un adaptador de puerto paralelo a USB.

AGP (Accelerated Graphics Port)

Tipo de bus introducido en 1997, especial para tarjetas graficadoras 3-D.

Fue introducido en 1997, es un bus especial para tarjetas graficadoras 3-D, que ofrece mayor velocidad que los puertos PCI. Es soportado por versiones recientes del kernel 2.2 (está en el 2.2.19) y por la serie 2.4. CONFIG_AGP, módulo agpgart. Es útil con algunas tarjetas de vídeo que emplean DRI o GLX de X-Window. Soporta los chipsets: Intel 440LX/BX/GX Intel 815/830M/840/850 (CONFIG_AGP_INTEL), Intel 810/815/830M (CONFIG_AGP_i810), VIA MPV3/Apollo (CONFIG_AGP_VIA), AMD Irongate 761/762 (CONFIG_AGP_AMD), SIS (CONFIG_AGP_SIS), ALI M1541/M1621/M1631/M1641/M1647/M1651 (CONFIG_AGP_ALI), Serverwork (CONFIG_AGP_SWORKS).

PCMCIA (Personal Computer Memory Card International Association)

Tipo de bus empleado en portátiles desde 1990.

Son puertos disponibles en portátiles desde 1990, para conectar tarjetas PCMCIA como Modems y tarjeta de red, los hay de 16 bits y de 32 bits (Cardbus). Los dispositivos PCMCIA pueden conectarse y descontarse mientras el computador está encendido y son reconfigurados automáticamente por las herramientas PCMCIA complementarias al kernel, paquete pcmcia-cs.

Otros tipos de buses

Linux también soporta otros tipos de buses no tan comunes como: I2O (http://www.i2osig.org), IrDA (Infrarojos), I2C.

Interfaz y dispositivos IDE

La placa basa puede tener tener varias interfaces IDE [20] (usualmente 2: ide0 e ide1), cada una de las cuales puede soportar hasta dos dispositivos con una misma correa (uno de los dos dispositivos es llamado maestro y el otro esclavo [21]). Las interfaces IDE usan 7 puertos E/S y una línea IRQ (e.g para ide0 el puerto E/S base por defecto es 0x1f0 y la línea IRQ es la 14, para ide1 0x170 y 15), que de no ser estándar deben especificarse como opciones para el kernel pasándolas desde el cargador de arranque e.g ide1=0x1f0,0x3f6,10 (Parametros cargador de arranque en ver Apagado y encendido de una red).

Este tipo de interfaces normalmente se emplea para conectar discos duros y CD-ROMs, suele haber dos ranuras en la placa base, cada una puede tener una correa que soporta dos dispositivos.

La versión 2.2 del kernel soporta hasta 6 interfaces IDE, cada una con dos discos y cada disco máximo con 63 particiones, la versión 2.4 soporta hasta 10 interfaces IDE.

Cantidad máxima de discos duros IDE soportados por el kernel 2.2

Cantidad máxima de discos duros IDE soportados por el kernel 2.4

Cantidad máxima de particiones de un disco IDE (tanto en 2.2 como 2.4)

El controlador de Linux para interfaces IDE las reconoce automáticamente y las maneja directamente (sin intermediación de la BIOS) [22], pero durante el arranque LILO se apoya en la BIOS para usarlas y en particular para usar los discos duros ---por eso al menos con BIOS no tan recientes, es indispensable que la partición /boot (o / si no se cuenta con una partición propia apara /boot) esté en los primeros 1024 cilindros, que es el límite soportado por diversas BIOS [23].

Los dispositivos asociados con los discos de las dos primeras interfaces IDE son:

/dev/hda

Archivo que se asocia al primer dispositivo IDE maestro.

Primario maestro (b, mayor 3, menor 0)

/dev/hdb

Primario esclavo (mayor 3, menor 64)

/dev/hdc

Secundario maestro (mayor 3, menor 0)

/dev/hdd

Secundario esclavo (mayor 3, menor 64)

Podrá emplearlos para referenciar discos duros, CDROMs o los dispositivos que conecte a cada interfaz.

De acuerdo al Hardware-HOWTO las siguientes interfaces IDE son soportadas: CMD-640 (soporta interfaces defectuosas), RZ1000 (soporta esta interfaz defectuosa), AEC62XX, ALI M15x3, AMD Viper, CY82C693, Cyrix CS5530 MediaGX, HPT34X, HPT366, Intel PIIXn, NS87415, OPTi 82C621, Promise PDC20246/PDC20262/PDC20267, ServerWorks OSB4, SiS5513, SLC90E66, Tekram TRM290, VIA82CXXX, DTC 2278D, FGI/Holtek HT-6560B VLB, Triton I, Triton II, ALI M14xx, Promise DC4030, QDI QD6580, UMC 8672.

Cuando se compila el kernel las variables de configuración relacionadas con interfaces IDE son: CONFIG_BLK_DEV_IDE soporte para interfaz IDE, CONFIG_BLK_DEV_IDEDISK soporte para discos IDE ATA-2 (módulo ide-disk), CONFIG_BLK_DEV_IDECD soporte para CDROM IDE ATAPI (módulo ide-cd), CONFIG_BLK_DEV_IDETAPE soporte para unidades de cinta ATAPI (módulo ide-tape), CONFIG_BLK_DEV_IDEFLOPPY floppy IDE con protocolo ATAPI (módulo ide-floppy). CONFIG_BLK_DEV_IDESCSI permite emular con un dispositivo IDE uno SCSI, esto por ejemplo es útil con quemadoras de CD-ROM IDE (módulo ide-scsi, ver Quemadora de CD).

Puede examinar el estado de las interfaces IDE en el directorio /proc/ide. Durante el arranque, aunque las interfaces son detectadas automáticamente puede especificar algunos recursos manualmente pasandolos desde el cargador de arranque, por ejemplo: ide0=0x1f0,0x3f6,14 [24].

Adaptadores y dispositivos SCSI

Protocolo empleado por diversos tipos de dispositivos (incluyendo discos duros, CD-ROMs, scanners), que normalmente requiere una tarjeta adicional para conectarlos a la placa base.

Cantidad máxima de particiones de un discos duros SCSI (tanto kernel 2.2 como 2.4)

Cantidad de discos duros SCSI soportados por Linux (tanto kernel 2.2 como 2.4)

Cantidad máxima de unidades de cinta SCSI soportados por Linux (tanto kernel 2.2 como kernel 2.4)

Cantidad máxima de CD-ROMs SCSI soportados por Linux (tanto kernel 2.2 como kernel 2.4)

SCSI es un protocolo empleado por algunos discos duros, unidades de cinta, unidades de CDROMs, scanners, quemadoras de CD y otros dispositivos. Para convertir ese protocolo al de un bus de una placa base se requiere una tarjeta adaptadora (las hay para los diversos tipos de buses).

De acuerdo al SCSI-2.4-HOWTO, para emplear dispositivos SCSI en Linux deben usarse 3 tipos de módulos:

Controlador general SCSI

Variable CONFIG_SCSI en kernel; módulo scsi_mod.

Controlador de alto nivel de acuerdo al tipo de dispositivo

Disco duro

Variable CONFIG_BLK_DEV_SD; módulo sd_mod; dispositivos: primer disco /dev/sda (mayor 8 por bloques, menor 0, la primera partición tiene menor 1 /dev/sda1, la segunda 2 /deb/sda2 y así sucesivamente máximo hasta 15), segundo disco /dev/sdb (menor 16), tercero /dev/sdc y así sucesivamente máximo hasta 16 discos (empleando los mayores 65 - 71 y un esquema análogo pueden instalarse hasta 128 discos SCSI).

Unidad de cinta

Variable CONFIG_CHR_DEV_ST; módulo st; parámetros: buffer_kbs=32 tamaño en KB del buffer por defecto , write_threshold_kbs=30 umbral para escritura asincrona, max_buffers=4 máximo de buffers localizados durante inicialización, max_sg_segs=4 máximo número de segmentos de dispersión/agrupación; una vez configurado pueden emplearse los dispositivos (con mayor 9): /dev/st0 (menor 0) modo 0, /dev/st0l (menor 32) modo 1, /dev/st0m (menor 64) modo 2, /dev/st0a (menor 96) modo 3, /dev/nst0 (menor 128) modo 0 sin retroceso, /dev/nst0l (menor 160) modo 1 sin retroceso, /dev/nst0a (menor 224) modo 3 sin retroceso (Una segunda unidad de cinta tiene nombres análgos con 1 en lugar de 0, los números menores son los mismos más 1, una tercera tendría nombres con 2 y se sumaría 2 a cada menor, así sucesivamente hasta 32). Las unidades OnStream SC-x0 SCSI en vez de st requieren el módulo osst; variable de configuración CONFIG_CHR_DEV_OSST; recibe los mismos parámetros de st excepto xa_test; usa el dispositivo /dev/osst0 (mayor 206) de forma análoga y con los mísmos números menores de /dev/st0.

CD-ROM

Variable CONFIG_BLK_DEV_SR; módulo sr; como parámetro puede recibir xa_test=1 para activar chequeo del formato de los sectores (produce fallas en algunos sistemas); dispositivos con mayor 11 /dev/scd0 (menor 0) para la primera unidad, /dev/scd1 (menor 1) para la segunda y así sucesivamente hasta 255.

Controladores genéricos SCSI

Por cada unidad de CDROM, unidad de cinta o disco SCSI se crea un dispositivo genérico sg, así como para los demás dispositivos SCSI (e.g quemadoras de CD, Scanners) y pseudo-dispositivos (como el producido por ide-scsi. En el caso de otros dispositivos debe emplear algún programa auxiliar para manejarlo (como cdrecord, cdrao en el caso de quemadoras de CD ---ver Quemadora de CD--- o Sane para Scanners). Variable CONFIG_CHR_DEV_SG; módulo sg; los dispositivos tienen número mayor 21 son: /dev/sg0 para el primer dispositivo genérico (menor 0), /dev/sg1 para el segundo (menor 1) y así sucesivamente hasta 255.

Controlador de bajo nivel para la tarjeta SCSI

El kernel 2.2.19 soporta las siguientes tarjetas (entre paréntesis se indica el nombre del módulo): 3ware Hardware ATA-RAID, 7000FASST (wd700), ACARD 870U/W (atp870u), AHA-1510/1520/1522/2825 AVA-1505 (aha152x), AHA-1542 (aha1542), AHA-1740 (aha1740), tarjetas basadas en el controlador aic777x y aic78xx de Adptec (excepto 7810) como 2902, 2910, 293x, 294x, 394x, 3985, 274x, 284x (aic7xxx), todos los controladores de AdvanSys (advansys), controlador ISA Always IN2000 (in2000), adaptadores AM53/79C974 (am53c974), adaptador BusLogic (buslogic), canal de fibra óptica Compaq (cqpfcts), adaptador DTC 3180/3280 (dtc), adaptadores que soporten EATA-DMA como DPT PM2011B, PM2021A, PM2012A, PM2021B, PM2022A/9X, PM2122A/9X, PM2322A/PX, PM3021, PM3222, PM3224,PM3334 (eata), adaptadores que soporten EATA-PIO como DPT PM2001 y PM2012A (eata_pio), adaptores Future Domain de 16 bits como TMC-1660/1680, TMC-1650/1670, TMC-3260, TMC-1610M/MER/MEX (fdomain), adaptadores Future Domain MCS 600/700 (fd_mcs), controlador genérico para adaptadores NCR (g_ncr5380), NEC 53c406 (ncr53c406), NEC 53C710 (ncr53c710),NEC 53c8xx, 53c9x, Initio 91xx (initio.o), Initio A100U2W (a100u2w), adaptador NEC 53C406 (ncr53c406), adaptador Plug and Play symbios 53c416 (que va con algunos scanners HP, módulo sym53c416, antes debe configurarse con isapnp), adaptador de IBM PS/2 (ibmmca), PAS16 (pas16), PCI2000I EIDE (pci2000), PCI2220i (pci2220i), PSI240i (psi240i), Qlogic FAS (qlogicfas), QLogic ISP (qlogicisp), Qlogic isp2100 (qlogicfc), controladores SCSI de 8 bits de Seagate ST-02, Future Domain TMC-8xx (seagate), adaptadores Tecram DC390, DawiControl 2974 (tmscsim), adaptadores Trantor T128/T128F/T228 (t128), Ultrastor 14F, 24F y 34F (u14-34f, ultrastor). El kernel 2.4.16 soporta además los adaptadores DMX3191D (dmx3191d), DTC 3180/3280 (dtc3x80), Qlogic QLA 1280 (qla1280), adaptadores basados en NCR53c7, 8xx (sim710), y soporta las siguientes interfaces PCMCIA (para portatiles): Adaptec AHA152X (aha152x_cs), Future Domain PCMCIA (fdomain_cs), NinjaSCSI-3/NinjaSCSI-32Bi (nsp_cs), Qlogic PCMCIA (qlogic_cs).

Puertos y dispositivos seriales

Prácticamente todos los computadores con arquitectura i386 tienen 2 puertos seriales en la carcaza a los que se pueden conectar dispositivos seriales externos, estos puertos tienen 9 o 25 pines y en la carcaza son macho [25]. Entre los dispositivos seriales que pueden conectarse se cuentan modems, ratones seriales e impresoras seriales. Estos 2 puertos están conectados a circuitos integrados UART que están en la placa base, tales circuitos convierten la información digital [26] de serial a paralelo (este puerto se comunica con el procesador usando todas las líneas del bus de datos ---32 o 64--- i.e en paralelo mientras que recibe y envia de a un bit al dispositivo que se conecte).

Algunos dispositivos que pueden conectarse por otros medios (por ejemplo modems internos conectados a algún bus en las ranuras de la placa base), pueden tener sus propios circuitos UART y seguir el mismo estándar de los puertos de la carcaza (RS-232 de 1969 y sus sucesores e.g EIA-232).

A este tipo de puertos pueden conectarse dispositivos que sigan el protocolo RS-232. La información se transmite como un flujo de datos, un dato después de otro.

Los puertos y dispositivos seriales, tienen varias caracteristicas que deben configurarse de la misma forma tanto en el dispositivo (o puerto) como en el sistema operativo: IRQ, dirección base, velocidad (máximo 115200 baudios[27]).

Los puertos de la carcaza normalmente pueden configurarse desde la BIOS, los dispositivos seriales pueden tener jumpers o pueden configurarse con algún programa especial.

En Linux el controlador del puerto serial (CONFIG_SERIAL, serial) crea y maneja "archivos" como /dev/ttyS0 (c,4,64), /dev/ttyS1 (c,4,65), /dev/ttyS3 (c,4,66) y /dev/ttyS4 (c,4,66) (que corresponden en nomenclatura de DOS a los puertos seriales COM1 a COM4). Además de sus funciones estándar, con hardware apropiado, puede soportar más de 4 puertos [28], (CONFIG_SERIAL_MANY_PORTS, CONFIG_SERIAL_SHARE_IRQ).

Archivo que abstrae el primer puerto serial.

Programa que permite modificar la configuración de un puerto serial.

Una vez el kernel está operando la configuración de un puerto serial a nivel de sistema operativo puede verse y cambiarse con setserial, el siguiente ejemplo muestra como se examina la configuración de /dev/ttyS0


# setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
	Baud_base: 115200, close_delay: 50, divisor: 0
	closing_wait: 3000
	Flags: spd_normal skip_test
El ejemplo también presenta la configuración estándar del primer puerto serial, la configuración estándar de los otros 4 puertos es:

/dev/ttyS1

Dir. base 0x2f8, IRQ 3.

/dev/ttyS2

Dir. base 0x3e8, IRQ 4.

/dev/ttyS3

Dir. base 0x2e8, IRQ 3.

Al emplear puertos seriales tenga en cuenta que una misma línea IRQ normalmente no puede ser usada por más de un dispositivo (verGeneralidades sobre dispositivos).

Para establecer una configuración no estándar en un puerto se emplearía algo como:


setserial /dev/ttyS1 uart=16450 irq=10 port=0x3e8 baud_rate=115200
setserial recibe otros parámetros para configurar más detalles del puerto serial (pueden consultarse en las página man).

Archivo en el que se mantiene configuración de puertos seriales y que es leido durante el arranque.

En Debian setserial es ejecutado durante el arranque con la información de configuración de /etc/serial.conf. Los cambios a la configuración que se hagan serán salvados automáticamente a ese archivo cuando apague (puede ver el script /etc/init.d/setserial ver Inicialización del sistema).

De acuerdo a Text-Terminal-HOWTO es posible emplear un puerto serial junto con un modem nulo [29] y getty (ver Inicio de sesiones en consolas virtuales) para conectarse desde otro computador (o desde una terminal) y abrir una sesión. Incluso, de acuerdo a la documentación del kernel 2.4 (Documentation/serial-console.txt), hay soporte (CONFIG_SERIAL_CONSOLE) para que una terminal conectada al puerto serial pueda ser la consola principal.

De acuerdo a Laplink-HOWTO también es posible establecer una conexión PPP sobre una conexión entre puertos seriales (con un modem nulo), por ejemplo para compartir una conexión a Internet entre dos computadores a muy bajo costo.

Puerto paralelo

Este puerto permite transmitir información simultaneamente por diversos cables (a diferencia del puerto serial). Es comunmente usado por impresoras, el conector es de 25 pines.

La mayoría de torres cuentan con al menos un puerto paralelo, el conector en el computador es hembra de 25 pines. Se llama paralelo porque transmite simultáneamente por varios cables información digital, mientras que por el puerto serial la transmisión se hace por un sólo cable. Aunque fue diseñado inicialmente junto con el IBM PC para enviar información a impresoras (el protocolo inicial se conoce hoy como SPP - Standard Paralle Port y se basa en el conector Centronics), hoy se pueden conectar muchos otros tipos de dispositivos, por lo mismo hay varios protocolos estándar para este puerto. Eventualmente su BIOS le permite cambiar de uno a otro o configurarlos (la configuración depende del dispositivo que conecte). PS/2, es una extensión a SPP que permite transmitir información desde el dispositivo hacia el computador (el SPP normalmente transmite sólo de computador a dispositivo). EPP (Enhance Parallel Port): permite transmitir información en ambas direcciones, un byte por cada ciclo del reloj del bus, puede emular SPP y eventualmente PS/2. ECP (Extended Capabilities Port): también permite transmitir en ambas direcciones sincronizado con el bus, así como transferencias DMA y compresión de datos. Cada puerto tiene varias direcciones, una línea IRQ y los puertos ECP tienen un canal DMA. De acuerdo a Printing-HOWTO algunos BIOS tratan de manejar el puerto paralelo como dispositivo Plug and Play, en tal caso es recomendable que cambie la configuración (para que sea "Legacy", "ISA" o "0x378").

Módulo que maneja puerto paralelo.

En Linux los recursos del puerto paralelos (dirección E/S, IRQ y DMA) son manejados por parport (CONFIG_PARPORT, módulo parport) y parport_pc (CONFIG_PARPORT_PC, módulo parport_pc)[30]. Con estos controladores cargados (como módulos o estáticamente ver Kernel y módulos) puede examinar los recursos que estén siendo usado por dispositivos paralelos en los subdirectorios de /proc/parport, por ejemplo la configuración del primer puerto paralelo en /proc/parport/0/hardware. Al iniciar parport_pc detecta automáticamente la configuración de los puertos, también puede especificarse manualmente con:


insmod parport_pc.o io=0x378,0x278 irq=7,5 
que haría la configuración estándar de un puerto paralelo [31], el primero con dirección base 0x378 [32] e IRQ 7, el segundo con dirección base 0x278 e IRQ 5, puede emplearse en lugar de un número la palabra auto para que parport detecte la configuración. Si parport_pc es compilado estáticamente en el kernel puede configurarse desde el cargador de arranque con parametros como: parport=0x378,7 parport=0x278,auto (puede deshabilitarse con parport=0 o solicitar autodetección ---que de acuerdo a la documentación de parport puede fallar en la detección de IRQs--- con: parport=auto

Cada dispositivo conectado al puerto paralelo requiere un controlador que interactúe con parport, en el caso de impresoras el controlador es lp (ver Impresora), otros dispositivos cuentan con controladores particulares (e.g c-qcam, CONFIG_VIDEO_CQCAM para manejar Connectix Quickcam a color), y otros tipo IDE pueden emplear paride como se explica a continuación. Hay también dispositivos SCSI que pueden conectarse (e.g Drives Zip), sobre los cuales puede consultarse en: http://www.torque.net/parport/ppscsi.html.

Dispositivos IDE por puerto paralelo y adaptadores

De acuerdo a la documentación de las fuentes del kernel, empleando adaptadores especiales pueden conectarse dispositivos IDE a puertos paralelos. Algunos diseños permiten tener hasta 4 de estos dispositivos en un mismo puerto. Para usarlos se requieren 3 tipos de controladores (disponibles tanto en 2.2 como 2.4):

Controlador base (CONFIG_PARIDE

Módulo paride).

Controladores genéricos de acuerdo al tipo de dispositivo por conectar

Discos duros

Variable de configuración del kernel CONFIG_PARIDE_PD; módulo pd.

CD-ROMs ATAPI

Variable de configuración CONFIG_PARIDE_PCD; módulo pcd.

Discos ATAPI

Variable de configuración CONFIG_PARIDE_PF; módulo pf.

Unidades de cinta

Variable de configuración CONFIG_PARIDE_PT; módulo pt.

Dispositivo genérico

Variable de configuración CONFIG_PARIDE_PG; módulo pg.

Controladores para los adaptadores puerto paralelo/IDE paticulares

aten ATEN EH-100, bpck Microsolutions backpack, comm DataStor "commuter" adapter, dstr DataStor EP-2000, epat Shuttle EPAT.

BIOS y otras características

Es un estándar para computadores, que busca ahorrar energía, permitiendole entrar en estado de ibernación cuando no se usa y apagarlo automáticamente.

APM (Advanced Power Managment) busca ahorrar energía entrando a un estado de menor consumo cuando el computador no ha sido usado durante un tiempo, así mismo permite apagar el computador por software. Debian 2.2 incluye por defecto este controlador estáticamente, debe activarse pasando durante el arranque el parámetro apm=on (ver Parámetros desde el cargador de arranque).

Es posible configurar el kernel (CONFIG_NVRAM) para que emplee el dispositivo /dev/nvram para leer y escribir en el CMOS de la BIOS.

También puede configurarse (CONFIG_RTC) para que el el reloj de tiempo real del sistema presente su estado en /proc/driver/rtc.

Para diversos programas, por ejemplo los relacionados con criptografía, es importante un generador de números aleatorios. Programar uno de tales generadores no es posible (sólo pueden programarse generadores seudo-aleatorios que repiten una secuencia de números muy larga), el kernel ofrece un generador más aleatorio que depende del "ruido" producido por diversos controladores. Pueden obtenerse sus datos leyendo de los dispositivos /dev/random (c, 1, 8) y /dev/urandom (c, 1, 9) (el primero más seguro pero un poco más demorado). Hay algunas tarjetas que ofrecen generación de números aleatorios (basadas en "ruido" producido por componentes electrónicos), el kernel soporta los generadores incluidos en tarjetas Intel 8xx (CONFIG_INTEL_RNG, i810_rng).

Lecturas recomendadas: Hardware básico y Linux

Ejercicios: Hardware básico y Linux

1. Para referencia futura, o en caso de fallas y para conocer su computador escriba un script que presente las siguientes características:
2. Opcional: en algunos casos, cuando un componente de su computador falla, el sistema completo deja de funcionar. Para estos casos, una forma de identificar el componente defectuoso es quitando todo el hardware de su computador e instalando una a una las partes y reiniciando el computador con cada parte agregada. Generalmente al iniciar un computador sin memoria ni dispositivos conectados el procesador debe hacer sonar el parlante, puede aprovechar esto y los mensajes que salgan en pantalla (si es que ya la tiene conectada) para determinar que componente falla. Un orden posible para instalar los componentes es: teclado, memoria, tarjeta de video, disco(s) duro(s), unidades de disquete, otras tarjetas. Si tiene la posibilidad y el tiempo saque todos los componentes de su computador y agréguelos uno a uno (siguiendo las precauciones mencionadas al comienzo de esta guía y las que se indiquen en los manuales).

1. Para referencia futura, o en caso de fallas y para conocer su computador escriba un script que presente las siguientes características:

  • Marca y referencia del procesador, así como su velocidad. También la cantidad de memoria RAM disponible.

  • Asignación de líneas IRQ, canales DMA y direcciones E/S.

  • Dispositivos PCI y recursos que emplean.


idcomp=`uname -a`
echo "Configuración de: $idcomp";
echo;
echo "+
Procesador===================================================";
echo;
cat /proc/cpuinfo
echo;
echo "+
Memoria======================================================";
echo;
free
echo;
echo "+ IRQ, DMA, Puertos ===========================================";
echo
cat /proc/interrupts
cat /proc/dma
cat /proc/ioports
echo;
echo "+ PCI========================================================";
echo;
cat /proc/pci
     

2. Opcional: en algunos casos, cuando un componente de su computador falla, el sistema completo deja de funcionar. Para estos casos, una forma de identificar el componente defectuoso es quitando todo el hardware de su computador e instalando una a una las partes y reiniciando el computador con cada parte agregada. Generalmente al iniciar un computador sin memoria ni dispositivos conectados el procesador debe hacer sonar el parlante, puede aprovechar esto y los mensajes que salgan en pantalla (si es que ya la tiene conectada) para determinar que componente falla. Un orden posible para instalar los componentes es: teclado, memoria, tarjeta de video, disco(s) duro(s), unidades de disquete, otras tarjetas. Si tiene la posibilidad y el tiempo saque todos los componentes de su computador y agréguelos uno a uno (siguiendo las precauciones mencionadas al comienzo de esta guía y las que se indiquen en los manuales).

Seguir instrucciones

Notas

[1]

Cualquier elemento por el que usted pueda descargarse pasando la carga estática a la tierra

[2]

Del inglés mother board.

[3]

Del inglés I/O adress o I/O ports.

[4]

Del inglés shared memory.

[5]

Esta arquitectura se refiere a PCs basados en procesadores Intel 80386 sus descendientes, clones y compatibles. Linux soporta otras arquitecutras: Alpha, ARM, IA-64, MIPS, MIPS64, PARISC, PPC, S390, Sparc y Sparc64. Hay distribuciones Debian para las arquitecturas Alpha, ARM, Intel x86, Motorola 680x0 (Atari, Amiga, VME y Macintosh), PowerPC (Macintosh PowerMac) y SPARC (Sun4c, Sun4m y Sun4u) y en preparación hay distribucions Debian para UltraSparc, MIPS, HP PA, IA-64, S/390 y SuperH.

[6]

Un bit es uno de los niveles de voltaje alto o bajo, puede representarse como un 1 o un 0.

[7]

Hertz: ciclos por segundo. En este contexto se usa con los prefijos: Mega (un millon) y Giga (mil millones)

[8]

Linux ofrece emulación de un coprocesador matemático para ciertos procesadores como 80386SX y 80486SX o para procesadores con coprocesador defectuoso.

[9]

Un byte puede considerarse como un caracter (corresponde a 8 bits). En el contexto de memoria se se usa con los siguientes prefijos: K - Kilo (1024), M - Mega (1048576), G - Giga (1073741824fff) y en vez de byte suele escribirse B. Note que los prefijos para referirse a cantidad de memoria NO corresponden al significado usual (en este caso son potencias de 2 (1024=2^10) y no a potencias de 10)

[10]

Chipset: controla el flujo de información hacia el procesador, por ejemplo desde buses y memoria. Algunos tipos de chipsets y sus velocidades típicas son Slot 1 AGP 66Mhz/100Mhz, Socket 7 AGP (66/100Mhz), Socket 7 PCI (66/75/83Mhz), Socket A 133/266Mhz.

[11]

Otra clasificación posible para memorias es por la tecnología que emplean para almacenar los datos, algunos tipos según esta clasificación son DRAM (Dynamic Random Access Memory), SDRAM (Static DRAM), ambas soportadas por Linux.

[12]

En diversas partes de estas guías usamos la notación (c,x,y) para denotar el número mayor (x) y menor (y) de un dispositivo por caracteres. Si el dispositivo es por bloques empleamos b en lugar de c.

[13]

Encontrará en varias partes la notación 0xnúmero para referenciar un número escrito en base 16 --es la convención del lenguaje C.

[14]

Una ranura EISA en una placa base soporta también tarjetas ISA.

[15]

Es extensible porque pueden usarse puentes para conectar otros buses PCI o Cardbus o USB.

[16]

Las identificaciones conocidas por Linux pueden examinarse en las fuentes del kernel en el archivo include/linux/pci.h.

[17]

FCC es sigla de Federal Communications Commission quienes vigilan que los dispositivos empleen eficientemente el espectro electromagéntico.

[18]

Concentrador: del inglés hub

[19]

Es posible montar /proc/bus/usb sólo si se configuró con CONFIG_USB_DEVICEFS

[20]

IDE es sigla de Integrated Drive Electronics, recibe este nombre porque los dispositivos IDE (discos duros, CD-ROMs) incluyen hardware controlador ---por eso pueden conectarse casi directamente a un bus ISA de un PC. Las interfaces que usan están especificadas en los estándares ATA y ATA-2 (Attachment interfaces).

[21]

Si se usa un disco (o un CDROM) por interfaz debe configurarse como maestro o single, si se usan dos discos (empleando una correa con tres conectores) uno de los discos debe configurarse como maestro y el otro como esclavo. La configuración se hace empleando jumpers ubicados en los discos ---debe consultar el manual para determinar la ubicación de los jumpers.

[22]

De acuerdo a documentación de la configuración del kernel, soporta incluso dos interfaces IDE defectuosas y soluciona los errores: CMD650 y RZ1000

[23]

De acuerdo a http://freshmeat.net/projects/lilo/?topic_id=139, las versiones de LILO posteriores a 21-3 con BIOS recientes (posteriores a 1998), no tienen esta limitación.

[24]

Los recursos empleados por los puertos IDE normalment son: ide0=0x1f0,0x3f6,14, ide1=0x170,0x376,15, ide2=0x1e8,0x3ee,11, ide3=0x168,0x36e,10.

[25]

Conector macho se refiere a un conector que tiene pines, a ese se le puede conectar un conector hembra que debe tener ranuras para los pines.

[26]

Información digital: es información que se codifica con dos níveles de voltaje, puede pensarse que se trata de secuencias de ceros y unos.

[27]

En comunicaciones se emplea baudio como unidad para medir capacidad de transmisión. Corresponde a número de "estados" por segundo (en algunos casos corresponde a bits por segundo).

[28]

Los provedores de acceso a Internet requieren conectar más de un modem para atender simultaneamente varias conexiones de los usuarios, un computador con varias terminales conectadas también requiere varios puertos seriales, para lograrlo se usan tarjetas multipuerto, el kernel 2.2.19 soporta las siguientes: Hayes ESP, Digiboard Intelligent Async, Cyclades async, Control Rocketport, Computone IntelliPort Plus, Moxa Intellio, Moxa SmartIO, Multi-Tech multiport, SDL RISCom/8, Specialix IO8+/SXm/RIO y Stallion EasyIO/EC8/64.

[29]

Un cable que tiene en sus extremos dos conectores hembra para puerto serial y que intercambia algunas conexiones, si ambos conectores son de 25 pines: (DSR) 6 & (DCD) 8 -- 20, (TxD) 2 -- 3, (RxD) 3 -- 2, (RTS) 4 -- 5, (CTS) 5 -- 4, (SG) 7 -- 7, (DTR) 20 -- 6 & 8.

[30]

parport es un controlador genérico para puerto paralelo, sobre este debe usarse soporte particular para la arquitectura, e.g parport_pc para i386, parport_ax para Sun Ultra/AX.

[31]

En modo SPP cada puerto paralelo usa 3 direcciones consecutivas, en modo EPP usa 5 también consecutivas, en modo ECP usa también 5 aunque no consecutivas.

[32]

Algunos puertos paralelos no tan recientes, para el primer puerto paralelo requieren io=0x3bc irq=none