Dumb guess: there's a hub involved and the reply is lost to packet collisions. Otherwise I have to assume that Ubuntu is ignoring the response, possibly because it thinks that is a response for a different system.