You are not logged in.
I have configured netctl to use bonding as described in the wiki. Everything works fine, with the exception of one thing: When I unplug my ethernet cable, I am no longer able to reach any device on the LAN that has a wired connection. All wireless devices remain pingable and I am able to use the internet, but I cannot ping any devices that are connected directly to the router through the ethernet interfaces.
What I've tried:
After unplugging ethernet cable restart wpa_supplicant service and restarting failover profile
reloading the bonding driver
deleting and then readding the ARP table entry for the device I'm trying to reach
adding a static route for the device I'm trying to reach
using a different kernel (linux lts)
using a different driver for my NIC
None of the above work.
Ive run wireshark simultaneously on the other device (I've used my raspberry pi and a windows laptop as targets) and my laptop and here is what I've been able to observe. When my laptop is connected to the ethernet, I see the ping requests and replies on both devices. As soon as I unplug the cable from my laptop, the target device continues to receive and send ping requests and replies, but after a few seconds this stops. At this point, a ping from my laptop is hanging waiting for a reply. In wireshark, I can see that my laptop is sending out an ARP request:
"who has $RPI_ADDRESS? Tell $LAPTOP_ADDRESS"
This requests reach my Pi and it promptly sends out an ARP response.
"$RPI_HW_ADDR has $RPI_ADDRESS. Tell $LAPTOP_ADDRESS"
However, these replies never make it back to my laptop. In Wireshark I set a filter to show traffic going to and from my default gateway, so it appears that these replies don't even make it back to my router, but I could be wrong about that since I believe the filter only applies to traffic between my laptop and my gateway.
As the title states, could this be a driver bug or a router problem?
Here are some configs:
wpa_supplicant-wlan0.conf
network={
ssid="myessid"
#psk="mypassphrase"
psk=obfusticated
}
bonding.conf
options bonding mode=active-backup
options bonding miimon=100
options bonding primary=eth0
options bonding max_bonds=0
cat /etc/netctl/failover
Description='A wired connection with failover to wireless'
Interface='bond0'
Connection=bond
BindsToInterfaces=('eth0' 'wlan0')
IP=dhcp
DHCPClient=dhclient
cat /etc/netctl/ethernet-dhcp
Description='A basic dhcp ethernet connection'
Interface=eth0
Connection=ethernet
IP='no'
#ExecUpPost='systemctl stop netctl-auto@wlan0.service || true'
#ExecDownPre='systemctl start netctl-auto@wlan0.service || true'
## for DHCPv6
#IP6=dhcp
## for IPv6 autoconfiguration
#IP6=stateless
cat /etc/netctl/wlan0-wifi
Description='Automatically generated profile by wifi-menu'
Interface=wlan0
Connection=wireless
Security=wpa
ESSID=myessid
IP='no'
dmesg output on disconnect
[ 327.476624] bonding: bond0: link status definitely up for interface eth0, 1000 Mbps full duplex.
[ 327.476632] bonding: bond0: making interface eth0 the new active one.
[ 460.131441] bonding: bond0: link status definitely down for interface eth0, disabling it
[ 460.131450] bonding: bond0: making interface wlan0 the new active one.
[ 479.253233] bonding: bond0: link status definitely up for interface eth0, 1000 Mbps full duplex.
[ 479.253240] bonding: bond0: making interface eth0 the new active one.
I can temporarily enable telnet on my router if anyone would like to some output from that. I appreciate any help. Thank you .
Last edited by cris9288 (2014-01-29 20:58:51)
Offline
Nobody answered but I solved my problem...I had an old netgear router that I found. Setting my modem/router in bridged mode and using my netgear as the actual router solved the issue. I can now reach all local devices regardless of connection type on failover. Boo Actiontec router.
Last edited by cris9288 (2014-01-29 20:57:19)
Offline