BeagleBone Black ethernet hotplug

217 views
Skip to first unread message

David Broin

unread,
Jul 8, 2015, 4:16:12 PM7/8/15
to embeb...@googlegroups.com
Buenas tardes! Estoy teniendo un problemita hace un tiempo ya y no encuentro solución. Seguramente alguien de la lista me puede orientar un poco.

Estoy trabajando con una Beaglebone Black con la última imagen de Debian publicada en http://beagleboard.org/latest-images. El problema es que si desconecto el cable de red tengo que rebootear para que vuelva a funcionar la conectividad por ethernet.
Si enciendo la placa sin estar conectada a la red, cuando le conecto el cable por primera vez anda perfecto. Pero si lo desconecto y vuelvo a conectar no funciona. Por ejemplo, al ejecutar ping la respuesta es:

connect: Network is unreachable 

Si reinicio la placa, está nuevamente andando. 

He estado buscando mucho y una de las cosas que encontré y creí que me podría ayudar es ifplugd, sin embargo no sirvió de nada. 
El mismo problema existe con los dispositivos USB (conversor USB-Serie, por ejemplo). Necesito reiniciar para que detecte que se conectó un dispositivo. Cuando encontré lo de ifplugd supuse que la respuesta vendría por ese lado, algún demonio o servicio encargado de detectar cambios en el hardware no estaría andando, pero no encuentro nada.

Quedo a la espera de cualquier sugerencia que me ayude a seguir buscando una solución.

Muchas gracias.

Gustavo F. Paredes - LU2JGP

unread,
Jul 8, 2015, 4:37:27 PM7/8/15
to embeb...@googlegroups.com
Hola.

No tengo experiencia en linux embebido (hasta que me llegue la CIAA), pero leyendo en la descripción del repositorio de Debian encontré:
 * Option to beep when the cable is unplugged or plugged
 ¿ Probaste de activar el beep (si se puede en esa placa) ??. Como para saber si detecta el unplugged.

* Can be configured to ignore short unplugged or plugged periods
¿ No estará configurado para ignorar el unplugged ?.

Digo por las dudas.

Gustavo





--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--

"Per Aspera ad Astra"

Gustavo F. Paredes Delaloye
Técnico en Computación.
Técnico Superior en Electrónica Digital y Control Automático.
Profesor para el Nivel Secundario en la Modalidad Técnico-Profesional.
Técnico Universitario en Automatización y Control de Procesos Industriales.
Matricula Nacional COPITEC T3018
Skype: lu2jgp
lu2...@gmail.com
pared...@copitec.org.ar
--
Labalta 127
Concepción del Uruguay, Entre Ríos
Argentina
Tel.: +54 3442 443731
Movil: +54 9 3442 540623

David Broin

unread,
Jul 8, 2015, 5:04:49 PM7/8/15
to embeb...@googlegroups.com
Muchas gracias Gustavo. Sigo revisando la documentación para ver si encuentro algo, estuve revisando lo que citas y de paso probando algunas otras opciones, pero no logro nada.

Saludos.

Ezequiel Garcia

unread,
Jul 8, 2015, 8:23:36 PM7/8/15
to embeb...@googlegroups.com
2015-07-08 17:16 GMT-03:00 David Broin <david...@gmail.com>:
> Buenas tardes! Estoy teniendo un problemita hace un tiempo ya y no encuentro
> solución. Seguramente alguien de la lista me puede orientar un poco.
>
> Estoy trabajando con una Beaglebone Black con la última imagen de Debian
> publicada en http://beagleboard.org/latest-images. El problema es que si
> desconecto el cable de red tengo que rebootear para que vuelva a funcionar
> la conectividad por ethernet.
> Si enciendo la placa sin estar conectada a la red, cuando le conecto el
> cable por primera vez anda perfecto. Pero si lo desconecto y vuelvo a
> conectar no funciona. Por ejemplo, al ejecutar ping la respuesta es:
>
> connect: Network is unreachable
>
> Si reinicio la placa, está nuevamente andando.
>
> He estado buscando mucho y una de las cosas que encontré y creí que me
> podría ayudar es ifplugd, sin embargo no sirvió de nada.

