Bonding does't work

I’m trying to create a bonding with 2 Wlans (as shown in the WiKi - Manual:Bonding Examples )
I get no ping to the other side
this is what I have
Router-1

/interface bridge
add l2mtu=1526 name=bridge1
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n disabled=no frequency=2457 \
    l2mtu=2290 mode=station-pseudobridge ssid=123456 tx-power=5 tx-power-mode=\
    card-rates wireless-protocol=802.11 wmm-support=enabled
set [ find default-name=wlan2 ] band=2ghz-b/g/n disabled=no frequency=2412 \
    l2mtu=2290 mode=station-pseudobridge ssid=654321 tx-power=5 tx-power-mode=\
    card-rates wireless-protocol=802.11 wmm-support=enabled
/interface eoip
add clamp-tcp-mss=yes mac-address=02:8F:50:48:AA:2C mtu=1500 name=eoip-tunnel1 \
    remote-address=10.0.1.1 tunnel-id=1
add clamp-tcp-mss=yes mac-address=02:95:55:53:96:9C mtu=1500 name=eoip-tunnel2 \
    remote-address=10.0.2.1 tunnel-id=2
/interface bonding
add link-monitoring=none name=bonding1 slaves=eoip-tunnel1,eoip-tunnel2
/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=bonding1
/ip address
add address=192.168.0.1/24 interface=bridge1 network=192.168.0.0
add address=10.1.1.1/24 interface=wlan1 network=10.1.1.0
add address=10.2.2.1/24 interface=wlan2 network=10.2.2.0

Router-2

/interface bridge
add l2mtu=1526 name=bridge1
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n disabled=no frequency=2457 \
    l2mtu=1600 mode=ap-bridge ssid=123456 tdma-period-size=auto tx-power=5 \
    tx-power-mode=card-rates wireless-protocol=802.11 wmm-support=enabled
set [ find default-name=wlan2 ] band=2ghz-b/g/n disabled=no frequency=2412 \
    l2mtu=1600 mode=ap-bridge ssid=654321 tdma-period-size=auto tx-power=5 \
    tx-power-mode=card-rates wireless-protocol=802.11 wmm-support=enabled
/interface eoip
add clamp-tcp-mss=yes mac-address=02:8B:55:7D:A7:27 mtu=1500 name=eoip-tunnel1 \
    remote-address=10.1.1.1 tunnel-id=1
add clamp-tcp-mss=yes mac-address=02:84:D0:56:4A:04 mtu=1500 name=eoip-tunnel2 \
    remote-address=10.2.2.1 tunnel-id=2
/interface bonding
add link-monitoring=none name=bonding1 slaves=eoip-tunnel1,eoip-tunnel2
/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=bonding1
/ip address
add address=192.168.0.2/24 interface=bridge1 network=192.168.0.0
add address=10.0.1.1/24 interface=wlan1 network=10.0.1.0
add address=10.0.2.1/24 interface=wlan1 network=10.0.2.0

Your EOIP tunnels won’t run with the same IP address on both sides of the tunnel; you should change the IP addresses on one router or the other and update the EOIP tunnel settings accordingly.

(So, for example, change the wlan1 and wlan2 IPs on router 2 to be 10.0.1.2/24 and 10.0.2.2/24 respectively, then change the tunnels on router 1 to point to those new IPs).

but on the WiKi they say said to use this address
I have done as they said
so the WiKi is wrong?

http://wiki.ubnt.com/Mikrotik_bonding
this setup worked for me very well

I have done
still doesn’t work
I can see he connect and disconnect the wireless once every 5 seconds

this is what I have on one side

/interface bridge
add l2mtu=1526 name=bridge1
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=\
    10mhz comment="\FA\E7\FA\E5\EF" disabled=no frequency=2462 \
    l2mtu=2290 mode=ap-bridge ssid=654321 tx-power=10 \
    tx-power-mode=card-rates wireless-protocol=802.11 \
    wmm-support=enabled
set [ find default-name=wlan2 ] band=2ghz-b/g/n channel-width=\
    10mhz comment="\F2\EC\E9\E5\EF" disabled=no frequency=2412 \
    l2mtu=2290 mode=ap-bridge ssid=123456 tx-power=12 \
    tx-power-mode=card-rates wireless-protocol=802.11 \
    wmm-support=enabled
/interface bonding
add arp-ip-targets=10.0.0.152 link-monitoring=arp name=bonding1 \
    slaves=wlan1,wlan2 transmit-hash-policy=layer-2-and-3
