Most public wifi has client isolation enabled for this reason. Firewall or not, you can't communicate with other clients.