Buenas (si llega dos veces, lo siento, pero el server
de correo me lo ha devuelto).

Tengo un peque�o portatil (Celeron 400 del a�o de
matusalen) donde uso un par de tarjetas pcmcia para
conectarme a red: una es la tipica realtek 10-100 y la
otra una 3com para wifi (la primera de la lista de
tarjetas soportadas por el prism54).

La cuesti�n es que me gustar�a que el
network/interfaces y hotplug detectasen
automaticamente que tarjeta le meto y convenientemente
me levantase la config de una o la otra (solo tengo
metidas o la una o la otra pero no ambas a la vez).

He visto algunos ejemplo en la guia de referencia
debian (en ingles y en espa�ol) y en
usr/shrare/doc/ifupdown/examples/network-interfaces.gz

pero no parece funcionarme. Si levanto a mano (ifup
eth0=casa) si funciona pero el hotplug no mace ni
caso. El hotplug, si en vez de llamar a una stanza
mapping llama a una iface parece que si funciona.

Os pongo los ficheros implicados:

#/etc/network/interfaces
# This entry denotes the loopback (127.0.0.1)
interface.
auto lo
iface lo inet loopback
#===========================================================
#Probamos la autodetecci�n autom�tica de tarjeta y red

#Para que se active por hotplug
mapping hotplug
    script echo

#Detecci�n de tarjeta
mapping eth?
    script /usr/local/sbin/check-mac-address.sh
    map 00:00:00:00:00:0F casa
    map 00:00:00:00:00:00 universidad
    #El parametro que pongo ah� es la direcci�n MAC de
cada tarjeta, 
que no 
pongo
    #por no ser relevante

# Las diferentes tarjetas/interfaces l�gicas
# ifup eth0=[upco|casa|...]
# dado que no parece funcionar la detecci�n autom�tica

#Configurar eth0 con RJ45, red ethernet convencional
en casa
iface casa inet dhcp
    hostname miniyo

#Configurar eth0 teniendo la tarjeta Wifi en la uni
iface universidad inet dhcp
    hostname miniyo
    #a continuaci�n las extensiones wireless


Este es el script al que llamo desde
network/interfaces y que 
aparentemente 
funciona. Es el que en teoria est� en 
/usr/shrare/doc/ifupdown/examples/ 
pero con un par de modificaciones porque no tiraba. Si
lo ejecuto desde 
la 
shell (sh -x [nombre script] eth0 DIRMAC casa) el
resultado es el 
esperado.
#/usr/local/sbin/check-mac-address.sh
#!/bin/sh
# Checks if the given interface matches the given
ethernet MAC
# if it does it exits with 0 status, if it doesn't
then it exists
# with 1 (error) status.

set -e

export LANG=C

if ! [ -n "$1" -a -n "$2" ] ; then
#OJO: en el original entra en el if si lso parametros
1 y 2 son no 
nulos
    echo "Usage: $0 IFACE targetMAC"
    exit 1
fi
iface="$1"
targetmac=`echo "$2" | sed -e 'y/ABCDEF/abcdef/'`
mac=$(/sbin/ifconfig "$iface" | sed -n -e '/^.*HWaddr 
\([:[:xdigit:]]*\).*/{s//\1/;y/ABCDEF/abcdef/;p;q;}')

if [ "$targetmac" = "$mac" ]; then
#El script original no escribe nada en la salida
estandar, solo exit0 o 
exit 
1
#y me suena haber visto en la documentaci�n que es
necesario escribir 
la
#stanza antes de acabar el script
    echo "$3"
    exit 0;
else exit 1;
fi

Acepto consejos o sugerencias (si no no escribiria
esto XD)

Muchas gracias
P 


                
______________________________________________
Renovamos el Correo Yahoo!: �100 MB GRATIS!
Nuevos servicios, m�s seguridad
http://correo.yahoo.es

Responder a