Udev (Español)

From ArchWiki
Revision as of 17:54, 11 December 2011 by Strcat (Talk | contribs) (codeline -> ic)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

"udev es el gestor de dispositivos que usa el kernel Linux en su versión 2.6. Su función es controlar los ficheros de dispositivo en /dev. Es el sucesor de devfs y de hotplug, lo que significa que maneja el directorio /dev y todas las acciones del espacio de usuario al agregar o quitar dispositivos, incluyendo la carga de firmware". Fuente: Wikipedia

udev reemplaza la funcionalidad de hotplug y hwdetect.

udev carga módulos del kernel usando paralelismo para proveer una potencial ventaja de rendimiento sobre cargar los módulos secuencialmente. Los módulos son por lo tanto cargados asíncronamente. La desventaja inherente de este método es que udev no siempre carga módulos en el mismo orden en cada arranque del sistema. Si la máquina posee múltiples dispositivos de bloque, esto se puede manifestar en la forma de nodos de dispositivos cambiando su designación aleatoriamente. Por ejemplo, si la máquina tiene dos discos duros, /dev/sda puede convertirse aleatoriamente en /dev/sdb. Vea abajo para mayor información

Contents

Acerca de módulos auto-cargándose

udev no cargará ningún módulo automáticamente excepto que MOD_AUTOLOAD este activado en Template:Filename. Si desactiva la auto-carga debe cargar los módulos que quiere/necesita manualmente colocando la lista en el arreglo MODULES en Template:Filename, puede generar esta lista con la instrucción hwdetect --modules.

Acerca de las reglas de udev

Las reglas de udev van en Template:Filename, su nombre de archivo debe terminar con Template:Filename.

Para obtener una lista de todos los atributos de un dispositivo que puede usar para escribir reglas:

# udevadm info -a -p $(udevadm info -q path -n [nombre del dispositivo])

Reemplace [nombre del dispositivo] con el dispositivo presente en el sistema, como '/dev/sda' o '/dev/ttyUSB0'.

Para reiniciar el sistema udev una vez haya creado o modificado las reglas udev, ejecute la siguiente instrucción. Dispositivos que permiten sustitución en caliente, como dispositivos USB, probablemente tendrán que ser re-conectados para que tengan efecto las nuevas reglas.

# udevadm control restart

Sugerencias y Trucos

Montar dispositivos USB automáticamente

Nota: En las reglas siguientes las opciones para mount están definidas como ENV{mount_options}="relatime", vea man mount (y posiblemente man ntfs-3g) para todas las opciones disponibles y Maximizando rendimiento para opciones relacionadas con el rendimiento.
Nota: La opción para mount users no permitirá a los usuarios desmontar el sistema de archivos.
Nota: La opción para mount noexec evita la ejecución de binarios en el sistema de archivos montado.

Montar bajo Template:Filename; usar la etiqueta de la partición si está presente

El siguiente conjunto de reglas de udev monta automáticamente dispositivos/particiones que están representadas por /dev/sd* (Discos USB, discos duros externos y a veces tarjetas SD). Si está disponible una etiqueta de partición, monta el dispositivo en /media/<etiqueta> y si no en /media/usbhd-sd* (ej: /media/usbhd-sdb1):

Template:File

Montar bajo Template:Filename; usar la etiqueta de la partición si está presente; soportar cifrado LUKS

Similar al conjunto de reglas anterior, pero si el dispositivo es una partición cifrada con LUKS abrirá una ventana xterm para pedir la contraseña (provisto que xterm esté instalado).

Nota: Quizás necesite modificar la ruta a cryptsetup, dependiendo de la versión instlada (ej., < 1.1.1_rc2-1).

Template:File

Montar bajo Template:Filename; usar la etiqueta de la partición si está presente; soportar desmontar por el usuario

Esta es una variación del conjunto de reglas anterior. Usa pmount (que necesitará ser instalado) en vez de mount, permitiendo a un usuario distinto de root desmontar dispositivos montados por udev. El nombre de usuario requerido debe estar cableado en la instrucción RUN, así que este conjunto de reglas quizás no sea conveniente para sistemas multi-usuario. También se removió el soporte de LUKS del ejemplo, pero puede ser reintegrado como en el ejemplo anterior.

Template:File

Montar bajo Template:Filename; crear un enlace simbólico bajo Template:Filename

The following rule set does not make use of partition labels; instead it mounts devices as usbhd-sdXY under the /mnt directory (ex: /mnt/usbhd-sdb1) and creates a symbolic link under /media.

El siguiente conjunto de reglas no usa las etiquetas de partición; en su lugar monta los dispositivos como usbhd-sdXY bajo el directorio /mnt (ej: /mnt/usbhd-sdb1) y crea un enlace simbólico bajo /media.

Template:File

Montar bajo Template:Filename sólo si la partición tiene una etiqueta

Template:File

Montar bajo Template:Filename; usar la etiqueta de la partición si está presente; ntfs-3g

Otro ejemplo, esta vez haciendo uso del controlador ntfs-3g con soporte de lectura/escritura para sistemas de archivos NTFS:

Template:File

Montar tarjetas SD