David,

Cuando desconectás el cable el kernel te tiene que tirar un mensajito
"link down":
lo estás viendo?

Cuando lo reconectás, el kernel te tiene que decir "link up". Estás
viendo los dos mensajes?

Los drivers ethernet de Linux usan mecanismo de polling a la PHY para
detectar el cable,
el primer paso sería ver si eso funciona.

Otra consulta, si desconectás y reconectás el cable, y luego hacés
"ifconfig eth0" que obtenés?

PS: El lugar correcto para hacer esta consulta es alguno de los
googlegroups de BBB,
es el canal "oficial" de soporte.
--
Ezequiel García, VanguardiaSur
www.vanguardiasur.com.ar

Ezequiel Garcia

unread,
Jul 8, 2015, 8:40:50 PM7/8/15
to embeb...@googlegroups.com
2015-07-08 17:16 GMT-03:00 David Broin <david...@gmail.com>:
> Buenas tardes! Estoy teniendo un problemita hace un tiempo ya y no encuentro
> solución. Seguramente alguien de la lista me puede orientar un poco.
>
> Estoy trabajando con una Beaglebone Black con la última imagen de Debian
> publicada en http://beagleboard.org/latest-images. El problema es que si
> desconecto el cable de red tengo que rebootear para que vuelva a funcionar
> la conectividad por ethernet.
> Si enciendo la placa sin estar conectada a la red, cuando le conecto el
> cable por primera vez anda perfecto. Pero si lo desconecto y vuelvo a
> conectar no funciona. Por ejemplo, al ejecutar ping la respuesta es:
>
> connect: Network is unreachable
>

BTW, mis preguntas del mail anterior eran como para
tener un poco de info.

Pero por este error, diría que tenés algo mal en la rutas
(e.g. mal el default gateway?).

De paso también tendrías que:

* tirar la salida de "route"
* hacer un ping a otro bicho en la red local

PS: Cuando hacés una pregunta como esta, lo mejor es ir dando
más info, más logs, etc.

Mirko Leonardo Serra Labán

unread,
Jul 8, 2015, 8:45:03 PM7/8/15
to embebidos32
Podrías probar asignarle una IP fija, aunque sea para ver por qué lado viene.

--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

David Broin

unread,
Jul 9, 2015, 12:40:49 PM7/9/15
to embeb...@googlegroups.com
Muchas gracias Mirko y Ezequiel. Voy a seguir en la lista de la Beagle. Ya estuve viendo que hay muchos mensajes relacionados con este tema y no había encontrado esa información googleando.

Saludos.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

Gustavo F. Paredes - LU2JGP

unread,
Jul 9, 2015, 1:12:11 PM7/9/15
to embeb...@googlegroups.com

Cuando encuentres la respuesta, pasala por este hilo.

Gustavo

Enviado desde mi Samsung Young.

Ezequiel Garcia

unread,
Jul 9, 2015, 5:01:09 PM7/9/15
to embeb...@googlegroups.com

David,

Y si nos envías la salida de los comandos que te pedí?

David Broin

unread,
Jul 9, 2015, 5:21:36 PM7/9/15
to embeb...@googlegroups.com
Si, era para no seguir por aquí algo que quizás podía resolver en la lista específica.

[   40.575794] libphy: PHY 4a101000.mdio:01 not found
[   40.580867] net eth0: phy 4a101000.mdio:01 not found on slave 1
[   41.170392] libphy: PHY 4a101000.mdio:01 not found
[   41.175488] net eth0: phy 4a101000.mdio:01 not found on slave 1
[   43.386367] libphy: PHY 4a101000.mdio:01 not found
[   43.391489] net eth0: phy 4a101000.mdio:01 not found on slave 1

Eso veo, al momento de desconectar el cable de red, por el puerto serie que uso para debug (/dev/ttyO0).

Cuando lo reconecto no sucede nada.