/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=bonding1
/ip address
add address=10.0.0.140/24 disabled=yes interface=wlan1 network=\
    10.0.0.0
add address=10.0.0.141/24 disabled=yes interface=wlan2 network=\
    10.0.0.0
add address=192.168.0.1/24 disabled=yes interface=bonding1 \
    network=192.168.0.0
add address=10.0.0.142/24 interface=bridge1 network=10.0.0.0
/system identity
set name=R1

this is the other side:

/interface bridge
add l2mtu=1526 name=bridge1
/interface wireless
set [ find default-name=wlan3 ] l2mtu=1600 mode=station-bridge name=\
    "Wlan-\F2\EC\E9\E5\EF" ssid=MikroTik wireless-protocol=unspecified
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=10mhz comment=\
    "\E0\EE\F6\F2\E9" disabled=no frequency=2412 l2mtu=1600 mode=\
    station-pseudobridge name=Wlan1 ssid=123456 tdma-period-size=auto \
    tx-power=12 tx-power-mode=card-rates wireless-protocol=802.11 \
    wmm-support=enabled
set [ find default-name=wlan2 ] band=2ghz-b/g/n channel-width=10mhz comment=\
    "\FA\E7\FA\E5\EF" disabled=no frequency=2462 frequency-mode=superchannel \
    l2mtu=1600 mode=station-pseudobridge name=Wlan2 radio-name="" ssid=654321 \
    tdma-period-size=auto tx-power=14 tx-power-mode=card-rates \
    wireless-protocol=802.11 wmm-support=enabled
/interface bonding
add arp-ip-targets=10.0.0.142 link-monitoring=arp name=bbonding1 slaves=\
    Wlan1,Wlan2 transmit-hash-policy=layer-2-and-3
/system logging action
set 0 memory-lines=100
set 1 disk-lines-per-file=100
/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=bonding1
/ip address
add address=10.0.0.159/24 disabled=yes interface=ether1 network=10.0.0.0
add address=10.0.0.151/24 disabled=yes interface=Wlan2 network=10.0.0.0
add address=10.0.0.150/24 disabled=yes interface=Wlan1 network=10.0.0.0
add address=10.0.0.152/24 interface=bridge1 network=10.0.0.0
/system identity
set name=R2

It looks like I had actually mis-read your original configuration, my apologies.

From the first configuration:

If you look in the routing table of Router-1, you’ll see that it knows how to get to addresses in the 192.168.0.0/24 network (via bridge1 as a DAC route - dynamic, active, connected); it also knows how to get to 10.1.1.0/24 (via wlan1) and 10.2.2.1/24 (via wlan2). When it tries to connect eoip-tunnel1, it looks for 10.0.1.1 and doesn’t find any matching route to that IP (as 10.0.1.1 is not part of 192.168.0.0/24, 10.1.1.0/24, or 10.2.2.0/24) and thus the tunnel fails to connect. The same happens for each of the other tunnels.

In order to fix this, you need to make sure that Router-2’s wireless interfaces have addresses in the same network as the corresponding interface on Router-1, and that the EOIP tunnels are pointing to the correct addresses. So, one valid option would be to change your configuration as follows:

Router-1

/interface eoip
add clamp-tcp-mss=yes mac-address=02:8F:50:48:AA:2C mtu=1500 name=eoip-tunnel1 \
    remote-address=10.1.1.2 tunnel-id=1
add clamp-tcp-mss=yes mac-address=02:95:55:53:96:9C mtu=1500 name=eoip-tunnel2 \
    remote-address=10.2.2.2 tunnel-id=2

/ip address
add address=192.168.0.1/24 interface=bridge1 network=192.168.0.0
add address=10.1.1.1/24 interface=wlan1 network=10.1.1.0
add address=10.2.2.1/24 interface=wlan2 network=10.2.2.0

Router-2

/interface eoip
add clamp-tcp-mss=yes mac-address=02:8B:55:7D:A7:27 mtu=1500 name=eoip-tunnel1 \
    remote-address=10.1.1.1 tunnel-id=1
add clamp-tcp-mss=yes mac-address=02:84:D0:56:4A:04 mtu=1500 name=eoip-tunnel2 \
    remote-address=10.2.2.1 tunnel-id=2

/ip address
add address=192.168.0.2/24 interface=bridge1 network=192.168.0.0
add address=10.1.1.2/24 interface=wlan1 network=10.0.1.0
add address=10.2.2.2/24 interface=wlan1 network=10.0.2.0

