Preparación para el examen 201 de LPI: Hardware

Administración Nivel Intermedio (LPIC-2); tema 204

En este tutorial, David Mertz y Brad Huntting continúan preparándolo para realizar el Examen 201 de Linux Professional Institute® en Administración Nivel Intermedio (LPIC-2). En éste, el cuarto de los ocho tutoriales relacionados con este tema, usted aprenderá a agregar y configurar hardware en un sistema Linux™ (lo que incluye arrays RAID, placas PCMCIA, otros dispositivos de almacenamiento, pantallas, controladoras de video y otros componentes).

David Mertz, Developer, Gnosis Software

David MertzDavid Mertz es Turing completo, pero probablemente no apruebe la Prueba de Turing. Para conocer más acerca de su vida, consulte su página Web personal. David escribe las columnas developerWorks Charming Python y XML Matters desde el año 2000. Consulte su libro Text Processing in Python [Procesamiento de texto en Python].



Brad Huntting, Mathematician, University of Colorado

Brad se encarga de la administración de sistemas UNIX®y de ingeniería de redes para varias compañías desde hace 14 años. En la actualidad, está cursando un Doctorado en Matemática Aplicada en la Universidad de Colorado en Boulder, y paga sus estudios trabajando en soporte de UNIX para el departamento de Ciencias de la Computación.



28-07-2010

Antes de comenzar

Aprenda todo lo que estos tutoriales le pueden enseñar y cómo sacar el mayor provecho posible de ellos.

Sobre esta serie

El Linux Professional Institute (LPI) certifica a todos los administradores de sistemas (nivel junior e intermedio). Para conseguir cada tipo de certificación, usted debe aprobar los dos exámenes correspondientes de LPI.

Cada examen abarca varios temas y cada uno de ellos tiene un valor de ponderación. Estos valores de ponderación indican la importancia relativa de cada uno de estos temas. En resumen, los exámenes que tienen un valor de ponderación más alto suelen incluir más preguntas. En el caso del examen 201 de LPI, los temas y sus valores de ponderación son los siguientes:

Tema 201
Kernel Linux (valor: 5).
Tema 202
Inicio del sistema (valor: 5).
Tema 203
Sistema de archivos (valor: 10).
Tema 204
Hardware (valor: 8). El presente tutorial se concentra en este tema.
Tema 209
Compartir archivos y servicios (valor: 8).
Tema 211
Actualización del sistema (valor: 4).
Tema 213
Personalización y automatización del sistema (valor: 3).
Tema 214
Solución de problemas (valor: 6).

El Linux Professional Institute no respalda ningún material y ninguna técnica de preparación para los exámenes de LPI creados por terceros. Para mayor información, por favor escriba a info@lpi.org.

Sobre este tutorial

Bienvenido a "Hardware", el cuarto de esta serie de ocho tutoriales que tienen como objetivo prepararlo para el examen 201 de LPI. En este tutorial, usted aprenderá a agregar y a configurar hardware en un sistema Linux (lo que incluye arrays RAID, placas PCMCIA, otros dispositivos de almacenamiento, pantallas, controladoras de video y otros componentes).

Este tutorial está organizado de la siguiente manera de acuerdo con los objetivos de LPI correspondientes a este tema:

2.204.1 Configuración de RAID (valor de ponderación: 2)
Usted aprenderá a configurar y a implementar software RAID. Este objetivo incluye el uso de herramientas mkraid y la configuración de RAID 0, 1 y 5.
2.204.2 Agregado de hardware nuevo (valor de ponderación: 3)
Usted aprenderá a configurar dispositivos internos y externos para un sistema (lo que incluye discos rígidos nuevos, dispositivos de terminal básica, dispositivos seriales UPS, placas multipuerto seriales y paneles LCD).
2.204.3 Configuración del software y el kernel (valor de ponderación: 2)
Usted aprenderá a configurar las opciones del kernel para soportar varios dispositivos de hardware (entre los que podemos incluir a las unidades de disco UDMA66 y a las grabadoras de CD IDE). Este objetivo incluye el uso de LVM (Logical Volume Manager) para gestionar unidades de disco rígido y particiones, al igual que herramientas de software para interactuar con las configuraciones de los discos rígidos.
2.204.4 Configuración de dispositivos PCMCIA (valor de ponderación: 1)
Usted aprenderá a configurar una instalación Linux para que incluya el soporte de dispositivos PCMCIA. Este objetivo incluye la configuración de dispositivos PCMCIA (como, por ejemplo, los adaptadores Ethernet) para que se los detecte automáticamente en el momento que se los inserte.

