# Problema al cargar los modulos/detectar tarjeta red(abierto)

## RiNoA__

Hola:

   Estoy instalando una Gentoo desde una stage3, ya tengo configurado el kernel, el gestor de arranque y demás, y de hecho ya puedo arrancarlo sin problemas. El problema es que no tengo red debido a que no se carga el módulo que necesito para que detecte la tarjeta Ethernet que tengo , de hecho, no se carga ningún otro módulo de los que he indicado en  /etc/modules.autoload.d/kernel-2.6 (he puesto los mismos que había cargado el cd de instalación mínima). Navegando por los directorios, veo que en lib/modules/2.6.17-gentoo-r8/kernel/drivers/  solo me aparecen un par de vídeo y nada más, no como cuando navego por los directorios del cd de instalación que se ven todos los módulos ahí, y por eso deduzco que los módulos no existen en mi sistema y por eso no los carga, y no sé que hacer aunque he estado mirando por google, no sé si es que me he saltado un paso de la instalación porque no es la primera vez que me pongo Gentoo y esto nunca me había pasado, ¿qué podría hacer? Muchas gracias de antemano,

NoALast edited by RiNoA__ on Tue Sep 19, 2006 8:28 pm; edited 1 time in total

----------

## Stolz

Tiene pinta de ser lo que comentas, no has compilado los modulos. Para solucionarlo, vuelve a configurar/compilar el kernel. Pasos 7b y 7c de http://www.gentoo.org/doc/es/handbook/handbook-x86.xml?full=1#book_part1_chap7

----------

## RiNoA__

Veamos, de entrada tengo la tarjeta Ethernet de la placa base (eth0) y la que me interesa, una de Realtek de 10/100 Mbit (eth1), haciendo lspci:

Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+    (la que me interesa)

Ethernet controller: Accton Technology Corporation EN-1216 Ethernet Adapter     (no me interesa)

Siguiendo tu consejo he vuelto a la configuración del Kernel, tenía marcado con '*' la opción, entre otras:

Device Drivers --> Network device support --> Ethernet (10 or 100 Mbit) --->

[*] Realtek RTL-8139 C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL)

[*] Realtek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support

cambié la segunda opcíon por [M], recompilé y ahora sí que me carga el módulo 8139too pero me sigue sin detectar la tarjeta de red externa de Realtek (eth1). A la eth0 no le he definido una configuración y asume DHCP pero claro, al ser esa la tarjeta de la placa base, no tengo conectado ahí el router y se queda esperando un rato y después trata de "levantar" eth1 y dice "network interface eth1 does not exist". Y no me cuadra puesto que he estado usando internet con esta tarjeta de Realtek externa con el cd de instalación mínima y el único módulo de red cargado ahí era el 8139too.

Lo que hice para configurar la red fue lo que pone en el manual, recalco el haber hecho:

# nano -w /etc/conf.d/net

#config_eth1=( "dhcp" )

#dhcp_eth1="nodns nontp nonis"

# cd /etc/init.d

# ln -s net.lo net.eth1

# rc-update add net.eth1 default

No sé ya que hacer  :Sad: 

P.D.: Un paisano, yo tb soy de Valencia ^^

----------

## esteban_conde

Configuralas a mano como root, despues ya lo pondras en el archivo /etc/conf.d/net.

ifconfig eth0 ip_que_local(ejemplo 192.168.1.2 ) netmask 255.255.255.0 bcast 192.168.1.255

route add default gw tu_gateway (podria ser 192.168.1.1 depende de como tengas configurado el router).

ifconfig eth1 ip_que_quieras etc.

despues ejecutas ifconfig sin parametros a ver que te dice en caso de que te funcione editas /etc/conf.d/net y lo más facil es que solo tengas que retocar un poco el archivo y descomentar alguna linea para que te funcione en el arranque.

----------

## RiNoA__

Es que no me deja hacer ifconfig eth1 ip etc al no encontrar el dispositivo...

#ifconfig eth1 192.168.1.35 netmask 255.255.255.0 bcast 192.168.1.1

SIOCSIFADDR: No such device

eth1: unknown interface: No such device

SIOCSIFNETMASK: No such devide

bcast: Host name lookup failure

En cuanto al eth0 es que no me interesa tirar con la tarjeta de la placa base porque es peor, porque si conecto el router a esa tarjeta ahí sí que me va bien, me gustaría que también me funcionara lo otro si es posible, muchas gracias por el interés eso sí ^^

----------

## darkevil

