I think you're going at this from the wrong direction. XP isn't setting static IPs either - it just has a DHCP client with the correct configuration. So you need to establish what gets set up differently between Linux & Windows, then make sure that your Linux dhcp client (which one are you using) is set up correctly. ime, the only thing I've needed to play with is forcing it to send a hostname to the DHCP server (not likely an issue with a hotspot). I'm pretty sure figuring out why your DHCP client isn't working will be easier than any method of manually setting a static IP (especially one that won't interfere with operation of the hotspot).
What firewall rules in place _before_ getting a DHCP lease? After?
Find out why your client isn't working. Faking it isn't going to be the right solution.
Sniffing may tell you what is going on - but how do you know what static address to choose? What you think might be unused could be idling while the user is getting another cup of coffee or what-ever.
IN THEORY, you can guess what the network range and mask are by noting the range of addresses seen - whether ARP, or DHCP requests, or what-ever. You may or may not get it right.
and runs into the same problem - is the address you guess going to be available or not. When you reboot, one of the things you are doing is telling the DHCP server that you don't need that address any more, and it _could_ be allocated to another.
Find out why your DHCP client isn't working, and fix that. Then you won't need to guess.
What log is that from? Router or PC? PC running what because that's a complete DHCP address allocation? If that's linux then the behaviour is different to the NT OS.
Yes the DHCP server can Nack the DHCP request but the circumstances would be for a wrong subnet request as the most likely candidate at which point the whole DHCP process starts again.
All I was pointing out is that when XP starts, because it already has an address, it issues a DHCPRequest. There's a sublety in that if the machine has not been rebooted and needs to renew the address then it's a directed packet to the DHCPServer requesting the same IP address at 50% and then 87.5% of the lease time. However, if the machine is rebooted, XP still performs a DHCPRequest of the same IP address but this time as an IP broadcast. This is so that if the machine has moved and the subnet is now invalid, any DHCP server can nack the request and then XP moves to a DHCPDiscover.
If the machine has no valid address for the subnet then if it has moved, it cannot inform the original DHCP server that it is releasing the address, it can only obtain a new one from the new location.