Mientras que usted usará las herramientas userland muy a menudo para trabajar con dispositivos de hardware, mayormente, un kernel Linux base, módulos kernel o ambos se encargan de brindar el soporte básico para dichos dispositivos. Una excepción importante a la estrecha conexión que existe entre el kernel Linux y los dispositivos de hardware son las tarjetas gráficas y las pantallas de las computadoras. El kernel Linux se puede ocupar perfectamente de un texto simple (e incluso de algunos gráficos con soporte para framebuffer), pero generalmente, los drivers XFree86 o, más recientemente, X.Org, X11 suelen controlar las capacidades avanzadas de las tarjetas gráficas. Casi todas las distribuciones incluyen X11 y administradores de ventanas y entornos de escritorio asociados. Pero en el caso de los servidores que no sean máquinas de escritorio, el uso de X11 puede resultar superfluo.

Requisitos previos

Para sacar el mayor provecho posible de este tutorial, usted ya debería contar con conocimientos básicos sobre Linux y con un sistema Linux en funcionamiento para practicar con todos los comandos que se describen en el presente.

Además, otros dos tutoriales también incluyen información sobre el agregado de hardware: "Preparación para el examen 201 de LPI (tema 201): Kernel Linux" y "Preparación para el examen 201 de LPI (tema 203): Sistemas de archivos". El examen de LPI sobre hardware espera que usted esté familiarizado con la puesta a punto del kernel y los sistemas de archivos. Por ende, por favor lea esos otros tutoriales durante su preparación para el examen.


Configuración de RAID

¿Qué es RAID?

RAID (Redundant Array of Inexpensive Disks) le ofrece mecanismos para combinar múltiples particiones en diferentes discos rígidos en discos rígidos virtuales más grandes y elásticos. En un principio, se definieron varios niveles de RAID, pero sólo tres se siguen usando frecuentemente en la actualidad: RAID-0 (distribución del disco), RAID-1 (replicación en espejo) y RAID-5 (distribución con información de paridad). RAID-4 también se suele usar en algunas ocasiones. Es similar a RAID-5, pero coloca la información de paridad en un solo disco en vez de distribuirla en varios discos.

Este tutorial discute el "estilo nuevo" de RAID en Linux (la opción predeterminada para los kernels 2.4 y 2.6 con backports disponibles hacia kernels anteriores). El "estilo antiguo" de RAID, que se lo puede encontrar en los kernels 2.0 y 2.2, está plagado de errores y no se lo debería usar. Específicamente, el "estilo nuevo" significa el nivel 0.90 de RAID creado por Ingo Molnar y otros.

Uso de un array RAID

El uso de un array RAID se puede dividir en dos partes básicas. La parte simple consiste en montar el dispositivo RAID. Luego de configurar un dispositivo RAID (virtual), éste considera al comando mount de la misma forma que una partición de un dispositivo común y corriente. Al dispositivo RAID se lo denomina /dev/mdN cuando se lo crea, para que usted lo pueda montar como:

% mount /dev/md0 /home

Usted también puede incluir una línea en /etc/fstab para montar la partición virtual del RAID (éste suele ser el método preferido). El driver del dispositivo lee superbloques de particiones sin procesar para ensamblar una partición RAID luego de que se la haya creado.

La parte más complicada (es decir, más detallada) involucra la creación de un dispositivo RAID a partir de las particiones sin procesar relevantes. Usted puede crear una partición RAID con la herramienta mkraid combinada con un archivo de configuración /etc/raidtab.

Usted también puede usar la herramienta más nueva, mdadm, que suele poder operar sin la necesidad de contar con un archivo de configuración adicional. En la mayoría de las distribuciones, mdadm está suplantando raidtools (que incluye mkraid), pero este tutorial discute mkraid para cumplir con los objetivos del examen de LPI. Los conceptos son similares de todas formas, pero usted debería leer la página man de mdadm para mayor información sobre sus parámetros.

