Ethernet connectivity drops periodically
Originator: | craig.hockenberry | ||
Number: | rdar://18444866 | Date Originated: | |
Status: | Open | Resolved: | |
Product: | OS X | Product Version: | 10.10 (14A361c) |
Classification: | Crash/Hang/Data Loss | Reproducible: | Sometimes |
Ethernet interfaces start to timeout for no apparent reason. I cannot determine a specific set of events that can reproduce this behavior, but I notice that it most often happens after waking from sleep. When the problem occurs, all requests on the currently active interface timeout: ==== Myrtle:Warbler craig$ ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 Request timeout for icmp_seq 3 Request timeout for icmp_seq 4 Request timeout for icmp_seq 5 ^C ==== Sometimes, switching the physical cable from en0 to en1 (or vice versa) restores connectivity. Other behavior I've seen is that switching System Preferences > Network > <Interface> > Advanced > Hardware from "Automatic" to "Manual" sometimes causes the hardware to wake up when the changes are applied: ==== Request timeout for icmp_seq 330 Request timeout for icmp_seq 331 Request timeout for icmp_seq 332 Request timeout for icmp_seq 333 Request timeout for icmp_seq 334 Request timeout for icmp_seq 335 Request timeout for icmp_seq 336 ping: sendto: No route to host Request timeout for icmp_seq 337 ping: sendto: No route to host Request timeout for icmp_seq 338 ping: sendto: No route to host Request timeout for icmp_seq 339 ping: sendto: No route to host Request timeout for icmp_seq 340 ping: sendto: No route to host Request timeout for icmp_seq 341 => apply changes in Network panel of System Preferences Request timeout for icmp_seq 342 64 bytes from 192.168.0.1: icmp_seq=343 ttl=64 time=0.721 ms 64 bytes from 192.168.0.1: icmp_seq=344 ttl=64 time=0.731 ms 64 bytes from 192.168.0.1: icmp_seq=345 ttl=64 time=0.637 ms 64 bytes from 192.168.0.1: icmp_seq=346 ttl=64 time=0.642 ms 64 bytes from 192.168.0.1: icmp_seq=347 ttl=64 time=0.689 ms 64 bytes from 192.168.0.1: icmp_seq=348 ttl=64 time=0.730 ms 64 bytes from 192.168.0.1: icmp_seq=349 ttl=64 time=0.723 ms 64 bytes from 192.168.0.1: icmp_seq=350 ttl=64 time=0.673 ms 64 bytes from 192.168.0.1: icmp_seq=351 ttl=64 time=0.621 ms 64 bytes from 192.168.0.1: icmp_seq=352 ttl=64 time=11.755 ms Request timeout for icmp_seq 353 Request timeout for icmp_seq 354 Request timeout for icmp_seq 355 Request timeout for icmp_seq 356 Request timeout for icmp_seq 357 Request timeout for icmp_seq 358 Request timeout for icmp_seq 359 Request timeout for icmp_seq 360 ==== This also shows some consistent behavior: the ping time increases just before the interface goes dead (this machine is a Mac Pro connected to the router with Gigabit Ethernet.) Taking the interface down and back up again does something similar. In this case, the interface remained active until a web page was loaded in my browser (Google Chrome): ==== Myrtle:Warbler craig$ ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 Request timeout for icmp_seq 3 Request timeout for icmp_seq 4 ==> sudo ifconfig en1 down ping: sendto: No route to host Request timeout for icmp_seq 5 ping: sendto: No route to host Request timeout for icmp_seq 6 ping: sendto: No route to host Request timeout for icmp_seq 7 ping: sendto: No route to host Request timeout for icmp_seq 8 ping: sendto: No route to host Request timeout for icmp_seq 9 ping: sendto: No route to host Request timeout for icmp_seq 10 ping: sendto: No route to host Request timeout for icmp_seq 11 ping: sendto: No route to host Request timeout for icmp_seq 12 ping: sendto: No route to host Request timeout for icmp_seq 13 ping: sendto: No route to host Request timeout for icmp_seq 14 ping: sendto: No route to host Request timeout for icmp_seq 15 ping: sendto: No route to host Request timeout for icmp_seq 16 ping: sendto: No route to host Request timeout for icmp_seq 17 ping: sendto: No route to host Request timeout for icmp_seq 18 ==> sudo ifconfig en1 up Request timeout for icmp_seq 19 64 bytes from 192.168.0.1: icmp_seq=20 ttl=64 time=0.596 ms 64 bytes from 192.168.0.1: icmp_seq=21 ttl=64 time=0.656 ms 64 bytes from 192.168.0.1: icmp_seq=22 ttl=64 time=0.722 ms 64 bytes from 192.168.0.1: icmp_seq=23 ttl=64 time=0.594 ms 64 bytes from 192.168.0.1: icmp_seq=24 ttl=64 time=0.714 ms 64 bytes from 192.168.0.1: icmp_seq=25 ttl=64 time=0.674 ms 64 bytes from 192.168.0.1: icmp_seq=26 ttl=64 time=0.751 ms 64 bytes from 192.168.0.1: icmp_seq=27 ttl=64 time=0.702 ms 64 bytes from 192.168.0.1: icmp_seq=28 ttl=64 time=0.741 ms 64 bytes from 192.168.0.1: icmp_seq=29 ttl=64 time=0.662 ms 64 bytes from 192.168.0.1: icmp_seq=30 ttl=64 time=0.677 ms 64 bytes from 192.168.0.1: icmp_seq=31 ttl=64 time=0.632 ms 64 bytes from 192.168.0.1: icmp_seq=32 ttl=64 time=0.702 ms 64 bytes from 192.168.0.1: icmp_seq=33 ttl=64 time=0.613 ms 64 bytes from 192.168.0.1: icmp_seq=34 ttl=64 time=0.750 ms 64 bytes from 192.168.0.1: icmp_seq=35 ttl=64 time=0.656 ms 64 bytes from 192.168.0.1: icmp_seq=36 ttl=64 time=0.752 ms 64 bytes from 192.168.0.1: icmp_seq=37 ttl=64 time=0.717 ms 64 bytes from 192.168.0.1: icmp_seq=38 ttl=64 time=0.722 ms 64 bytes from 192.168.0.1: icmp_seq=39 ttl=64 time=0.730 ms 64 bytes from 192.168.0.1: icmp_seq=40 ttl=64 time=0.707 ms 64 bytes from 192.168.0.1: icmp_seq=41 ttl=64 time=0.711 ms 64 bytes from 192.168.0.1: icmp_seq=42 ttl=64 time=0.763 ms 64 bytes from 192.168.0.1: icmp_seq=43 ttl=64 time=0.821 ms 64 bytes from 192.168.0.1: icmp_seq=44 ttl=64 time=0.670 ms 64 bytes from 192.168.0.1: icmp_seq=45 ttl=64 time=0.648 ms 64 bytes from 192.168.0.1: icmp_seq=46 ttl=64 time=0.748 ms 64 bytes from 192.168.0.1: icmp_seq=47 ttl=64 time=0.747 ms 64 bytes from 192.168.0.1: icmp_seq=48 ttl=64 time=0.817 ms ==> load web page Request timeout for icmp_seq 49 Request timeout for icmp_seq 50 Request timeout for icmp_seq 51 Request timeout for icmp_seq 52 Request timeout for icmp_seq 53 Request timeout for icmp_seq 54 Request timeout for icmp_seq 55 Request timeout for icmp_seq 56 Request timeout for icmp_seq 57 Request timeout for icmp_seq 58 Request timeout for icmp_seq 59 Request timeout for icmp_seq 60 ==== Finally, if I change the interface to use an address supplied by DHCP, I get back a 169.254.132.* self-assigned IP address. More proof that the hardware is wedged. At present, the only way I know to fix this problem is to restart my Mac. For a machine that used to go months between restarts, doing it every day or two is a real disruption to my productivity. Note: I have included a system report and screenshots of my Network settings.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!