Hi,
With regards to the type of middleware that I am searching for. Well, pub/sub with reliable and unreliable QoS is what we will most likely be using. I don't want to rush into a solution that buries the network in traffic from inter-broker communication, nor do I want to choose a middleware that fails in ad-hoc type networks. In any case, the middleware must hold up against repeated network partitioning and merging.
I'm not aware of any software which was specifically designed to operate over a mesh network (apart from mesh routing daemons of course). Everybody simply uses normal network operations and lets the lower layers handle the magic. Therefore they are all equally "bad" (unless someone can name a positive example) :-). If you are interested in QoS you should make use of the wifi's QoS as Linus suggested.
If we do use B.A.T.M.A.N we will likely be using the layer-2 flavor running on a router with openWRT. So drivers will not be an issue, just router selection.
Ok.
Cheers, Marek