La disposición de /etc/raidtab

Las siguientes definiciones se usan en el archivo /etc/raidtab para describir los componentes de un RAID. Esta lista no es exhaustiva.

  • raiddev: La partición de disco virtual provista por RAID (/dev/md?). Se trata del dispositivo con el que trabajan mkfs y fsck y que se monta de la misma forma que la partición de un disco rígido real.
  • raid-disk: Las particiones subyacentes que se usan para construir un RAID. Se las debería marcar (con fdisk o herramientas similares) como particiones de tipo 0xFD.
  • spare-disk: Estos discos (generalmente, hay uno solo) no se suelen usar. Cuando uno de los discos raid falla, el disco de repuesto comienza a funcionar a modo de reemplazo.

Configuración de RAID-0

RAID-0 o "distribución del disco" le ofrece más ancho de banda de E/S de disco a cambio de una menor confiabilidad (es decir que, si ocurre una falla en cualquiera de los discos raid, usted pierde todo el dispositivo RAID). Por ejemplo, la entrada /etc/raidtab configura un dispositivo RAID-0:

raiddev /dev/md0
    raid-level      0
    nr-raid-disks   2
    nr-spare-disks  0
    chunk-size      32
    persistent-superblock   1
    device          /dev/sda2
    raid-disk       0
    device          /dev/sdb2
    raid-disk       1

Esto define un dispositivo virtual RAID-0 denominado /dev/md0. Los primeros 32 KB de /dev/md0 se asignan a /dev/sda2. Los segundos 32 KB se asignan a /dev/sdb2. Los terceros 32 KB se asignan a /dev/sda2, etc.

Para crear el dispositivo, simplemente ejecute:

% sudo mkraid /dev/md0

Si usa mdadm, los parámetros configurarán estas opciones en vez del archivo /etc/raidtab.

Configuración de RAID-1

RAID-1 o "replicación de disco en espejo" simplemente conserva copias duplicadas de los datos en ambos dispositivos. RAID-1 se puede ocupar perfectamente de la falla de un disco sin que se afecte el rendimiento. Generalmente, se considera que RAID-1 es una opción cara, ya que la mitad del espacio de su disco es redundante. Por ejemplo:

raiddev /dev/md0 
    raid-level      1
    nr-raid-disks   2
    nr-spare-disks  1
    persistent-superblock 1
    device          /dev/sdb6
    raid-disk       0
    device          /dev/sdc5
    raid-disk       1
    device          /dev/sdd5
    spare-disk      0

Los datos que se escriben en /dev/md0 se guardarán tanto en /dev/sdb6 como en /dev/sdc5. /dev/sdd5 se configura como un repuesto conectado y preparado. En el caso de que /dev/sdb6 o /dev/sdc5 registren un malfuncionamiento, se poblará /dev/sdd5 con todos los datos necesarios y comenzará a operar a modo de reemplazo.

Configuración de RAID-5

RAID-5 requiere al menos tres discos rígidos y usa la corrección de errores para sacar el mayor provecho posible de la distribución del disco, pero con la capacidad de sobrevivir la falla de un solo disco. Lo positivo de esto es que sólo se requiere un disco rígido redundante extra. Lo negativo de esto es que RAID-5 es algo más complejo. Cuando un disco falla, entra en modo degradado, lo que puede afectar dramáticamente el rendimiento de las E/S hasta que se pueda poner en funcionamiento y repoblar un disco de repuesto.

raiddev /dev/md0
    raid-level        5
    nr-raid-disks     7
    nr-spare-disks    0
    persistent-superblock 1
    parity-algorithm  left-symmetric
    chunk-size        32
    device            /dev/sda3
    raid-disk         0
    device            /dev/sdb1
    raid-disk         1
    device            /dev/sdc1
    raid-disk         2
    device            /dev/sdd1
    raid-disk         3
    device            /dev/sde1
    raid-disk         4
    device            /dev/sdf1
    raid-disk         5
    device            /dev/sdg1
    raid-disk         6

Uso de mke2fs o mke3fs

Si formatea un dispositivo virtual RAID-5 usando e2fs o e3fs, usted debería prestar atención a la opción stride. La opción -R stride=nn permitirá que mke2fs coloque diferentes estructuras de datos específicas a ext2 de mejor manera y de forma inteligente en el dispositivo RAID.