si no has cargado el modulo de la tarjeta que viene integrada, lo mas seguro que al cargar el 8139too se te haya asignado al eth0, comprueba esto. Por si no sabes como hacerlo, haz:

```

 dmesg | grep RealTek

```

de hay puedes obtener la MAC de la tarjeta.

Y ahora 

```

ifconfig -a

```

ahora apareceran todas las tarjetas que tengas configuradas, simplemente mira que tarjeta corresponde con la MAC que buscas, y ya tan solo prueba lo que te dijo esteban_conde, luego si funciona pues ya configuraras el /etc/conf.d/net

----------

## inconexo

darkevil tiene razon: tienes dos tarjetas de red en el equipo; una de ellas la has compilado en el kernel (no como modulo) y la otra no. Linux asigna numeros empezando en el eth0 para las tarjetas de red ethernet, y como solo puede ver una, le asigna el 0

De todos modos, puedes compilar el kernel con soporte de ambas tarjetas para tener eth0 y eth1 si prefieres esa numeracion

El comando lspci y dmesg tambien ayuda mucho en estas ocasiones

Un saludo!

----------

## RiNoA__

Siguiendo vuestros consejos, he podido comprobar que (no me matéis   :Sad: ) estaba confundiendo las tarjetas que me interesaban. La de RealTek es la integrada y la otra externa es una U.S. Robotics 10/100 NIC USR7900. La cuestión es que vale que todo funciona con la integrada, pero no consigo que detecte de ninguna forma la de USR7900. Buscando por google lo único que he encontrado es que el módulo que en teoría habría que cargar (lo he visto relacionado con otras distros de Linux pero supongo que dará igual) es el módulo tulip, en la configuración del Kernel he señalado:

Device Drivers -> Network Device support -> Ethernet (10 or 100 Mbit) - > Tulip family Network Device support  Marco la opción y a partir de ahí me pierdo porque no estoy segura de que marcar. Probé con:

[*]DECchip Tulip (dc2114x) PCI support

[*]Use PCI shared mem for NIC registers

Así ni me autocarga tulip ni con modprobe, con lo que sigo sin encontrar eth1.

A lo bestia, probé marcando todas las opciones dentro de Tulip family Network Device Support como módulo   :Embarassed:  Así me salía como que existía el módulo tulip y me lo autocargaba pero después, vale, detecta que existe el interfaz eth1 pero cuando hizo dhcpcd eth1 salió un Kernel Panic acerca de Tulip. 

De nuevo, muchas gracias por la ayuda que me estáis prestando ^^

----------

## darkevil

 *RiNoA__ wrote:*   

> 
> 
> [*]DECchip Tulip (dc2114x) PCI support
> 
> [*]Use PCI shared mem for NIC registers
> ...

 

Si usas * no hay modulo, el driver se carga cuando se carga el kernel.(si no me equivoco)

Asi que modprobe no servira para nada.

Intenta hacer

```
 lspci | grep ethernet

```

seguramente te de mas informacion util acerca de la tarjeta que usas.

 *RiNoA__ wrote:*   

> 
> 
> A lo bestia, probé marcando todas las opciones dentro de Tulip family Network Device Support como módulo   Así me salía como que existía el módulo tulip y me lo autocargaba pero después, vale, detecta que existe el interfaz eth1 pero cuando hizo dhcpcd eth1 salió un Kernel Panic acerca de Tulip. 

 

Espero que tengas siempre un kernel estable para el arranque configurado.

Haz una cosa, para no ser tan bestia, yo tengo el kernel 2.6.17 y estas son las opciones que me aparecen para tu TULIPan

```

[*] Ethernet (10 or 100Mbit) 

    Tulip family network device support  ---> 

           [*] "Tulip" family network device support 

                <M>   Early DECchip Tulip (dc2104x) PCI support (EXPERIMENTAL) (NEW) 

                <M>   DECchip Tulip (dc2114x) PCI support (NEW)

                <M>   Generic DECchip & DIGITAL EtherWORKS PCI/EISA (NEW) 

                <M>   Winbond W89c840 Ethernet support (NEW) 

                <M>   Davicom DM910x/DM980x support (NEW)

                <M>   ULi M526x controller support (NEW)

                < >   Xircom CardBus support (new driver) (NEW) 

                < >   Xircom Tulip-like CardBus support (old driver) (NEW) 

```

yo marcaria con una M (para que no lo cargue el driver el kernel si no con modulos), todas las que fuesen posible, como lo de arriba, lei los help de cada una pero no me daban muchas pistas, asi que lo a bestia, pero de forma mas fina.

