Im probably totally missing the point of your problem, but if you need 10.0.2.* and 10.0.3.* to get traffic between them, oughtn't their netmasks be /16 and not /24 ?
Yes, thats true, it would work, but its not an option for me.
That they both work as 10.0.1.*/24 seems to be consistent to this. (Past this low-level bservation, I'm unfamiliar with the vagaries of "ad-hoc", etc.)
Also true. But it actually has nothing to do with Ad hoc networking I believe, the same would hold for standard ethernet cards connected through a hub.
Made a post where I claim that DHCP solves this problem, and made a question how. My thought is that the DHCP client set the source address to 0.0.0.0 which will make the packet to not be dropped at the IP-stack of the receiver.
My post about DHCP can be found here:
(changed topic so it will be seen by people who know DHCP well)