Si se trabaja con 32 KB, esto significa que 32 KB de datos consecutivos residirán en un disco. Si un sistema de archivos ext2 tiene un tamaño de bloque de 4 KB, existirán ocho bloques de sistemas de archivos en un array. Podemos indicar esta información en el sistema de archivos ejecutando lo siguiente:

% mke2fs -b 4096 -R stride=8 /dev/md0

El rendimiento de RAID-5 se mejora en gran medida al incluir la información de stride correcta en el sistema de archivos.

Fallas y soporte para kernel

Al activar la función persistent-superblock, se permite que el kernel inicie el RAID automáticamente durante el arranque del sistema operativo. El estilo nuevo de RAID usa la función persistent-superblock y cuenta con soporte en los kernels 2.4 y 2.6. Hay parches disponibles para mejorar los kernels 2.0 y 2.2.

Esto es lo que ocurre cuando falla una unidad de disco:

  • RAID-0: Se pierden todos los datos.
  • RAID-1 / RAID-5: El disco que falla queda fuera de línea y el disco de repuesto (de existir uno) comienza a funcionar y se puebla con todos los datos necesarios.

El documento intitulado "The Software-RAID HOWTO" [Instructivo de Software-RAID] en el proyecto Linux HOWTO [Instructivo sobre Linux] discute el intercambio de discos para las unidades de disco actualizadas o que hayan fallado (lo que incluye los casos en los que los discos se pueden intercambiar sin necesidad de apagar el sistema y los casos en los que es necesario reiniciar el sistema). Generalmente, los discos SCSI (o Firewire) se pueden intercambiar sin necesidad de apagar el sistema, a diferencia de los discos IDE.


Agregado de hardware nuevo

Sobre el hardware

Linux, en especial sus últimas versiones, cuenta con una capacidad increíblemente robusta y amplia para utilizar una gran variedad de dispositivos de hardware. En general, usted debe tener en cuenta dos niveles de soporte al momento de brindar soporte para este hardware. El primer nivel involucra el soporte de un dispositivo a un nivel básico del sistema. Casi siempre, esto se hace cargando los módulos kernel apropiados para su dispositivo de hardware.

El segundo nivel involucra algunos dispositivos que necesitan más o menos soporte exclusivo del subsistema X11R6. Generalmente, se usa XFree86 o X.Org. Es muy raro que se use el subsistema comercial X11, pero este tutorial no discute esto.

El soporte para las principales categorías de dispositivos que se pueden intercambiar sin necesidad de apagar el sistema (como, por ejemplo, aquellos que usan interfaces PCMCIA o USB) se discute en las secciones específicas que tratan estos temas y figuran a continuación.

Sobre X11

Un nota rápida: X.Org es esencialmente el proyecto sucesor de XFree86 (técnicamente, una bifurcación). Mientras que XFree86 todavía no dejó de usarse oficialmente, el soporte de casi todas las distribuciones pasó a X.Org debido a cuestiones relativas a las licencias. Afortunadamente, con la excepción del leve cambio de nombre de algunos archivos de configuración, el código base inicial para ambas bifurcaciones es casi el mismo. Es más probable que algunas nuevas características especiales sólo se soporten en X.Org.

X11R6 es un sistema para realizar la presentación (en red) de aplicaciones gráficas en la estación de trabajo de un usuario. Quizá de manera contraintuitiva, un "servidor X" es la máquina física con la que un usuario interactúa concretamente usando el teclado, el mouse y los dispositivos similares, la placa de video, el monitor, etc. Un "cliente X" es la máquina física que dedica tiempo, espacio en disco y otros recursos de no presentación del CPU para ejecutar una aplicación. En muchos o en la mayoría de los sistemas Linux, el servidor X y el cliente X son la mismísima máquina física y se usa un canal de comunicación local muy eficiente para que una aplicación se comunique con los dispositivos de E/S del usuario.

