3. Hardware básico y Linux

Indicadores de Logros:

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

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

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

  • Antes de abrirlo toque un elemento "tierra" [121], 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.

3.1.2. Generalidades sobre la placa base

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 [122]. 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).

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

3.1.3. 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 [123]) 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 [124] para comunicarse con los programas.

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

3.1.4. Procesador

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 [125] tiene 32 cables) codificada en cada cable con dos níveles de voltaje: alto y bajo [126]. La velocidad del reloj ---que determina la velocidad del procesador--- se mide en Hertz [127].

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 [128] 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

3.1.5. 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 [129].

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 [130] de la placa base.

Una placa base normalmente tendrá módulos de memoria [131]. 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 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)[132] y la memoria virtual con /dev/kmem (c,1,2).

[Warning]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.

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

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:

3.1.6.1. ISA (International Standard Architecture)

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

3.1.6.1.1. 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".

3.1.6.1.2. 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
3.1.6.1.3. 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. 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
    

    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 [133], 0x330 y 0x388).

    [Important]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).

    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.

3.1.6.2. MCA o Microcanal

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.

3.1.6.3. EISA (Enhanced Industry Standard Architecture)

Esta es una extensión de 32 bits al sistema ISA [134] 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).

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

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

3.1.6.5. PCI (Peripheral Component Interconnect) o Local Bus

Este es un diseño de bus de 1993 extensible [135] 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 [136]. 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

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 [137] 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).

3.1.6.6. USB (Universal Serial Bus)

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 [138]. 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)

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)

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 [139] 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).

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.

3.1.6.7. AGP (Accelerated Graphics Port)

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

3.1.6.8. PCMCIA (Personal Computer Memory Card International Association)

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.

3.1.6.9. Otros tipos de buses

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

3.1.7. Interfaz y dispositivos IDE

La placa basa puede tener tener varias interfaces IDE [140] (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 [141]). 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).

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.

El controlador de Linux para interfaces IDE las reconoce automáticamente y las maneja directamente (sin intermediación de la BIOS) [142], 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 [143].

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

/dev/hda

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 [144].

3.1.8. Adaptadores y dispositivos SCSI

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

3.1.9. 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 [145]. 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 [146] 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).

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[147]).

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 [148], (CONFIG_SERIAL_MANY_PORTS, CONFIG_SERIAL_SHARE_IRQ).

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

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 [149] 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.

3.1.10. Puerto paralelo

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").

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)[150]. 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 [151], el primero con dirección base 0x378 [152] 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.

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

3.1.11. BIOS y otras características

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

3.2. Lecturas recomendadas: Hardware básico y Linux

  • Puede revisar más sobre riesgos y precauciones al manipular componentes de un computador en: http://home.att.net/~t.f.cook/tc15.htm

  • Puede consultar generalidades sobre CPUs, su funcionamiento y proceso de fabricación en en CPU-Design-HOWTO. Disponible en su computador en: /usr/share/doc/HOWTO/en-txt/CPU-Design-HOWTO.gz. y en Internet en http://www.tldp.org/HOWTO/CPU-Design-HOWTO.html.

  • Para comprar hardware recomendamos revisar comparaciones por ejemplo en: /, en ese sitio pueden encontrarse entre otras una guía para placas base http://www6.tomshardware.com/mainboard/97q1/970101-1/index.html, una guía sobre tipos de memoria http://www6.tomshardware.com/mainboard/98q4/981024/index.html, una guía sobre tipos de chipset http://www6.tomshardware.com/mainboard/97q1/970101-1/index.html

  • Los parámetros que el kernel recibe desde el cargador de arranque pueden consultarse con man bootparam.

  • Puede consultar más sobre Plug and Play en el Plug-and-Play-HOWTO disponible en su sistema en el directorio /usr/share/doc/HOWTO y en Internet en http://www.tldp.org/HOWTO/Plug-and-Play-HOWTO.html. Para conocer más sobre ISA Plug and Play, puede consultar las páginas man de isapnp, isapnp.conf el completo FAQ sobre este tema disponible en: http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html#toc1

  • Para conocer más sobre puertos SCSI y su soporte en Linux SCSI-2.4-HOWTO, disponible en

    http://www.linuxdoc.org/HOWTO/SCSI-2.4-HOWTO/

  • Hay más información sobre dispositivos USB en las fuentes del kernel en el directorio Documentation/usb. En Internet puede consultarse una base de dispositivos USB soportados en: http://www.qbik.ch/usb/devices/

  • Puede consultar más sobre el soporte de Linux al puerto paralelo en las fuentes del kernel en Documentation/parport.txt o en: http://www.torque.net/linux-pp.html donde en particular encontrará un listado de los dispositivos, diferentes a impresoras, que pueden conectarse a puertos paralelos (e.g Unidades Zip).

    Para conocer más sobre el puerto paralelo, puede consultar el primer capítulo del libro Parallel Port Complete de Jan Alexon o el FAQ del mismo autor: http://www.lvr.com/parport.htm

    Para conectar una impresora puede consultar estas guías (ver Impresora) o Printing-HOWTO, en su sistema disponible en /usr/doc/HOWTO/en-txt/Printing-HOWTO.txt.gz y en Internet en http://www.tldp.org/HOWTO/Printing-HOWTO/index.html.

    Hay más información sobre PARIDE en las fuentes del kernel en el archivo Documentation/paride.txt y en las fuentes del directorio drivers/block/paride. En Internet: http://www.torque.net/parport/

  • Puede consultarse más sobre el generador de números aleatorios del kernel en las fuentes drivers/char/random.c.

  • Encontrará más información sobre puertos seriales en Serial-HOWTO /usr/share/doc/HOWTO/en-txt/Serial-HOWTO.gz y en la página del manual de setserial. En Serial-Programming-HOWTO encontrará información para programar a bajo nivel un puerto serial. En Terminal-Text-HOWTO encuentra información para conectar terminales a un puerto serial y en Laplink-HOWTO se describe como crear una conexión PPP sobre un puerto serial.

3.3. Ejercicios: Hardware básico y Linux

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

3.3.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).



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

[122] Del inglés mother board.

[123] Del inglés I/O adress o I/O ports.

[124] Del inglés shared memory.

[125] 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.

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

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

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

[129] 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)

[130] 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.

[131] 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.

[132] 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.

[133] 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.

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

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

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

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

[138] Concentrador: del inglés hub

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

[140] 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).

[141] 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.

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

[143] 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.

[144] 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.

[145] 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.

[146] 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.

[147] 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).

[148] 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.

[149] 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.

[150] 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.

[151] 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.

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