Also, the tunnel will prevent the wireless interface from “seeing” traffic inside the bond, so you should set the wireless mode on Router-1 to station – you don’t benefit from the pseudobridge handling here, as the wireless isn’t being bridged directly to another port.


Your second config suffers a slightly different problem; because bridge1, wlan1, and wlan2 are all in the SAME network on both devices, neither device can figure out which interface to send traffic out when it needs to communicate with the other device. Changing IPs so that bridge1, wlan1, and wlan2 on Router-1 and Router-2 are each different IPs on the same network as the corresponding interface of the other router (bridge1 to bridge1, wlan1 to wlan1, and wlan2 to wlan2), but each pair of interfaces has a separate network would get you up and going.

I have done as you said
but again I don’t see any improvement at all
all I can see is that the wlan1 is connected-disconnected, wlan connected -disconnects and then wlan1 again , an so on

when I close the bonding I can see both of the card work fine - every station is connected to it AP

R1

/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=10mh
z disabled=\
    no frequency=2412 l2mtu=2290 mode=ap-bridge radio-name=wlan1 s
sid=wlan1 \
    tx-power=12 tx-power-mode=card-rates wireless-protocol=802.11 
\
    wmm-support=enabled
set [ find default-name=wlan2 ] band=2ghz-b/g/n channel-width=10mh
z disabled=\
    no frequency=2462 l2mtu=2290 mode=ap-bridge radio-name=wlan2 s
sid=wlan2 \
    tx-power=12 tx-power-mode=card-rates wireless-protocol=802.11 
\
    wmm-support=enabled
/interface eoip
add clamp-tcp-mss=yes mac-address=02:D8:45:71:1E:6A mtu=1500 name=
\
    eoip-tunnel1 remote-address=10.10.1.2 tunnel-id=5
add clamp-tcp-mss=yes mac-address=02:54:55:12:27:F8 mtu=1500 name=
\
    eoip-tunnel2 remote-address=10.10.2.2 tunnel-id=7
/interface bonding
add arp-ip-targets=192.168.0.2 link-monitoring=none mode=802.3ad n
ame=\
    bonding1 slaves=wlan1,wlan2
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=3GRouter
/ip hotspot user profile
set [ find default=yes ] idle-timeout=none keepalive-timeout=2m \
    mac-cookie-timeout=3d
/port
set 0 name=serial0
/ip address
add address=10.0.0.142/24 interface=ether1 network=10.0.0.0
add address=192.168.0.1/24 interface=bonding1 network=192.168.0.0
add address=10.10.1.1/24 interface=wlan1 network=10.10.1.0
add address=10.10.2.1/24 interface=wlan2 network=10.10.2.0
/ip upnp
set allow-disable-external-interface=no
/system identity
set name=R1

R2

/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=\
    10mhz disabled=no frequency=2412 l2mtu=1600 mode=\
    station-bridge radio-name=wlan1 ssid=wlan1 \
    tdma-period-size=auto tx-power=13 tx-power-mode=card-rates \
    wireless-protocol=802.11 wmm-support=enabled
set [ find default-name=wlan2 ] band=2ghz-b/g/n channel-width=\
    10mhz disabled=no frequency=2462 l2mtu=1600 mode=\
    station-bridge radio-name=wlan2 ssid=wlan2 \
    tdma-period-size=auto tx-power=12 tx-power-mode=card-rates \
    wireless-protocol=802.11 wmm-support=enabled
set [ find default-name=wlan3 ] band=2ghz-b/g/n channel-width=\
    10mhz frequency=2412 l2mtu=1600 mode=station-pseudobridge \
    radio-name=wlan3 ssid=wlan1 wireless-protocol=802.11
/interface eoip
add clamp-tcp-mss=yes mac-address=02:0A:F2:0A:38:1E mtu=1500 \
    name=eoip-tunnel1 remote-address=10.10.1.1 tunnel-id=5
add clamp-tcp-mss=yes mac-address=02:29:31:07:F8:8F mtu=1500 \
    name=eoip-tunnel2 remote-address=10.10.2.1 tunnel-id=7
/interface bonding
add arp-ip-targets=192.168.0.1 link-monitoring=none mode=\
    802.3ad name=bonding1 slaves=wlan1,wlan2
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=3GRouter
/ip hotspot user profile
set [ find default=yes ] idle-timeout=none keepalive-timeout=2m \
    mac-cookie-timeout=3d