Un servidor X (como, por ejemplo, X.Org) debe ofrecer soporte de dispositivos para los dispositivos de E/S con los que un usuario interactuará con una aplicación. Sorprendentemente, cuando se presenta alguna dificultad, la misma está relacionada con la configuración de las placas de video y los monitores. Afortunadamente, esta dificultad ha disminuido en las últimas versiones de X.Org / XFree86 gracias a una detección mucho más automática que se realiza de manera exitosa. Técnicamente, un servidor X también debe soportar dispositivos de entrada (como, por ejemplo, el teclado y el mouse), lo que no suele ser algo complicado debido a que, hoy en día, éstas son interfaces bien estandarizadas. La aplicación cliente X se ocupa de todo lo demás (es decir, el acceso al disco, la memoria, las interfaces de red, las impresoras, los dispositivos especiales, como los escáner, etc.), generalmente por el kernel Linux subyacente.

Soporte del dispositivo del kernel

Casi todo lo que usted necesita saber sobre el soporte de dispositivos en el kernel Linux se resume en encontrar, compilar y cargar los módulos kernel adecuados. El tutorial sobre el Tema 201 se ocupa de dicho tema en detalle. Los lectores deberían consultar dicho tutorial en relación a la mayoría de los problemas.

Para revisar los módulos kernel, las principales herramientas que necesita un administrador de sistemas son lsmod, insmod y modprobe. También pueden llegar a necesitar rmmod, aunque no es tan importante como las herramientas anteriores. lsmod, insmod y rmmod son herramientas de bajo nivel para listar, insertar y eliminar (respectivamente) módulos kernel para un kernel Linux que se esté ejecutando. modprobe realiza estas mismas funciones a un nivel más alto, examinando las dependencias y, luego de esto, realizando llamadas adecuadas a insmod y a rmmod de manera oculta.

Examen de los dispositivos de hardware

Varias utilidades resultan muy valiosas para estudiar qué hardware usted tiene disponible en realidad. La herramienta lspci le ofrece información detallada sobre dispositivos PCI localizables (incluso aquellos en buses PCMCIA o USB en muchos casos). De igual forma, setpci puede configurar dispositivos en buses PCI. lspnp presenta una lista de recursos y dispositivos plug-and-play del dispositivo BIOS. De forma similar, lsusb examina los dispositivos USB (y cuenta con una setpnp para modificar configuraciones).

Configuración de un servidor X11 (primera parte)

Básicamente, X.Org (o XFree86) incluye una gran cantidad de drivers de video y otros drivers periféricos. Usted simplemente tiene que elegir los correctos. Finalmente, la configuración para un servidor X se encuentra en un archivo bastante detallado y algo enigmático (/etc/X11/xorg.conf o xfree86.conf). Algunas utilidades estándar se pueden usar para realizar una modificación más amigable de este archivo. De todas formas, cualquier editor de texto funciona bien. Algunos front-ends incluidos con X.Org incluyen xorgcfg para la configuración gráfica (asumiendo que funciona lo suficientemente bien como para usarlo) y xorgconfig para una herramienta de configuración basada en textos. Muchas distribuciones Linux incluyen front-ends más amigables.

La herramienta SuperProbe suele resultar útil para detectar el modelo de su placa de video. Usted también puede consultar la base de datos /usr/X11R6/lib/X11/Cards para obtener información detallada sobre las placas de video soportadas.

Configuración de un servidor X11 (segunda parte)

Dentro del archivo de configuración /etc/X11/xorg.conf, usted debería crear una serie de bloques "Section" ... "EndSection" (cada uno de los que define varios detalles y opciones sobre un dispositivo en particular). Estos nombres de sección incluyen lo siguiente:

  * Files:          File pathnames
  * ServerFlags:    Server flags
  * Module:         Dynamic module loading
  * InputDevice:    Input device description
  * Device:         Graphics device description
  * VideoAdaptor:   Xv video adaptor description
  * Monitor:        Monitor description
  * Modes:          Video modes descriptions
  * Screen:         Screen configuration
  * ServerLayout:   Overall layout
  * DRI:            DRI-specific configuration
  * Vendor:         Vendor-specific configuration

Configuración de un servidor X11 (tercera parte)