Si hago ifconfig eth0 antes de desconectarlo obtengo:
eth0      Link encap:Ethernet  HWaddr 78:a5:04:ee:78:e1 
          inet addr:192.168.1.26  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::7aa5:4ff:feee:78e1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:436 errors:0 dropped:0 overruns:0 frame:0
          TX packets:197 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:66517 (64.9 KiB)  TX bytes:22228 (21.7 KiB)
          Interrupt:56

Con el cable desconectado tengo:
eth0      Link encap:Ethernet  HWaddr 78:a5:04:ee:78:e1 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:622 errors:0 dropped:0 overruns:0 frame:0
          TX packets:214 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:94044 (91.8 KiB)  TX bytes:26583 (25.9 KiB)
          Interrupt:56

Si reconecto el cable:
eth0      Link encap:Ethernet  HWaddr 78:a5:04:ee:78:e1 
          inet6 addr: fe80::7aa5:4ff:feee:78e1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:622 errors:0 dropped:0 overruns:0 frame:0
          TX packets:214 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:94044 (91.8 KiB)  TX bytes:26583 (25.9 KiB)
          Interrupt:56

Si hago route cuando todo está andando bien, es decir, antes de desconectar el cable:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

Una vez desconectado el cable por primera vez:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
(NO HAY RESULTADOS)

Si reconecto:
Lo mismo que cuando estaba desconectado.

Si intento hacer ping a una máquina en la red local cuando está conectado no hay problema, después de desconectarlo una vez y de ahí en más la respuesta es:
connect: Network is unreachable

Otro dato que quizás sirva:
cat /etc/default/ifplugd
# This file may be changed either manually or by running dpkg-reconfigure.
#
# N.B.: dpkg-reconfigure deletes everything from this file except for
# the assignments to variables INTERFACES, HOTPLUG_INTERFACES, ARGS and
# SUSPEND_ACTION.  When run it uses the current values of those variables
# as their default values, thus preserving the administrator's changes.
#
# This file is sourced by both the init script /etc/init.d/ifplugd and
# the udev script /lib/udev/ifplugd.agent to give default values.
# The init script starts ifplugd for all interfaces listed in
# INTERFACES, and the udev script starts ifplugd for all interfaces
# listed in HOTPLUG_INTERFACES. The special value all starts one
# ifplugd foerfaces being present.
INTERFACES="eth0"
HOTPLUG_INTERFACES=""
ARGS="-q -f -w -I"
SUSPEND_ACTION="stop"

cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# This is a list of hotpluggable network interfaces.
# They will be activated automatically by the hotplug subsystem.
mapping hotplug
script grep
map eth0


# The primary network interface
iface eth0 inet dhcp
up ifmetric eth0 0
#allow-hotplug eth0
auto eth0


Saludos.

Fernando Lichtschein

unread,
Jul 9, 2015, 5:26:38 PM7/9/15
to embeb...@googlegroups.com
no sé mucho de esto pero al final donde dice:

# The primary network interface
iface eth0 inet dhcp
up ifmetric eth0 0
#allow-hotplug eth0
auto eth0

¿No debería estar sin comentar "allow-hotplug eth0"?

Saludos

David Broin

unread,
Jul 9, 2015, 5:31:49 PM7/9/15
to embeb...@googlegroups.com
La verdad que tenés razón Fernando, he probado muchas cosas y en algún momento quedó comentado eso. Sin embargo, lo acabo de descomentar y volver a probar, no cambió nada lamentablemente.

Saludos

Ezequiel Garcia

unread,
Jul 10, 2015, 7:13:34 AM7/10/15
to embeb...@googlegroups.com
Me parece a mi o ahí arriba falta una IP? Intentaste re-configurarlo a mano?

ifconfig eth0 192.168.1.26

Sería bueno que pruebes haciendo ifconfig down/up en vez de sacar y
poner el cable,
a ver si la situación es la misma.

Ezequiel Garcia

unread,
Jul 10, 2015, 11:22:54 AM7/10/15
to embeb...@googlegroups.com, david...@gmail.com
Yo te diría que hagas esta prueba:

1) Con la maquina recién booteada y con el cable puesto