/port
set 0 name=serial0
/ip address
add address=10.0.0.152/24 interface=ether1 network=10.0.0.0
add address=192.168.0.2/24 interface=bonding1 network=\
    192.168.0.0
add address=10.10.1.2/24 interface=wlan1 network=10.10.1.0
add address=10.10.2.2/24 interface=wlan2 network=10.10.2.0
/ip upnp
set allow-disable-external-interface=no
/system identity
set name=R2

I have found my mistake but the data rate is very very low
first I can see there is only traffic in EOIP1 and I get a rate of 1-1.5M
if I cancel the bonding I get a rate of 10M
so what the hell ?
and why is nothing going on EOIP2?
the configuration of the tunnel is good and working , if I close EOIP1 - I will see data traffic
bonding1.PNG

Disable the tunnels and bonding, and then test just wireless to wireless (so, from R1, test first to 10.10.1.2 and then to 10.10.2.2), what kind of throughput are you getting there?

It looks to me like you’ve changed architecture from the beginning; initially your bonding was using the EOIP tunnels but now you’re bonding on the wireless interfaces. So you should either change the bond back to the EOIP tunnels or remove them. If you change the bond back to the EOIP tunnels, you don’t need the wireless cards to be in station-bridge mode; with the tunnels in use, the wireless cards should be in station mode. I would expect the EOIP tunnels + wireless cards in station mode to be better performance than bonding directly with the wireless cards in station-bridge mode.

when I disable them and see wlan1–to–wlan1 ,wlan2–to–waln2
I get rate of ~20Mb (on every one of them - separated of-course )

  • when I enable the bonding with the EOIP tunnel I get less then 4Mb (at max)
  • when I enable the bonding with wlan only I get less then 2Mb

after playing with all kind of options in the bonding - this is the best I got
but isn’t to low? could I get more?

the setting is the same on both sides…
bonding-working1.PNG

I see that you’re basically maxing the over-the-air capacity of wlan2 during that test (the rx rate is settled at 12Mbps).

Is there a reason you’re trying to bond two separate but adjoining 10MHz links, rather than just using one 20MHz link? From a capacity & throughput standpoint, the link would run better with only 1 20MHz link, even with the two 10MHz links being so separated.

Also, are the antennas & radio cards for wlan1 and wlan2 the same? Because if they are, that 20dB difference between the two links suggests to me that you have a radio card or pigtail or LMR problem with wlan2 (read as: there is a potential hardware problem with the wlan2 link, if it’s the same hardware as the wlan1 link).

  1. I’m using 10Mhz BW to lower noise and , I hope you understand what I mean .
    if I use 10Mhz I less exposed to interference then 20Mhz .

  2. the card are the same , and the routers are the same (RB433:V6.10 - r52n-M)

  3. it is possible that I have problem with the antenna on one side - I will change it and see how it will change

  4. where do you think the problem with wlan2 is - on R1 or on R2 ?
    5.how could it be a hardware problem with the card? how can I see and know this is the problem?
    change the card maybe?

Thanks ,

Well, in my experience, signals of 20dB less than they “should be” usually indicate one of the following problems

  • Radio card with a bad amplifier
  • Improperly connected or bad pigtail connection from radio card to LMR
  • Water inside or other damage to LMR cable
  • Antenna with bad nosecone or other physical problem.

Usually we troubleshoot from “inside to out” (start at the radio card and work outward).

Two links at 10MHz can suffer just as much interference as one link at 20MHz. And you’re now getting interference from any standard 20MHz device on channel 2412, 2417, 2422, 2427, 2447, 2452, 2457, or 2462. Whereas if you had just one link operating on channel 1, you’d only be receiving interference from standard 20MHz devices operating on 2412, 2417, 2422, 2427, or 2432. Further, by using a 10MHz link, if the interfering device is a legacy B/G device that doesn’t understand smaller channel widths, the interfering device won’t recognize your link as a valid WiFi signal at all, and will not “wait for clear space” as per the standard WiFi spec. So if you’re receiving interference from 20MHz-only B/G devices, you may actually make it worse by switching to 10MHz channels (unless you can completely avoid them by doing so).

all this I can understand
but if I check using SWR I can see that all the cables and the antennas are good
I get a read of 1.2-1.4 in all 4 of them.

so I guess the problem is in one of the cards
but is there any why to know in which one?
if I get 12M in Rx -how can I know in which side is the problem? the receive side or the transmit ?


Thanks ,

also, don’t use bonding-rr on high-jitter links, like wireless. try bonding-xor (of course, it won’t balance single connection between slaves)