Entre las secciones, Screen funciona como una configuración maestra para el sistema de visualización. Por ejemplo, usted puede definir varias secciones Monitor, pero sólo puede seleccionar aquella que se utiliza de la siguiente manera:

      Section "Screen"
          Identifier    "Default Screen"
          Device        "My Video Card"
          Monitor       "Current Monitor"
          DefaultDepth  24
          SubSection "Display:
                Depth       24
                Modes       "1280x1024" "1024x768" "800x600"
          EndSubSection
          # more subsections and directives
      Endsection

La sección denominada ServerLayout es la verdadera configuración "maestra", ya que se refiere tanto a la sección Screen que se debe usar como a varias secciones InputDevice. En caso de que tenga algún problema, casi siempre se relacionará con la selección del Device o el Monitor correcto. Afortunadamente, hoy en día los monitores DPMS suelen obviar la necesidad de configurar odiosas opciones de Modeline. En el pasado, usted debía localizar cronometrajes muy específicos en los índices de escaneo de sus monitores. Generalmente, en la actualidad, los DPMS hacen esto por usted.


Configuración de dispositivos PCMCIA

Sobre los dispositivos PCMCIA

A los dispositivos PCMCIA también se los suele denominar dispositivos PC-Card. Por lo general, se diseña a estos periféricos del tamaño de una tarjeta de crédito (en lo que se refiere a su ancho) para que sean transportables y se los pueda intercambiar sin necesidad de apagar el sistema con gran facilidad. Además, se los usa muchísimo en las notebooks. Sin embargo, algunas configuraciones de computadoras de escritorio o de servidores también cuentan con lectoras PCMCIA, que a veces se encuentran en un chasis externo conectado por medio de uno de varios buses disponibles (una placa PCI o ISA especial, un adaptador USB, etc.). Se han creado una gran cantidad de periféricos en formato PCMCIA, entre los que podemos incluir los siguiente: adaptadores inalámbricos y Ethernet, unidades de disco micro, unidades de disco flash, módems, adaptadores SCSI y otros dispositivos para propósitos especiales.

Técnicamente, una interfaz PCMCIA es un nivel que se usa para conectarse a un bus ISA o PCI subyacente. Mayormente, la traducción es transparente (ya que se usarán los mismos módulos kernel o las demás herramientas que se comunican con un dispositivo ISA o PCI para gestionar el mismo protocolo provisto a través del dispositivo PCMCIA). El único problema real que se presenta con los dispositivos PCMCIA es el reconocimiento del evento de inserción y del tipo de placa cuyos drivers se deberían cargar.

Hoy en día, el empaquetamiento de periféricos PCMCIA queda en segundo plano debido a la existencia de los dispositivos USB y / o Firewire. Mientras que los dispositivos PCMCIA son un poco más convenientes por cuestiones físicas (generalmente, las placas van dentro del chasis de la máquina), los dispositivos USB son más universales para la mayoría de las máquinas. Como resultado de esto, es posible que muchos dispositivos empaquetados como PCMCIA en el pasado ahora se empaqueten como dispositivos USB de estilo "dongle". Estos dispositivos están mucho más disponibles en las bocas de expendio minoristas.

Reconocimiento de un dispositivo PCMCIA (primera parte)

En los kernels modernos (versiones 2.4 y posteriores), el soporte de dispositivos PCMCIA está disponible como un módulo kernel. Las distribuciones modernas incluirán este soporte. Pero si usted compila un kernel personalizado, incluya las siguientes opciones: CONFIG_HOTPLUG, CONFIG_PCMCIA y CONFIG_CARDBUS. El mismo tipo de soporte solía estar disponible de manera independiente en el paquete pcmcia-cs.

Los módulos pcmcia_core y pcmcia soportan la carga de dispositivos PCMCIA. yenta_socket también se suele cargar para soportar la interfaz CardBus (PCI sobre PCMCIA):

      % lsmod | egrep '(yenta)|(pcmcia)'
      pcmcia                 21380  3 atmel_cs
      yenta_socket           19584  1
      pcmcia_core            53568  3 atmel_cs,pcmcia,yenta_socket

Luego de insertar una placa en una ranura PCMCIA, el daemon cardmgr busca una placa en la base de datos /etc/pcmcia/config y, luego de esto, carga los drivers de soporte adecuados según lo que sea necesario.

Reconocimiento de un dispositivo PCMCIA (segunda parte)