Se pueden usar las mismas reglas anteriores para auto-montar tarjetas SD, sólo necesita reemplazar sd[a-z][0-9] por mmcblk[0-9]p[0-9]:

Template:File

Montar CDs

Template:File

Accediendo programadores de Firmware y dispositivos virtuales de comunicación USB

El siguiente conjunto de reglas permite a los usuarios normales (en el grupo "users") acceder al programador USB USBtinyISP para microcontorladores AVR y a un adaptador genérico de USB a UART (SiLabs CP2102). Ajuste los permiso de acuerdo al caso. Verificado al 11/02/2010.

Template:File

Solución de Problemas

Desactivar auto-carga de módulos con el parámetro de arranque de sistema load_modules

Si pasa load_modules=off a su linea de arranquedel kernel, entonces udev no realiazrá carga automática de módulos. Esto es para proveer una alternativa en caso de que algo falle. Si udev carga un módulo problemático que cuelga su sistema o algo igual de malo, entonces puede saltar la auto-carga con este parámetro, yluego hacer blacklist del modulo(s) en cuestión.

Blacklisting de Módulos

In rare cases, Udev can make mistakes and load the wrong modules. To prevent it from doing this, you can blacklist modules. Once blacklisted, udev will never load that module. Not at boot-time or later on when a hotplug event is received (eg, you plug in your USB flash drive).

En casos extraños, udev puede cometer un error y cargar los módulos incorrectos. Para prevenir esto, se puede hacer blacklist de los módulos. udev nunca cargará módulos que estén blacklisted: Ni al momento del arranque del sistema ni después en cuando se recibe un evento de sustitución en caliente (ej, usted conecta su disco USB).

Para hacer blacklist de un módulo, prefíjelo con un signo de exclamación (!) en su arreglo MODULES en Template:Filename:

MODULES=(!moduloA !moduloB)

Problemas conocidos con Hardware

Los dispositivos BusLogic pueden estar defectuosos y causar que se cuelgue el sistema durante el arranque

Esto es un error en el kernel y todavía no se a provisto ningún arreglo.

Los lectores de tarjetas PCMCIA no son tratados como dispositivos removibles

To get access to them with hal's pmount backend add them to Template:Filename Para obtener acceso a ellos con pmount del backend hal agreguelos a Template:Filename

Problemas conocidos con la Auto-Carga

Módulos de frecuencia del CPU

El método actual de detección para los variados controladores de frecuencia del CPU es inadecuado, así que se ha omitido del proceso de auto-carga por el momento. Para usar el escalado de frecuencia del CPU, cargue el módulo apropiado explícitamente en su arreglo MODULES en Template:Filename.

Problemas de Sonido o Algunos Módulos no son Cargados Automáticamente

Algunos usuarios han rastreado este problema a entradas antiguas en /etc/modprobe.d/modprobe.conf. Intente limpiar ese archivo y probar de nuevo.

Dispositivos Entremezclados, Tarjetas de Sonido/Video Cambiando de Orden en Cada Arranque del Sistema

Debido a que udev carga todos los módulos asíncronamente, éstos son inicializados en orden diferente. Esto puede resultar en dispositivos cambiando de nombre aleatoriamente. Por ejemplo, con dos tarjetas de red, usted puede notar un cambio de designaciones entre eth0 y eth1.

Arch Linux provee la ventaja de especificar el orden de carga de los módulos listando los módulos en el arrelgo MODULES en Template:Filename. Los módulos en este arreglo son cargados antes de que udev empiece la auto-carga, así que tiene un control total sobre el orden de carga.

# Cargar siempre 8139too antes de e100
MODULES=(8139too e100)

Otro método para ordenar las tarjetas de red es utilizar el método sancionado por udev de nombrar estáticamente cada interfaz. Cree el siguiente archivo para ligar la dirección MAC de cada una de sus tarjetas aun cierto nombre de interfaz: Template:File

Es importante notar ciertas cosas:

  • Para obtener la dirección MAC de cada tarjeta, use esta instrucción: udevadm info -a -p /sys/class/net/<su_dispositivo> | grep address | tr [A-Z] [a-z]
  • Asegúrese de usar valores hexadecimales en minúscula en sus reglas udev.
  • Algunas personas han reportado problemas nombrando sus interfaces en el viejo estilo: eth0, eth1, etc. Pruebe nombres como "lan" or "wlan" si experiencia este problema.

¡No olvide actualizar su Template:Filename y otros archivos de configuración que usan la antigua notación ethX!

Another method for setting network interface names is described in the Configuring Network wiki entry.

Otro método para configurar nombres de interfaces de red está descrito en Configurando la Red.

Problemas Conocidos para usuarios con Kernel Personalizado

Udev no se Ejecuta

Asegúrese que tiene una versión del kernel 2.6.15 o superior. Los kernels anteriores no tienen las capacidades uevent necesarias para que udev realice la auto-carga.

Los enlaces simbólicos de CD/DVD están dañados

Si está usando un kernel 2.6.15, necesitarña el parche uevent del ABS (que hace backport de cierta funcionalidad uevent de 2.6.16). Sincronice su árbol ABS con la instrucción abs, luego encontrará el parche en /var/abs/kernels/kernel26/.