Let's suppose I connect my Ubuntu Hardy laptop to the wifi provided by a Linksys WRT54GL router. I get an IP address assigned by DHCP. I'd like to announce (via upnp?) a hostname for that IP address, so other computers on the same subnet can find my laptop using the hostname. How is this possible?

I'm interested only in DNS. WINS or NetBIOS doesn't work for me, because most of the machines on the subnet don't speak those protocols.

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

The router does not act as a DNS server in the sense that it holds zone files and DNS records for your internal hosts. The fact that the router knows which hosts are connected to it via it's DHCP client table is not going to help your internal hosts resolve names for other internal hosts. You need an internal name resolution mechanism (DNS or WINS) that all of your internal hosts register with and query.