viernes, octubre 28, 2005

ethtool , esa maravillosa herramienta

Me llaman y me dicen "acabo de cambiar de núcleo, y no funciona la red". Como además de l núcleo, habían cambiado también el .config, bueno, pues sencillo, faltará el driver de la tarjeta de red ... pues no, el driver estaba.

Me dicen también que el comando ifconfig sobre la interfaz de red dice "cosas muy raras" como por ejemplo: eth0 Link encap:UNSPEC y en la MAC address, pone detrás de los seis números en hexadecimal, 8 pares de ceros. Me pongo a mirar y encuentro una página donde hablan de un problema parecido que fue provocado por cargar un módulo de firewire que creó una interfaz de red nueva que "suplantó" a la de red.

¿Cómo saber esto?: ethtool -i eth0 te dice qué driver está usando dicha interfaz ( vale, tb se puede hacer dmesg | grep eth, pero ethtool da mucha información añadida ). Una vez controlado esto, todo es modificar los parámetros de las interfaces, y listo.

1 Comments:

Anonymous Heimy said...

Jau. No es tanto que la "suplanta" como que se crea antes. Ya me pasó una vez. Ten en cuenta que Linux va enumerando las interfaces de red según las encuentra. Esto quiere decir que si vas por módulos y se carga primero el de firewire... y además tienes hotplug o similar que vaya cargando moduletes y (he aquí lo importante) cargue el eth1389 (o como se llame) antes que el de la tarjeta de red en sí, la jodimos.

Soluciones:
a) forzar que se cargue el módulo de la tarjeta de red antes (ej: poniéndolo "estático" en /etc/modules)
b) poner el módulo de ethernet vía FW en la lista negra del "hotplug" de turno
c) compilar el módulo de red en el kernel (nice!) y dejar que el otro se cargue como módulo

Mi orden de preferencia: c, a, b.

2:34 a. m.  

Publicar un comentario

<< Home