Despues de arrancar con el nuevo kernel, si haces modprobe -l podras ver los modulos referidos a la familia TULIPan, carga uno y prueba, lo descargas y cargas otro... asi hasta dar con el suyo. 

Cuanta como va la cosa.

----------

## RiNoA__

A ver, he probado varias cosas: 

1) Ya hice antes lo de marcar como módulo todo lo que me indicabas a la vez y vale, al principio carga tulip, pero cuando llega a las interfaces de red, si tengo el cable de red conectado a la tarjeta que da problemas es cuando saltaba el kernel Panic al hacer dhcpcd eth1 (eth1=tarjeta U.S.Robotics 10/100 USR 7900 eth0= Tarjeta integrada en la placa base de RealTek). Reiniciando, y con el cable conectado a la otra tarjeta, no salta el Kernel Panic y cuando intenta en el arranque acceder a eth1 se queda pensando un buen rato hasta que saca "Call Traces", "Codes" y no sé que más (si queréis lo escribo todo) para decir al final Segmentation fault /sbin/ifconfig "$@" pero al menos me llega a saltar a la consola. Una vez ahí, si escribo cualquier cosa como

```
ifconfig

ifconfig -a

ifconfig eth1
```

se me queda colgado todo, no hace nada ni con las teclas rápidas del teclado (Ctrl + Z, Ctrl +C). Y aunque entre en otro terminal para poner reboot al finalizar se queda pensando cuando quiere desmontar las unidades de red y me toca apagarlo a lo bestia.

2) Debido a 1) decicí probar a marcar en la configuración del kernel cada opción como módulo de uno en uno, 

estas son las que me salen (las mismas que a ti menos el "Xircom CardBus support (old driver)":

```
[*] Ethernet (10 or 100Mbit) 

    Tulip family network device support  ---> 

           [*] "Tulip" family network device support 

                <M>   Early DECchip Tulip (dc2104x) PCI support (EXPERIMENTAL) (NEW) 

                < >   DECchip Tulip (dc2114x) PCI support (NEW) 

                < >   Generic DECchip & DIGITAL EtherWORKS PCI/EISA (NEW) 

                < >   Winbond W89c840 Ethernet support (NEW) 

                < >   Davicom DM910x/DM980x support (NEW) 

                < >   ULi M526x controller support (NEW) 

                < >   Xircom CardBus support (new driver) (NEW) 

```

Y a la siguiente vez quitando el primero y eligiendo el siguiente, y etcétera.

Así, en todos los casos al arrancar ya fallaba el cargar el módulo tulip "Failed to load Tulip" y llegaba al modo consola sin que detectara eth1. Cargué el módulo pertinente a mano cada vez con modprobe y levanté la interfaz eth1 (ifconfig eth1 up) y seguía sin encontrarla. Eso en todos los casos que marqué estas opciones como módulo por separado. 

3) Hay una opción que tiene más opciones:

```
[*] Ethernet (10 or 100Mbit) 

    Tulip family network device support  ---> 

           [*] "Tulip" family network device support 

                < >   Early DECchip Tulip (dc2104x) PCI support (EXPERIMENTAL) (NEW) 

                <M>   DECchip Tulip (dc2114x) PCI support (NEW) 

                 [*]        New bus configuration (EXPERIMENTAL)

                 [*]        Use PCI shared mem for NIC registers

                 [*]        Use NAPI RX polling

                 [*]           Use Interrupt Mitigation

                < >   Generic DECchip & DIGITAL EtherWORKS PCI/EISA (NEW) 

                < >   Winbond W89c840 Ethernet support (NEW) 

                < >   Davicom DM910x/DM980x support (NEW) 

                < >   ULi M526x controller support (NEW) 

                < >   Xircom CardBus support (new driver) (NEW) 

```

Esas opciones no se pueden cargar como módulos. Seleccionándolas todas vuelvo a la misma situación de 1) (al menos carga tulip pero sigo teniendo exactamente los mismos fallos de 1). Probando distintas combinaciones dentro de esas opciones (de lo poco que consigo extraer de la ayuda) veo que sigue haciendo lo mismo.

Si insisto tanto con esta tarjeta a pesar de tener la otra es porque la integrada no es de 10/100 y me gusta tenerla en casos de "Campus Party" y demás. Pero si hay tantos problemas para detectarla estoy por comprarme otra que sepa que me vaya a reconocer... (esto suponiendo que tulip es el módulo correcto para esta tarejta que es lo que he encontrado en google). Aunque no me parece lógico teniendo en cuenta que con el livecd sí que consigo trabajar con esta tarjeta.