Observemos cómo ocurre el reconocimiento de un dispositivo PCMCIA. Yo procedí a insertar una placa en una ranura PCMCIA de una laptop con Linux y con el módulo kernel de soporte que mencionamos con anterioridad. Ahora, puedo usar la herramienta cardctl para ver la información provista por este periférico:

      % cardctl ident
      Socket 0:
        product info: "Belkin", "11Mbps-Wireless-Notebook-Network-Adapter"
        manfid: 0x01bf, 0x3302
        function: 6 (network)

Esta información es provista por el módulo kernel pcmcia_core mediante la consulta de la placa física. Una vez que la identificación está disponible, cardmgr escanea la base de datos para descubrir qué driver(s) se debe(n) cargar. A veces, es algo como:

      % grep -C 1 '0x01bf,0x3302' /etc/pcmcia/config
      card "Belkin FSD6020 v2"
        manfid 0x01bf,0x3302
        bind "atmel_cs"

En este caso, deseamos que el módulo kernel atmel_cs soporte la interfaz inalámbrica que ofrece esta placa. Usted puede ver qué se cargó exactamente observando /var/lib/pcmcia/stab o /var/run/stab (según su sistema):

       % cat /var/run/stab
       Socket 0: Belkin FSD6020 v2
       0       network atmel_cs        0       eth2

Depuración de errores de un dispositivo PCMCIA

En el ejemplo anterior, todo funcionó perfectamente. Se reconoció la placa, se cargaron los drivers y todas las capacidades están listas para usar. Eso ocurre en el mejor de los casos. Si las cosas no funcionan tan bien, es probable que no pueda encontrar el driver que debe cargar.

Si está completamente seguro de que su dispositivo PCMCIA puede usar un driver existente (por ejemplo, si sabe que es compatible con otro chipset), usted puede ejecutar insmod manualmente para cargar el módulo kernel apropiado. En el caso de que use esta placa en repetidas ocasiones, usted puede editar /etc/pcmcia/config de manera tal que se brinde soporte para su placa (indicando el driver necesario). Sin embargo, suele ser bastante difícil adivinar qué módulo es necesario (ya que usted debe asegurarse de que su placa realmente sea compatible con otra placa PCMCIA conocida).

La carga de dispositivos PCMCIA se puede personalizar con los scripts de configuración en /etc/pcmcia/. Cada uno de ellos tiene un nombre que está de acuerdo con la categoría de una función. Por ejemplo, cuando se carga una placa 802.11b como la del ejemplo anterior, se ejecuta el script /etc/pcmcia/wireless. Usted puede personalizar estos scripts si su dispositivo tiene requisitos especiales de configuración.

Uso de "esquemas" para configuraciones diferentes

Si necesita usar un dispositivo PCMCIA en múltiples configuraciones, usted puede usar el comando cardctl scheme para realizar (o consultar) una configuración. Por ejemplo:

      % sudo cardctl scheme foo
      checking: eth2
      /sbin/ifdown: interface eth2 not configured
      Changing scheme to 'foo'...
      Ignoring unknown interface eth2=eth2.
      % cardctl scheme
      Current scheme: 'foo'.

En este caso, no definí el esquema foo, pero en términos generales, si usted modifica un esquema, se intenta la reconfiguración del dispositivo. Es posible usar los esquemas en los scripts de configuración mediante el análisis de la variable $ADDRESS:

      # in /etc/pcmcia/network.opts (called by /etc/pcmcia/network)
      case "$ADDRESS" in
      work,*,*,*)
          # definitions for network in work scheme ...
          ;;
      default,*,*,*)
          # definitions for network in default scheme ...
          ;;
      esac

Por supuesto que usted también puede configurar los esquemas en los scripts de inicialización o mediante otros eventos disparadores (como, por ejemplo, en un trabajo cron, por medio de una interfaz gráfica de usuario, etc.).


Configuración de dispositivos Universal Serial Bus

Sobre los dispositivos USB

