"La Gaceta de Linux...haciendo a Linux un poco más divertido!"


Instalación de USB, PCMCIA y Kernel 2.2.18 en mi portátil

Por Mark Nielsen

Traducción al español por Ricardo Frydman
el día 08 de Febrero 2003, para La Gaceta de Linux


[Nota del Editor: Los usuarios de Linux actualmente están migrando de la serie 2.2 del kernel a la 2.4. La serie 2.4 incluye soporte USB altamente mejorado. La mayoría de las distribuciones y usuarios aún no han hecho el cambio, pero lo harán en los próximos meses. Los pasos siguientes fueron escritos para el kernel 2.2.8. Mira los enlaces de la sección Referencias más abajo (especialmente la Guía USB-Linux), para la información más actualizada sobre la puesta en marcha de USB con Linux.

Además, el kernel 2.4 incluye soporte PCMCIA, así que pruébalo antes. Esos controladores no funcionan para todo el mundo, si eres uno de los pocos desafortunados, consigue el paquete pcmcia-cs.

Contenidos

  1. Introducción
  2. Instalación del 2.2.18
  3. Configuración del Lilo para usar el kernel viejo y nuevo
  4. Configuración de USB
  5. Cambio del módem Ricochet de serial a USB.
  6. Algunos problemas con las portátiles y los recursos.
  7. Conclusión
  8. Referencias

Introducción

Quería usar mi módem Ricochet en mi portátil en el puerto USB. Descargué exitosamente el kernel 2.2.18 y utilicé USB en mis otras computadoras. En ese momento no quería el kernel 2.4.

El problema con mi portátil era que utilizaba dispositivos pcmcia. Me dí cuenta después que tenía que descargar pcmcia-cs e instalarlo después del nuevo kernel 2.2.18.

Poner USB a trabajar en mi portátil significaba varias cosas,

  1. Instalar el nuevo kernel 2.2.18.
  2. Instalar los controladores pcmcia.
  3. Configurar Lilo para usar el kernel viejo y el nuevo.
  4. Asegurar que los módulos usb se cargaban al arranque.
  5. Crear un nodo en /dev/usb para el módem Ricochet.
  6. Reconfigurar mis opciones de ppp.
  7. Al estar seguro del correcto funcionamiento del nuevo kernel, ponerlo como predeterminado al arranque.
  8. Desafortunadamente, debido a la estupidez del BIOS de mi portátil y de la basura estúpida de plug-and-play, sólo puedo hacer funcionar mi puerto USB sin zócalos pcmcia en uso. Esto significa que no puedo conectarla a mi red local usando la placa ethernet pcmcia. Esto no es una falla en el kernel de Linux, sino de la tonta computadora.

Instalación del 2.2.18

Estos son los pasos que seguí para instalar el kernel y los controladores pcmcia.
  1. Configurar e instalar el nuevo kernel con dispositivos de consola, soporte usb y pcmcia. Además seleccioné una cantidad de opciones más.
  2. Descargar pcmcia-cs e instalarlo usando el directorio src desde el nuevo kernel.
Esto son los comandos que usé para instalar el nuevo kernel
   ## cambiar al directorio src del kernel
   ## para xconfig, seleccioné las opciones usb y VESA VGA de consola gráfica
   ## bajo consola para mi portátil
make xconfig
make clean
make dep
make bzImage
make install
make modules
make modules_install
Los pasos que usé para instalar pcmcia-cs.
tar -zxvf pcmcia-cs-3.1.23.tar.gz
  ### Asegúrate de especificar el directorio raíz para el nuevo kernel
  ### el mío fue /usr/src/linux-2.2.18/linux
  ### no modifiqué las otras opciones predeterminadas
make config
make all
  ### Esto coloca los módulos bajo /lib/modules/2.2.18
make install

Configuración del lilo para usar el kernel viejo y nuevo.

Aquí están las configuraciones vieja y nueva que tenía en /etc/lilo.conf. Recomiendo altamente que no lo utilices, ya que está personalizado para mis necesidades. Tras editar /etc/lilo.conf con la nueva configuración, escribí "lilo" en línea de comandos. Luego, tras reiniciar la computadora, me dio a elegir entre "linux_new" o "linux". Cuando corroboré que el nuevo kernel funcionaba, lo definí como predeterminado.

Configuración vieja.

### Configuración de prueba para la portátil GNUJobs.com
vga=791 
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux

image=/boot/vmlinuz-2.2.12-32
	label=linux
	initrd=/boot/initrd-2.2.12-32.img
	read-only
	append="hdc=ide-scsi"
#        ramdisk_size=40000
	root=/dev/hda5

Configuración nueva de lilo.conf
### Configuración de prueba para la portátil GNUJobs.com
### Nuevo kernel instalado. Recuerda instalar los controladores de consola
### en los nuevos kernel de otra manera vga=791 no funciona.

vga=791 
#vga=ask
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux_new

image=/boot/vmlinuz-2.2.18
        label=linux_new
        read-only
        append="hdc=ide-scsi"
              ### /dev/hda5 es root en la portátil GNUJobs.com 
        root=/dev/hda5

image=/boot/vmlinuz-2.2.12-32
	label=linux
	initrd=/boot/initrd-2.2.12-32.img
	read-only
	append="hdc=ide-scsi"
              ### /dev/hda5 es root en la portátil GNUJobs.com 
	root=/dev/hda5

Configuración de USB

Para configurar USB, tuve que colocar éstos comandos en mi archivo /etc/rc.d/rc.local.
   ### Este comando monta el sistema de archivos de usb en /proc/bus/usb. 
mount -t usbdevfs none /proc/bus/usb
   ### Cargar un módulo usb genérico  -- elije una de tres opciones dependiendo
   ### de tu placa madre o placa USB. No he podido utilizar
   ### uhci o usb-uhci en todas las placas madre. Si no estás seguro
   ### cuál usar, mira "Configuración Básica USB" en la Guía Linux-USB
   ### ne http://www.linux-usb.org/USB-guide/c122.html#AEN124
insmod /lib/modules/2.2.18/usb/uhci.o
# insmod /lib/modules/2.2.18/usb/usb-uhci.o
# insmod /lib/modules/2.2.18/usb/usb-ohci.o
   ### Cargar los módulos para el módem, como Ricochet
insmod /lib/modules/2.2.18/usb/acm.o

Cambio del módem Ricochet de serial a USB

Para cambiar el módem Ricochet al nuevo usb, tuve que cargar los módulos descriptos en la sección anterior, luego crear un nodo y hacer que la configuración ppp lo utilice.
mkdir /dev/usb
mknod /dev/usb/ttyACM0 c 166 0 

Nuevamente, cambié la utilización de /dev/ttyS0 por /dev/usb/ttyACM0. Ahora mi módem Ricochet funciona y pareciera que más rápido que el serial, como debe ser, pero quizá sea mi imaginación. Observa que éstos dos comandos son permanentes: sólo debes ejecutarlos una sola vez. Además, es /dev/usb, no /proc/bus/usb (se explica en la Guía Linux-USB). Los archivos de kernel mágicamente aparecen y desaparecen en /proc/bus/usb a medida que los dispositivos son conectados y desconectados, pero no se trata de éste archivo. Los módem USB Ricochet requieren una entrada /dev; otros dispositivos USB no. El usbdevfs administra /proc/bus/usb, no /dev/usb.

Algunos problemas con las portátiles y los recursos

Instalé el nuevo kernel en mi portátil DELL. Tuve algunos inconvenientes. Pareciera que mi estúpida portátil no tuviera suficientes irqs disponibles al usar el puerto USB. Entonces, ahora me tengo que comprar un ratón USB (quizás un teclado) para liberar alguna irq. También sufrí éste problema al intentar usar mi módem y placa ethernet pcmcia al mismo tiempo. No he podido resolver ese problema. Ahora cuando utilizo el puerto USB, no puedo utilizar ninguna placa pcmcia. Es extremadamente molesto que no pueda utilizar nada que use el irq 10, y no poder deshabilitar el puerto paralelo, serie y ratón interno ps/2. La computadora DEL era por lejos la mejor portátil Linux que había visto, pero ahora la abandonaré pronto. Imagino que con el kernel 2.4, habrá mucho más soporte comercial para Linux. Porqué rayos el malvado imperio del software acordó con el del hardware para crear un sinsentido plug-and-pray (conecta y reza) amigable con el usuario, es algo que me supera. Sé que mi portátil tiene recursos disponibles pero no logro que los utilice. Muy molesto. Estoy extremadamente decepcionado con la BIOS de la particular DELL que tengo.

Compré otra portátil para un empleado mío de GNUJobs.com a Emperor Linux, y estaba correctamente configurada, y harté al vendedor para asegurarme que todo funcionaba sin problemas. Estoy mucho mas contento con ésta portátil de Emperor Linux.

Otra cosa boba que hice fue olvidarme de instalar el formato iso9660 en el kernel (o como módulo). Ahora ni puedo leer cdroms. Tendré que compilar el kernel nuevamente e incluir específicamente el formato iso9660 como módulo.

Conclusión

Estoy extremadamente impresionado con el soporte USB en el kernel Linux 2.2.18. Cuando el kernel 2.4.1 aparezca, actualizaré mi kernel nuevamente. He leído todas las nuevas características que trae y parecen fabulosas!

Sobre todo, estoy fascinado con el hecho que he salido intacto de instalar un nuevo kernel. La instalación de uno nuevo no borra los anteriores, lo cual me permitió probar el nuevo sin descartar el anterior. Esto es muy útil si quiero retornar al anterior. Por ejemplo, antes de instalar pcmcia-cs en el nuevo, mi placa ethernet en la portátil, no funcionada, por lo tanto me era de utilidad que pudiera arrancar el anterior para que la placa funcionara. Esto pasaría en un sistema operativo que sólo forzara a actualizaciones que no te permitieran escoger cómo controlarlo. En un caso así, estaría frito.

Incluso aunque la instalación fue bastante fácil, debe ser más accesible a aquellos que utilizan rpms y se apoyan en las herramientas que les brinda su distribución Linux favorita. Esta es la instalación de kernel y controladores pcmcia en portátiles más fácil que he experimentado. Es agradable ver que las instalaciones se tornan cada vez más sencillo. Después de varios años de tener que luchar con el kernel por una u otra razón, es bueno ver la tecnología avanzar.

No veo cómo hará el imperio malvado para resistir su caída, considerando el hecho que GNU/Linux (y OpenBSD y FreeBSD) son tecnológicamente superior y proveen entornos amigables al usuario con GNOME y KDE. El imperio malvado nunca se ha preocupado por la tecnología, sólo por el marketing y amigabilidad de usuario. Algunos vendedores comerciales de UNIX sólo se han preocupado por la tecnología, sin hacer un entorno agradable al usuario final. Desde que GNU/Linux está mezclando la tecnología con la amigabilidad con el usuario, que es lo que la gente quiere, tenemos lo mejor de ambos mundos, en vez de imperios malvados decretándonos lo que ellos piensan que es lo mejor (o cómo controlarnos para ordeñarnos).

Referencias

  1. Tomado directamente de linux/Documentation/usb/usb-help.txt
    
    2000-Julio-12
    
    Para ayuda con USB además de los archivos LEEME localizados en
    linux/Documentation/usb/*, mira también
    
    Proyecto Linux-USB:  http://www.linux-usb.org
      espejos en         http://www.suse.cz/development/linux-usb/
             y           http://usb.in.tum.de/linux-usb/
    
    Guía Linux USB:      http://www.linux-usb.org/USB-guide/book1.html
       LEE ÉSTO!          (u otros espejos Linux-USB)
    
    Resúmen de dispositivos Linux-USB (dispositivos y controladores que funcionan):
    
  2. Linux Kernel 2.2.18
  3. Fuente del PCMCIA-CS
  4. Uso del módem inalámbrico Ricochet
  5. Sitio original de éste artículo - http://www.gnujobs.com/Articles/15/USB.html. (cualquier actualización la encontrarás aquí)


Copyright © 2001, Mark Nielsen.
Copying license http://www.linuxgazette.com/copying.html
Publicado en Edición Número 63 de Linux Gazette, Mediados de Febrero (EXTRA) de 2001