I'm not sure about which layer does the actual speed negotiation. I can set the speed manually on my routers, but it can cause problems with other devices.
You might want to ask the same question on a networking/router forum.
This is a quote from a Cisco doc on auto negotiation.
Auto-negotiation is an optional function of the IEEE 802.3u Fast Ethernet standard that enables devices to automatically exchange information over a link about speed and duplex abilities.