Hi,
some thoughts regarding your problem. I debugged that issue with Björn from Leipzig and it turned out that the source of your trouble lies within your firmware configuration. On a client you can have 2 situations (regarding the tunnel): - The batman host generates traffic and sends it through the tunnel. - Other hosts (LAN/OLSR/etc) generate traffic and are routed into the tunnel.
In the later case you have to masquerade the original IP with the gate0 IP otherwise the gateway wont recognize the IP and can't send back the data.
If you don't do so you get something like that (on the gw): kern.err batmand[17436]: Error - got packet from unknown client: 105.61.116.10 (virtual ip 104.61.116.10)
Here the OLSR IP was not masqueraded, therefore the gateway does not recognize the clients IP, drops the packet and the blackhole detection on your batman host kicks the connection as the gateway does not respond.
Your firmware (1.6.10 Kit: 1.6.10-a973) has NAT entries but only for the LAN connected to that device. You should either manipulate the policy routing or extend the NAT for all clients. I guess you are going to choose the first option and as soon as you do so your problem will vanish. :-)
Greetings, Marek