When ethernet cable unplugged, must reboot to restore

Hi!

I’ve configured my Rev A3 beaglebone to use a static IP address on a subnet between it and my MacBook:

ifconfig eth0 down
ifconfig eth0 192.168.99.2 netmask 255.255.255.0 up

Everything works fine. However, when I unplug the cable, wait a few seconds, then plug it back in, my MacBook no longer says the ethernet cable is plugged in. The beaglebone reports that everything is still fine and dandy:

root@beaglebone:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 40:5F:C2:76:7A:A0
inet addr:192.168.99.2 Bcast:192.168.99.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:107 errors:0 dropped:0 overruns:0 frame:0
TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31442 (30.7 KiB) TX bytes:15284 (14.9 KiB)
Interrupt:40

So, if I am to believe my MacBook, there is no physical connection on the ethernet cable even though it’s plugged in. When I reboot the board (“shutdown -r now”) the ethernet connection comes back again. What might I be missing? Is there an ethernet hardware reset that I need to invoke after unplugging a cable?

Thank you,
Duane Johnson
(canadaduane)

Do you have access to ethtool? This will attempt to provide you information about the state of the link directly from the MAC and/or PHY.

Joshua

I can verify that I have the same problem as well. I tried running
ethtool. After booting, ethtool correctly detects the link. If I
remove the Ethernet cable, ethtool correctly reports the link detected
as "no". Then, when I re-insert the cable, ethtool continues to report
that there's no link. I could swear that I saw things work correctly
once, but now I can't reproduce it.

To add, I have a Rev A3 board and have not seen any of the Ethernet
issues reported here in the past.

Just as a sanity check, does Ethernet cable removal and re-insertion
work for anyone?

Thanks,
Frank

Joshua--I've tried installing ethtool through opkg, but I'm guessing
it is more involved than this?

Frank, thanks for your testing and help.

Duane

What is the output of …

ethtool eth0

… at each step of your tests?

Joshua

Hi Joshua and Duane,

Joshua--I've tried installing ethtool through opkg, but I'm guessing
it is more involved than this?

What is the output of ...

ethtool eth0

... at each step of your tests?

Just so that we're on the same page, I'm using a fresh image of
Angstrom-Cloud9-IDE-eglibc-ipk-v2012.02-core-beaglebone-2012.02.14.img.xz.
The only thing that I've done to it is run:

opkg install http://www.angstrom-distribution.org/feeds/2011.03/ipk/glibc/armv7a/base/ethtool_6-r0.5_armv7a.ipk

From there, I boot up with Ethernet cable plugged in. Here's the output:

root@beaglebone:~# ethtool eth0
Settings for eth0:
  Current message level: 0x00000000 (0)
  Link detected: yes

I unplug the cable:

root@beaglebone:~# ethtool eth0
Settings for eth0:
  Current message level: 0x00000000 (0)
  Link detected: no

I plug the cable back in:

root@beaglebone:~# ethtool eth0
Settings for eth0:
  Current message level: 0x00000000 (0)
  Link detected: no

FWIW, I've tried waiting and manually fiddling with the interface, but
no luck so far.

Thanks,
Frank

Just so that we're on the same page, I'm using a fresh image of
Angstrom-Cloud9-IDE-eglibc-ipk-v2012.02-core-beaglebone-2012.02.14.img.xz.
The only thing that I've done to it is run:

This is the same version I'm using. Clean image.

opkg install http://www.angstrom-distribution.org/feeds/2011.03/ipk/glibc/armv7a/b

Thanks. I'll test with that as well and report back if I see anything
different from yours.

-- Duane

I’m also seeing this on a A4 board (with R219 removed. I’m using DHCP instead of static assignment). I’ve got an A5 on order which should arrive on Monday. I’ll see if it occurs on that board as well. I’ve tried ifdown/ifup on eth0 and ethtool -r eth0 to restart autonegotation, but neither had any effect.

David

Any further suggestions on resolving this?

Thanks,
Duane

Hi David,

I'm also seeing this on a A4 board (with R219 removed. I'm using DHCP
instead of static assignment). I've got an A5 on order which should arrive
on Monday. I'll see if it occurs on that board as well. I've tried
ifdown/ifup on eth0 and ethtool -r eth0 to restart autonegotation, but
neither had any effect.

Thanks for sending the note that this doesn't work for you either. My
conclusion from other responses is that this is just broken on the
Beaglebone. However, if it does work on the A5 (which would surprise
me), I'll definitely want to know so that I can RMA my A3.

Side-topic: How are the known software issues on the Beaglebone
managed? I know about this list:
http://beagleboard.org/static/beaglebone/latest/README.htm#todo, but
are there any bug trackers that we should be searching/using?

Thanks,
Frank