$ ifconfig eth0 192.168.1.26 up
$ ping 192.168.1.1 #ping al default gateway

2) Se baja la interfaz o se saca el cable

$ ifconfig eth0 down
$ ping 192.168.1.1 #ping al default gateway
# tiene que dar Network unreachable (no hay ruta para salir)

3) Se sube la interfaz o se pone el cable


$ ifconfig eth0 192.168.1.26 up
$ ping 192.168.1.1 #ping al default gateway

Es decir: ya sea con ifconfig down o sacando el cable,
y luego con ifconfig up o poniendo el cable, si cuando
la interfaz está down o sin IP, le hacés up y le das IP
un ping al default gateway tiene que salir bien.

Me explico?

Ezequiel Garcia

unread,
Jul 10, 2015, 12:36:49 PM7/10/15
to David Broin, embeb...@googlegroups.com
2015-07-10 13:32 GMT-03:00 David Broin <david...@gmail.com>:
> Justo estaba haciendo esas pruebitas Ezequiel.
>
>>1) Con la maquina recién booteada y con el cable puesto
>>
>>$ ifconfig eth0 192.168.1.26 up
>>$ ping 192.168.1.1 #ping al default gateway
>
> Responde perfecto, ningún problema.
>
>>2) Se baja la interfaz o se saca el cable
>>
>>$ ifconfig eth0 down
>>$ ping 192.168.1.1 #ping al default gateway
>># tiene que dar Network unreachable (no hay ruta para salir)
>
> Como es de esperar,
> connect: Network is unreachable
>
>>3) Se sube la interfaz o se pone el cable
>>
>>
>>$ ifconfig eth0 192.168.1.26 up
>>$ ping 192.168.1.1 #ping al default gateway
>
> Responde;
> From 192.168.1.26 icmp_seq=1 Destination Host Unreachable
>
>
> Adicionalmente, la respuesta a route cambia cuando hago ifconfig up/down.
> Inicialmente tiene la información que el DHCP le asignó, después del down
> desaparece todo. Si le asigno el gateway con route add, se ve reflejado al
> ejecutar route de nuevo, pero no cambia el comportamiento.
>

No sé que hace Debian, pero lo de arriba se ve perfecto. O sea: no veo
ningún problema,
solamente tenés que reconfigurar cuando la interfaz vuelve (ya sea porque
desconectás y reconectás el cable, o porque hacés down/up por software).

O sea: darle configuración IP y ruta.

En este punto seguro los expertos en configuración de redes (yo no lo soy)
te pueden ayudar.

Yo uso ifplugd para eso.

Fernando Lichtschein

unread,
Jul 10, 2015, 12:46:05 PM7/10/15
to embeb...@googlegroups.com
¡Esto tiene más suspenso que una telenovela!

Ezequiel Garcia

unread,
Jul 10, 2015, 12:51:54 PM7/10/15
to David Broin, embeb...@googlegroups.com
2015-07-10 13:47 GMT-03:00 David Broin <david...@gmail.com>:
> Si, estoy mirando en el grupo de Beagle. Hay algunas cosas al respecto, no
> es sencillo buscar por la cantidad de información que hay. Igualmente, la
> idea era usar Debian hasta que armara una imagen.
> Ya armé una con Yocto y no hay ningún problea con esto, así que seguía
> intentando para lograr solucionarlo y aprender.
>
> Te agradezco mucho la informacón.
>

No hay problema!

Para mí es un bug en ese Debian. Por ejemplo, justo tengo un Centos
acá y puedo reproducir el problem con facilidad (es un x86 pero para
los efectos es lo mismo):

1) Tengo una ruta:

# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0

2) Saco la ruta:

# ip route del 192.168.0.0/24

3) No hay ruta:

# ping 192.168.0.1
connect: Network is unreachable

Como te digo: parece ser simplemente un error en la configuración en ese Debian.

Si usás Buildroot vas a tener que armar todo este soporte a manopla
(e.g. con ifplugd). No sé si Yocto ya lo trae hecho.
Reply all
Reply to author
Forward
0 new messages