¿Alguna sugerencia?   :Crying or Very sad: 

----------

## abasme

porque no posteas un lspci para poder ayudarte mejor, porque puede ser que no sea un tulip.

----------

## Stolz

 *abasme wrote:*   

> porque no posteas un lspci para poder ayudarte mejor, porque puede ser que no sea un tulip.

 

Ya lo hizo en el segundo mensaje

 *RiNoA__ wrote:*   

> haciendo lspci:
> 
> Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+    (la que me interesa)
> 
> Ethernet controller: Accton Technology Corporation EN-1216 Ethernet Adapter     (no me interesa)

 

----------

## ekz

 *RiNoA__ wrote:*   

> Aunque no me parece lógico teniendo en cuenta que con el livecd sí que consigo trabajar con esta tarjeta.
> 
> ¿Alguna sugerencia?  

 

Podrias iniciar con el liveCD y hacer un lsmod, para ver cual es el modulo que le asigno el kernel para hacerla funcionar (porque el kernel del liveCD funciona con módulos..o no??  :Rolling Eyes:  )

----------

## RiNoA__

 *Quote:*   

> 
> 
> Podrias iniciar con el liveCD y hacer un lsmod, para ver cual es el modulo que le asigno el kernel para hacerla funcionar 

 

Ahora que lo mencionas ya lo hice antes, y los relacionados eran 8139too (RealTek) y tulip (la otra) justamente (así que se confirma que es tulip).

Eso sí, lo que justamente sale es (de los que considero de interés para esto, porque salen bastantes más):

```

Module               Size     Used by

tulip                42016              0

mii                   2352              1    8139too
```

Como nota, el livecd no carga directamente eth1, tengo que "levantarlo" a mano, pero al menos tira ya funciona luego.

----------

## esteban_conde

 *darkevil wrote:*   

> [*] "Tulip" family network device support
> 
>                 <M>   Early DECchip Tulip (dc2104x) PCI support (EXPERIMENTAL) (NEW)
> 
>                 <M>   DECchip Tulip (dc2114x) PCI support (NEW)
> ...

 

me apunto a esta seleccion e incluso añadira las dos ultimas por si acaso, suponiendo que el kernel lo has compilado y extraido su bzImage no tendrias que hacer mas que make modules && make modules_install, si los compila sin problemas te vas a /lib/modules/Tu_kernel_version/kernel/drivers/net y haces un ls para ver los nombres de los modulos, despues con modprobe los vas cargando uno a uno y a la vez probando con ifconfig hasta ver cual es el adecuado.

La verdad es que no se me ocurre nada mas de momento.

----------

## amon-ra

Una pregunta, has instalado coldplug y lo has puesto al inicio.

Si lo haces asi puedes poner todo como modulos y este se encargará de cargar lo que necesitas.

Saludos

----------

## RiNoA__

esteban_conde, eso ya lo hice, es lo que explico en 1) en un post más arriba, no me funciona, es cuando salta el Kernel Panic como tenga el cable de red conectado a esa tarjeta y aunque no lo tenga en cuanto ejecuto una orden relacionada con red (ifconfig y demás) se cuelga (vamos, lo que dije en 1) en el post anterior).

amon-ra, no he instalado el coldplug así que lo probaré y volveré a postear.

----------

## esteban_conde

Se me ocurre que una fuente de problemas con los drivers es compilar un kernel sacar la imagen y los modulos, al cabo de un tiempo se cambia el compilador a otra version, el kernel sigue tirando perfectamente puesto que los modulos están compilados con el mismo gcc que el mismo, si embargo si se compila algun modulo nuevo al cargarlo da errores como modulo no compatible o algo así cuando no produce cuelgues.

La pregunta es ¿has hecho algun cambio de software de este tipo?.

Espero haberlo planteado bien.

----------

## RiNoA__

Lo siento, no he posteado porque no he seguido con la instalación de Gentoo ya que tengo otros problemas con el ordenador de tipo hardware (nada que ver con la tarjeta Ethernet) y hasta que no los solucioné no lo retomaré. En cuanto a lo que me preguntas esteban_conde, no acabo de entender lo que dices... si te refieres a que tenía un kernel compilado de hace tiempo con un determinador compilador y lo he recompilado ahora con una versión actualizada del compilador, no creo, porque recién estaba reinstalando Gentoo después de mucho tiempo y acaba de bajar el nuevo portage, kernel etc. 

Ya volveré dando carga cuando vuelva al problema, de momento lo dejo abierto (muchas gracias por vuestro interés) ^^

----------