Al igual que en la sección sobre los dispositivos PCMCIA, los dispositivos USB son una tecnología relativamente nueva que ha eclipsado en gran medida la importancia de los dispositivos PCMCIA. La tecnología USB le permite encadenar hasta 127 dispositivos en el mismo bus usando una topología radial flexible de hubs y dispositivos. Los dispositivos USB vienen en diferentes versiones con mayores o menores velocidades. La última versión de esta tecnología es la 2.0. En teoría, la última versión de la tecnología USB soporta hasta 480 MBsec. La tecnología USB 1.1 soportaba una velocidad más baja de 12 MBsec. En la práctica, existen varias razones adicionales por las que un dispositivo en particular puede llegar a funcionar mucho más lento que otro. De todas formas, se trata de una interfaz de bus razonablemente rápida.

Reconocimiento de un dispositivo USB (primera parte)

A nivel administrativo, la tecnología USB funciona de manera muy similar a la tecnología PCMCIA. El módulo kernel es usbcore. El soporte es mejor en las versiones de kernel 2.4 y superiores que en las versiones anteriores al kernel 2.2. Sobre el nivel usbcore, uno de varios módulos kernel soportan: uhci, uhci_hcp, ohci, ohci_hcp, ehci y ehci_hcp. Los módulos kernel exactos que usted necesita dependen del chipset que usa su máquina. Y en el caso de ehci, esto depende de si soporta o no la alta velocidad de la tecnología USB 2.0. Generalmente, si su máquina soporta ehci (o ehci_hcp), usted también deseará que se cargue un módulo ehci compatible con las versiones anteriores. "The Linux USB sub-system" [El subsistema USB de Linux] de Brad Hards incluye detalles sobre qué chipsets soportan a qué módulos kernel. Para los kernels multiuso, usted simplemente debería compilar todos los módulos USB.

Asumiendo que usted obtiene un kernel con el soporte correcto, el subsistema hotplug debería encargarse de la carga de todos los drivers necesarios para un dispositivo USB específico insertado. El archivo /proc/bus/usb/devices incluye información detallada sobre los dispositivos USB disponibles en la actualidad (tanto hubs como periféricos).

Reconocimiento de un dispositivo USB (segunda parte)

Normalmente, el bus USB se monta como un sistema de archivos generado dinámicamente similar al sistema de archivos /proc/. Se conoce el tipo del sistema de archivos como usbdevfs o usbfs. Dependiendo de su distribución, es probable que /proc/bus/usb/ se monte en los scripts de inicialización (como, por ejemplo, /etc/rcS.d/S02mountvirtfs) o mediante una configuración /etc/fstab. En el último caso, es posible que tenga una línea como la siguiente:

      # /etc/fstab
      none /proc/bus/usb usbdevfs defaults 0 0

De lo contrario, es posible que un script de inicialización ejecute algo similar a lo siguiente:

      mount -t usbdevfs none /proc/bus/usb

El reconocimiento de dispositivos y el control sobre el subsistema USB figuran en /etc/hotplug/ (especialmente, dentro de /etc/hotplug/usb.rc y /etc/hotplug/usb.agent). La inserción de un dispositivo USB realizará la modprobe de un driver. Usted puede personalizar la inicialización de un dispositivo todavía en mayor detalle creando un script /etc/hotplug/usb/$DRIVER para su periférico en particular.

Recursos

Aprender

  • En el Programa LPIC, usted encontrará listas de tares, preguntas a modo de ejemplo y objetivos detallados para los tres niveles del examen de certificación en administración de sistemas de Linux Professional Institute.
  • "Common threads: Advanced filesystem implementor's guide, Parts 1 - 13" [Subprocesos comunes: Guía para implementadores de sistemas de archivos avanzados; Partes 1 - 13] (developerWorks; desde junio de 2001) es una excelente serie relacionada con los sistemas de archivos Linux.
  • "Understanding Linux configuration files" [Comprensión de los archivos de configuración de Linux] (developerWorks; diciembre de 2001) le explica los archivos de configuración en un sistema Linux que controlan los permisos de usuario, las aplicaciones de sistemas, los daemons, los servicios y las demás tareas administrativas en un entorno de múltiples usuarios y tareas.
  • Encuentre más recursos para desarrolladores de Linux en la zona Linux de developerWorks.

Obtener los productos y tecnologías

  • Cree su próximo proyecto de desarrollo en Linux con el software de prueba de IBM, que se puede descargar de manera completamente gratuita desde developerWorks.

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Linux
ArticleID=502359
ArticleTitle=Preparación para el examen 201 de LPI: Hardware
publish-date=07282010